mat2tex function

Produce LaTeX commands to print a matrix

Produce LaTeX commands to print a matrix

Translate an matrix (like object) into a LaTeX table, using \begin{tabular} ....

mat2tex(x, file= "mat.tex", envir = "tabular", nam.center = "l", col.center = "c", append = TRUE, digits = 3, title)

Arguments

  • x: a matrix
  • file: names the file to which LaTeX commands should be written
  • envir: a string, the LaTeX environment name; default is "tabular"; useful maybe "array", or other versions of tabular environments.
  • nam.center: character specifying row names should be center; default "l".
  • col.center: character (vector) specifying how the columns should be centered; must have values from c("l","c","r"); defaults to "c".
  • append: logical; if FALSE, will destroy the file file before writing commands to it; otherwise (by default), simply adds commands at the end of file file.
  • digits: integer; setting of options(digits=..) for purpose of number representation.
  • title: a string, possibly using LaTeX commands, which will span the columns of the LaTeX matrix

Returns

No value is returned. This function, when used correctly, only writes LaTeX commands to a file.

Author(s)

For S: Vincent Carey vjcarey@sphunix.sph.jhu.edu , from a post on Feb.19, 1991 to S-news. Port to (and a bit more) by Martin Maechler maechler@stat.math.ethz.ch .

See Also

latex in package list("Hmisc") is more flexible (but may surprise by its auto-printing ..).

Examples

mex <- matrix(c(pi,pi/2,pi/4,exp(1),exp(2),exp(3)),nrow=2, byrow=TRUE, dimnames = list(c("$\\pi$","$e$"), c("a","b","c"))) mat2tex(mex, file = print(tf <- tempfile("mat", , ".tex")), title="$\\pi, e$, etc." ) ## The last command produces the file "mat<xyz>.tex" containing ##> \begin{tabular} {| l|| c| c| c|} ##> \multicolumn{ 4 }{c}{ $\pi, e$, etc. } \\ \hline ##> \ & a & b & c \\ \hline \hline ##> $\pi$ & 3.14 & 1.57 & 0.785 \\ \hline ##> $e$ & 2.72 & 7.39 & 20.1 \\ \hline ##> \end{tabular} ## Now you have to properly embed the contents of this file ## in a LaTeX document -- for example, you will need a ## preamble, the \begin{document} statement, etc. ## Note that the backslash needs protection in dimnames ## or title actions. mat2tex(mex, stdout(), col.center = c("r","r","c"))
  • Maintainer: Martin Maechler
  • License: GPL (>= 2)
  • Last published: 2024-11-05