splitString <- function(text) { strings <- strsplit(text, " ")[[1]] newstring <- strings[1] linewidth <- stringWidth(newstring) gapwidth <- stringWidth(" ") availwidth <- convertWidth(unit(1, "npc"), "inches", valueOnly=TRUE) for (i in 2:length(strings)) { width <- stringWidth(strings[i]) if (convertWidth(linewidth + gapwidth + width, "inches", valueOnly=TRUE) < availwidth) { sep <- " " linewidth <- linewidth + gapwidth + width } else { sep <- "\n" linewidth <- width } newstring <- paste(newstring, strings[i], sep=sep) } newstring }