Learn R Programming

sfsmisc (version 1.0-15)

mat2tex: Produce LaTeX commands to print a matrix

Description

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

Usage

mat2tex(x, file= "mat.tex", 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
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

Value

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

See Also

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

Examples

Run this code
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, title="$\\pi, e$, etc." )
## The last command produces the file "mat.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"))

Run the code above in your browser using DataLab