str_wrap: Wrap words into nicely formatted paragraphs

View source: R/wrap.R

str_wrapR Documentation

Wrap words into nicely formatted paragraphs

Description

Wrap words into paragraphs, minimizing the "raggedness" of the lines (i.e. the variation in length line) using the Knuth-Plass algorithm.

Usage

str_wrap(string, width = 80, indent = 0, exdent = 0, whitespace_only = TRUE)

Arguments

string

Input vector. Either a character vector, or something coercible to one.

width

Positive integer giving target line width (in number of characters). A width less than or equal to 1 will put each word on its own line.

indent, exdent

A non-negative integer giving the indent for the first line (indent) and all subsequent lines (exdent).

whitespace_only

A boolean.

  • If TRUE (the default) wrapping will only occur at whitespace.

  • If FALSE, can break on any non-word character (e.g. /, -).

Value

A character vector the same length as string.

See Also

stringi::stri_wrap() for the underlying implementation.

Examples

thanks_path <- file.path(R.home("doc"), "THANKS")
thanks <- str_c(readLines(thanks_path), collapse = "\n")
thanks <- word(thanks, 1, 3, fixed("\n\n"))
cat(str_wrap(thanks), "\n")
cat(str_wrap(thanks, width = 40), "\n")
cat(str_wrap(thanks, width = 60, indent = 2), "\n")
cat(str_wrap(thanks, width = 60, exdent = 2), "\n")
cat(str_wrap(thanks, width = 0, exdent = 2), "\n")

tidyverse/stringr documentation built on Nov. 20, 2023, 5:16 p.m.