I think what you're looking for is 'strwrap', it's in package base. On Tue, Sep 28, 2021, 22:26 Leonard Mada via R-help <r-help@r-project.org> wrote:
> Dear R-Users, > > > Does anyone know any package or library that implements functions for > word wrapping? > > > I did implement a very rudimentary one (Github link below), but would > like to avoid to reinvent the wheel. Considering that word-wrapping is a > very common task, it should be available even in base R (e.g. in a > "format" module/package). > > > Sincerely, > > > Leonard > > ======= > > The latest versions of the functions are on Github: > > https://github.com/discoleo/R/blob/master/Stat/Tools.CRAN.R > # Note: > # - the function implementing word wrapping: split.N.line(...); > # - for the example below: the functions defined in Tools.CRAN.R are > required; > > > Examples: > ### Search CRAN > library(pkgsearch) > > searchCran = function(s, from=1, len=60, len.print=20, extend="*", > sep=" ", sep.h="-") { > if( ! is.null(extend)) s = paste0(s, extend); > x = advanced_search(s, size=len, from=from); > if(length(x$package_data) == 0) { > cat("No packages found!", sep="\n"); > } else { > scroll.pkg(x, len=len.print, sep=sep, sep.h=sep.h); > } > invisible(x) > } > > # with nice formatting & printing: > x = searchCran("text", from=60, sep.h="-") > > scroll.pkg(x, start=20, len=21, sep.h = "-*") > # test of sep.h=NULL vs ... > > > Notes: > > 1.) split.N.line: > > - was implemented to output a pre-specified number of lines (kind of > "maxLines"), but this is not required from an actual word-wrapper; > > - it was an initial design decision when implementing the format.lines() > function; but I plan to implement a 1-pass exact algorithm during the > next few days anyway; > > 2.) Refactoring > > - I will also move the formatting code to a new file: probably > Tools.Formatting.R; > > - the same applies for the formatting code for ftable (currently in file > Tools.Data.R); > > 3.) Package gridtext > > - seems to have some word-wrapping functionality, but does not seem to > expose it; > > - I am also currently focused on character-based word wrapping (e.g. for > RConsole); > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.