Sweave-LaTeX文件:在文本中使用新字体但保留R代码的原始字体

时间:2014-10-24 13:28:42

标签: r fonts latex sweave

使用Sweave我在文件中写了一个小测试文件,如下所示。 由于我想使用不同的字体,我加载包fontspec。 在.pdf输出中,R代码块也显示新字体。

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm]{geometry}
\usepackage{fontspec} % fonts

\begin{document}
\SweaveOpts{concordance=TRUE}

% new font
\fontspec{Cambria}    
Some text. 

% R chunk
<< >>=
x <- 1:10
plot(x)
@

\end{document}

我的问题: 是否可以(可能使用\DefineVerbatimEnvironment{}?)返回R代码块的默认字体,将字体保留为文本的\fontspec{ }

1 个答案:

答案 0 :(得分:1)

这比我预期的要难。我找到了答案here。神奇的线条似乎是\usepackage[noae]{Sweave}

我做了一些更改,因为\usepackage{fontspec}似乎期待pdflatex以外的其他内容。

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm]{geometry}
\usepackage[noae]{Sweave}
\usepackage[light,math]{anttor} % Obvious and ugly roman font. 
\usepackage[T1]{fontenc}

\begin{document}
\SweaveOpts{concordance=TRUE}


% new font
Some text. 


% R chunk
<< >>=
x <- 1:10
plot(x)
@

\end{document}