变量放入 TEX 文档中吗?

变量放入 TEX 文档中吗?

我正在尝试将 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}

相关内容