R: Translate non-ASCII Text to LaTeX Escapes

encoded_text_to_latex {tools} | R Documentation

## Translate non-ASCII Text to LaTeX Escapes

### Description

Translate non-ASCII characters in text to LaTeX escape sequences.

### Usage

    encoded_text_to_latex(x,
                          encoding = c("latin1", "latin2", "latin9",
                                       "UTF-8", "utf8"))

### Arguments

`x` | a character vector.
`encoding` | the encoding to be assumed. `"latin9"` is officially ISO-8859-15 or Latin-9, but known as latin9 to LaTeX's `inputenc` package.

### Details

Non-ASCII characters in `x` are replaced by an appropriate LaTeX escape sequence, or ? if there is no appropriate sequence.

Even if there is an appropriate sequence, it may not be supported by the font in use. Hyphen is mapped to \-.

### Value

A character vector of the same length as `x`.

### See Also

`iconv`

### Examples

    x <- "fa\xE7ile"
    encoded_text_to_latex(x, "latin1")
    ## Not run:
    ## create a tex file to show the upper half of 8-bit charsets
    x <- rawToChar(as.raw(160:255), multiple = TRUE)
    (x <- matrix(x, ncol = 16, byrow = TRUE))
    xx <- x
    xx[] <- encoded_text_to_latex(x, "latin1") # or latin2 or latin9
    xx <- apply(xx, 1, paste, collapse = "&")
    con <- file("test-encoding.tex", "w")
    header <- c(
    "\\documentclass{article}",
    "\\usepackage[T1]{fontenc}",
    "\\usepackage{Rd}",
    "\\begin{document}",
    "\\HeaderA{test}{}{test}",
    "\\begin{Details}\relax",
    "\\Tabular{cccccccccccccccc}{")
    trailer <- c("}", "\\end{Details}", "\\end{document}")
    writeLines(header, con)
    writeLines(paste0(xx, "\\"), con)
    writeLines(trailer, con)
    close(con)
    ## and some UTF_8 chars
    x <- intToUtf8(as.integer(
        c(160:383,0x0192,0x02C6,0x02C7,0x02CA,0x02D8,
          0x02D9, 0x02DD, 0x200C, 0x2018, 0x2019, 0x201C,
          0x201D, 0x2020, 0x2022, 0x2026, 0x20AC)),
                   multiple = TRUE)
    x <- matrix(x, ncol = 16, byrow = TRUE)
    xx <- x
    xx[] <- encoded_text_to_latex(x, "UTF-8")
    xx <- apply(xx, 1, paste, collapse = "&")
    con <- file("test-utf8.tex", "w")
    writeLines(header, con)
    writeLines(paste(xx, "\\", sep = ""), con)
    writeLines(trailer, con)
    close(con)

    ## End(Not run)

[Package tools version 4.0.5 Index]