我有两个 Latex 文件用于我创建的每周文档。template.tex
包含大量每周都会更改的变量列表:
\newcommand{\var}{foo}
\newcommand{\othervar}{bar}
然后template.tex
导入document.tex
实际的文档,其中每个变量都在正确的位置。
我想用 Python 来更新它。目前我有一个 Python 脚本,它可以在 Google Docs 电子表格中找到适当的变量并将它们保存为 toml 文件。我希望 Latex 读取该 toml(或 json 或 yaml,格式对我来说无关紧要),然后根据它分配这些变量的值。
答案1
例如,空格分隔的值比 JSON 更容易解析
来自文本文件vars.txt
var foo
othervar bar
zzz 42
和一个 tex 文件
\documentclass{article}
\newread\varsfile
\def\assignvar#1 #2\relax{\expandafter\gdef\csname #1\endcsname{#2}}
\openin\varsfile=vars.txt
{\endlinechar=-1
\loop
\ifeof\varsfile\else
\read\varsfile to \tmp
\ifx\tmp\empty\else
\expandafter\assignvar\tmp\relax
\fi
\repeat
}
\closein\varsfile
\begin{document}
var is \var\ and zzz is \zzz, othevar is \othervar.
\end{document}