是否可以包含从 .Rnw 编译的 .TeX 文件?

是否可以包含从 .Rnw 编译的 .TeX 文件?

我有一个具有这种结构的文档:main.TeX其中(理想情况下)包括用...bodytext.TeX编译knitrbodytext.Rnw

我说理想情况是因为显然事情没那么简单。我注意到knitr在已编译的 的序言中添加了行.TeX。然后就我的情况而言,当.TeX(没有序言) 包含到另一个文档中时,编译main.TeX将导致各种错误。

是否有可能包含.TeX从那时开始编译的内容.Rnw

答案1

您可以将 设为main.texmain.Rnw然后您将能够正确地包含include.Rnw

main.Rnw

% !Rnw weave = knitr
% !TeX program = pdfLaTeX

\documentclass[final,12pt]{article}

\usepackage[a4paper]{geometry}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

<<include=FALSE>>=
  opts_chunk$set(fig.width=8, fig.height=4, fig.pos='htb', out.width='\\textwidth')
@

\begin{document}
<<child-demo, child='include.Rnw'>>=
@
\end{document}

include.Rnw

% !TeX root = main.Rnw
% !Rnw weave = knitr
% !TeX program = pdfLaTeX

Let's plot the spectrum of $Na$:

<<'na', dev='tikz', fig.cap='Spectrum of $Na$', echo=FALSE>>=
  plot(c(1:10))
@

或者,您可以手动knit选择所需Rnw没有有前言,但随后您需要在 中包含其他生成的行main.tex。我不建议这样做。

相关内容