6

使用 R-studio 和 Knitr 创建 pdf 我无法将表格水平居中。从下面的示例中可以看出,使用 xtable() 可以正常工作,但是 latex() 表都是左对齐的。据我了解 Hmisc 文档,从 latex() 创建的表应该自动水平居中,但我一定做错了什么。

\documentclass{article}

\begin{document}

<<>>=
library(Hmisc)
library(tables)
library(xtable)
@


The tables are all left-aligned:
<<results='asis'>>=
latex(    tabular( (Species + 1) ~ (n=1) + Format(digits=2)*(Sepal.Length + Sepal.Width)*(mean + sd), data=iris )  )
@

<<results='asis'>>=
latex(    tabular( (Species + 1) ~ (n=1) + Format(digits=2)*(Sepal.Length + Sepal.Width)*(mean + sd), data=iris ),center="center"   )
@

<<results='asis'>>=
latex(    tabular( (Species + 1) ~ (n=1) + Format(digits=2)*(Sepal.Length + Sepal.Width)*(mean + sd), data=iris ),center="centering"   )
@


I have tried to use the fig.align option, but it does not do it:
<<results='asis',fig.align='center'>>=
latex(    tabular(   (Species + 1) ~ (n=1) + Format(digits=2)*(Sepal.Length + Sepal.Width)*(mean + sd), data=iris      )    )
@


with xtable it automatically centers:
<<results='asis'>>=
xtable(table(Puromycin$conc, Puromycin$state))
@

\end{document}

R 版本 3.0.0 (2013-04-03)

平台:x86_64-w64-mingw32/x64(64位)

4

1 回答 1

5

我没有时间浏览包中的代码latex.sHmisc但在我这样做之前,请随意将您的块包装到居中环境中。不是最干净的解决方案,但它可以完成工作。

\begin{centering}
  <<results='asis'>>=
  latex(tabular((Species + 1) ~ (n=1) + Format(digits=2)*(Sepal.Length + Sepal.Width)*(mean + sd), data=iris ))
@
\end{centering}

这将产生一个居中的表格。

于 2013-05-07T09:06:58.627 回答