mat2tex               package:sfsmisc               R Documentation

_P_r_o_d_u_c_e _L_a_T_e_X _c_o_m_m_a_n_d_s _t_o _p_r_i_n_t _a _m_a_t_r_i_x

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

       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

_V_a_l_u_e:

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

_A_u_t_h_o_r(_s):

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

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     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"))

