2013-11-20 137 views
4

我想通過LaTeX對 代碼塊和R輸出使用的字體大小和行距進行更多控制。使用默認render_latex(),我看我可以 集在全球使用(在我premable)knitr chunk選項來控制行間距,輸出中的字體大小

\renewenvironment{knitrout}{\small\renewcommand{\baselinestretch}{.85}}{} 
... 
\begin{document} 

但是,說有塊我想在\ footnotesize打印,或在其他一些 定製辦法。我知道我可以用膠乳組做到這一點,但不能與knitrout環境:

{\small 
\renewcommand{\baselinestretch}{.85} 
<<arth-csv, eval=FALSE, results='asis'>>= 
ID,Treatment,Sex,Age,Improved 
57,Treated,Male,27,Some 
46,Treated,Male,29,None 
... 
71,Placebo,Female,68,Some 
1,Placebo,Female,74,Marked 
@ 
} 

會是更容易做到這一點使用render_listings()和上市包裝?

我可以使用自定義塊選項和塊掛鉤來實現更好的控制嗎?

回答

3

爲了部分回答我自己的問題,我發現了編織物size=塊選項,它的工作原理AFAIK只與 render_latex()和高亮包。因此,對於一個寬輸出到腳註大小來設置,我可以使用

<<tv3, size="footnotesize">>= 
TV <- TV[,,1:3,]  # keep only ABC, CBS, NBC 
TV <- TV[,,,3]  # keep only Persist -- now a 3 way table 
structable(TV) 
@ 

另外,我與results='asis'上面使用的例子應該已經只是用verbatim乳膠環境中完成, 不如代碼塊。儘管我已經使用eval=FALSE,但knitr試圖解析文本並生成警告。

{\footnotesize 
\renewcommand{\baselinestretch}{.85} 
\begin{verbatim} 
ID,Treatment,Sex,Age,Improved 
57,Treated,Male,27,Some 
46,Treated,Male,29,None 
... 
71,Placebo,Female,68,Some 
1,Placebo,Female,74,Marked 
\end{verbatim} 
} 
+0

set'tidy = FALSE,highlight = FALSE'且knitr將不再解析代碼 –