2013-05-07 5 views
6

R-studioとKnitrを使用してpdfを作成しています。下の例から分かるように、xtable()を使ってうまく動作しますが、latex() - tabelsはすべて左揃えです。私がHmiscのドキュメントを理解しているので、latex()から作成されたテーブルは水平になるように自動的に配置する必要がありますが、私は間違ったことをしているに違いありません。Hmiscパッケージのlatex()から作成されたテーブルは、pdfドキュメントの横に中央に表示されるのではなく、横に並んでいます。

\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年4月3日)

プラットフォーム:x86_64版-W64-MINGW32/x64(64ビット)

+0

'xtable'では利用できない' latex'の機能がありません。 'center'のように見えるのは死んだ議論です。私は調査中です... –

+0

残念ながら、xtable()は表形式のオブジェクトを受け入れません。 –

答えて

5

私が行く時間がありませんHmiscパッケージのlatex.sのコードを使用しますが、私が行うまでは、あなたのチャンクをセンタリング環境に自由に入れてください。最もクリーンな解決策ではありませんが、それは仕事を完了します。

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

これにより、中央揃えのテーブルが作成されます。

+0

これは良いアプローチです。 'Hmisc :: tabulr'のヘルプファイルは、' latex(tabulr()) 'の出力を任意のLaTeXマークアップに囲む方法も示しています。 'tabulr'が生成するオブジェクトは' Hmisc :: latex'が扱うオブジェクトではないことに注意してください。 'tables'パッケージのより単純な' latex'メソッドは、この出力のためのものです。 –

関連する問題