我正在尝试将 STATA 宏或 R 变量放入 Latex。使用 R markdown 相对简单,但我希望使用纯 TeX 解决方案。例如,我有一个文档,内容是
我们的模型预测外星人将吃掉 [x] 个汉堡包。
以及一个 STATA do 文件或一个 R 文件,内容如下
x <- 10000
或者
local x 10000
我如何让 latex 能够在每次获得新数据时更新该数字?对于图形来说,这相对简单,因为我可以导入带有图形的代码块,但对于数字呢?
如果这个问题已经被问过,请原谅——我尝试搜索但没有成功,可能是因为我不知道要使用正确的术语和搜索词。
感谢您的帮助!
答案1
您可以将该数字写入文件,例如,alien_hamburgers.txt
然后通过以下方式将该文件读入宏中catchfile
然后\CatchFileDef{\alienhamburgers}{alien_hamburgers.txt}{}
您可以在 (La)TeX 文件中使用它:
Our model predicts \alienhamburgers{} number of hamburgers will be consumed by aliens.
另一个选择是将 TeX 作业写入专门来自 R 的文件中,因此alien_hamburgers.tex
将包含
\newcommand{\alienhamburgers}{10000}
您可以\input{alien_hamburgers}
在序言部分查看。这样您就可以\alienhamburgers
在文档中查看。
答案2
您可以在同一个 LaTeX 文件中包括 R 代码来获取变量,而无需辅助文件,就像在 Rmarkdown 中一样简单。您只需要在 Rstudio(或在 Overleaf)中将.tex
扩展名更改为,以便编辑器知道它必须先由 R 处理,然后由 latex 引擎编译为 PDF。MWE:.Rnw
.Rtex
\documentclass{article}
\begin{document}
<<data,echo=F>>=
x <-mean(c(500,1500))
@
Our model predicts \Sexpr{x} hamburgers will be consumed by aliens.
\end{document}