如何从 .t​​xt 文件导入一个句子并保留该段落其余部分的字体特征?

如何从 .t​​xt 文件导入一个句子并保留该段落其余部分的字体特征?

我有来自 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}

在此处输入图片描述

相关内容