我有来自 R 脚本的数字,我想将其包含在我正在用 LaTeX 输入的报告中。数字太多了,我担心会打错字,而且我也不想一遍又一遍地复制/粘贴。
一遍又一遍地做某件事?这听起来像是计算机的工作!
我发现保存图表并将其包含在 LaTeX 文件中很容易,我想我应该能够对句子做同样的事情。我的想法是让 R 将我的句子打印到 .txt 文件中,然后我将调用一些命令来导入逐字文本。句子将包含数字,我将用美元符号格式化它们,使它们看起来像数学。一个例句可能是:
“我们发现预计温度将上升$8.6 ^{\circ}C$。”
我会使用 R 来计算然后打印出 8.6,我知道如何去做。
我发现这个帖子这几乎解决了我的问题,但我希望导入的句子具有与段落中其余文本相同的字体特征,而链接的材料并不能解决这个问题。
答案1
该readarray
包具有\readdef
,它可以将文件的内容读入\def
。
\begin{filecontents*}[overwrite]{mydata.txt}
8.6
\end{filecontents*}
\documentclass{article}
\usepackage{readarray}
\readarraysepchar{}
\begin{document}
\readdef{mydata.txt}\mydata
We found the predicted rise in temperature to be
$\mydata^{\circ}$C.
\end{document}
补充
在这里,我向 OP 展示了如何处理多个输入文件或单个输入文件中的多个数据。如果每行只给出一个数据,则\readrecordarray
可以使用。否则,可以使用从文件中读取完整的二维(甚至三维)数组数据\readarray
,并了解适当的字段分隔符。
使用 2021-09-17 版本的 编译readarray
,位于https://ctan.org/tex-archive/macros/latex/contrib/readarray
\begin{filecontents*}[overwrite]{mydata1.txt}
8.6
\end{filecontents*}
\begin{filecontents*}[overwrite]{mydata2.txt}
3.5
\end{filecontents*}
\begin{filecontents*}[overwrite]{mydata3.txt}
8.6, 10.3
3.5, 5.4
\end{filecontents*}
\begin{filecontents*}[overwrite]{mydata4.txt}
8.6
3.5
\end{filecontents*}
\documentclass{article}
\usepackage{readarray}[2021-09-17]
\begin{document}
\readdef{mydata1.txt}\mydataA
We found the predicted rise in temperature to be
$\mydataA^{\circ}$C.
\readdef{mydata2.txt}\mydataB
We found the predicted rise in temperature to be
$\mydataB^{\circ}$C.
\readarraysepchar{,}
\readdef{mydata3.txt}\mydataC
\readarray*\mydataC\arrayC[-,2]
Test 1 ranged from $\arrayC[1,1]$--$\arrayC[1,2]^{\circ}$C.
Test 2 ranged from $\arrayC[2,1]$--$\arrayC[2,2]^{\circ}$C.
\readrecordarray{mydata4.txt}\arrayD
Tests ranged from \arrayD[1] to \arrayD[2].
\end{document}