2013-05-07 15 views
6

'da pratiğe odaklanmak yerine hokey ile sola hizalı şekilde yerleştirilmiştir. Bir pdf oluşturmak için R-studio ve Knitr kullanımı tabloları homurdayarak merkezden alamıyorum. Aşağıdaki örnekte görüldüğü gibi, xtable() kullanarak iyi çalışır, ancak lateks() - tabellerin hepsi sola hizalanır. Hmisc belgelerini anladığım gibi, lateks() 'den oluşturulan tablolar otomatik olarak homurdanacak şekilde merkezlenmeli, ancak yanlış bir şey yapmalıyım.Hmisc-paketinden lateks() 'den oluşturulan tablolar, pdf-document

\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 versiyonu 3.0.0 (2013-04-03)

Platformu: x86_64-w64-mingw32/x64 (64-bit)

+0

'xtable'da bulunmayan' lateks'lerin hangi özellikleri eksik? 'Merkez' bir ölü argüman gibi görünüyor. Araştırıyorum ... –

+0

xtable(), maalesef tablo nesnelerini kabul etmiyor. –

cevap

5

Gidecek zamanım yok Hmisc paketinin latex.s kodundaki kodu kullanarak, ancak siz ben olunca, parçalarınızı orta çevreye sarmaktan çekinmeyin. En temiz çözüm değil, ama işi halleder.

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

Bu, ortalanmış bir tablo oluşturur.

+0

Bu iyi bir yaklaşım. Hmisc :: tabulr' için yardım dosyası da latt (tabulr()) 'çıkışını keyfi LaTeX biçimlendirmesinde nasıl kapatacağını gösterir. 'Tabulr' tarafından üretilen nesnenin, Hmisc :: lateks'in ele alınması gereken bir nesne olmadığını unutmayın. 'Tables' paketindeki daha basit' lateks 'yöntemi bu çıktıya yöneliktir. –