![文本中的数字,无需手动更新外部文件的值?](https://linux22.com/image/241914/%E6%96%87%E6%9C%AC%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%97%EF%BC%8C%E6%97%A0%E9%9C%80%E6%89%8B%E5%8A%A8%E6%9B%B4%E6%96%B0%E5%A4%96%E9%83%A8%E6%96%87%E4%BB%B6%E7%9A%84%E5%80%BC%EF%BC%9F.png)
我正在写一篇论文,讨论模拟的数值结果。我仍在调整这些模拟本身,因此结果会不断发生细微变化。我不想手动将我一直以来计算的数字重新输入到 LaTeX 文档中。
我目前正在使用 python 来提取结果并将其吐出 LaTeX 格式的文件,然后将其\include
'd(tabular
基本上是带有数字的 s ),但这种方法不是很灵活 - 特别是,我无法在运行的文本中引用这些数字。
是否有一种打包的方法,可以得到带有行的文本文件name value
,然后在 LaTeX 中引用value
使用\name
,或者类似的东西?
答案1
告诉你的 Python 脚本写入行
\def\name{value}%
而不是简单地
name value
到要\input{}
编辑的数据文件。然后,\name
主文档将扩展到当前的value
。但是,使用这种方法,控制序列name
可能只包含字母。对于一般的 cs 名称,例如字母与数字和特殊字符混合,例如name_1
,
\expandafter\def\csname name_1\endcsname{value}%
必须写入数据文件。
\csname name_1\endcsname
然后扩展到它的值,无论您将其放置在主文档中的什么位置。
不要忘记用 来终止数据行%
。这可以避免在最终的 LaTeX 输出中出现虚假空格。