You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python脚本调用pdflatex批量编译带变量的TeX文件

用Python自动化批量编译TeX文件:传递变量给pdflatex

需求说明

  • 定义两个Python变量:
name = "HELLO"
filename = "demo.tex"
  • 需要通过Python执行这条shell命令,实现批量TeX文件编译:
pdflatex "\def\name{HELLO} \input demo.tex"
  • 配套的demo.tex内容如下:
% demo.tex
\documentclass{article}
\begin{document}
\name
\end{document}

初始代码的问题

使用subprocess.run编写的初始脚本无法完成变量替换,{name}和{filename}没有被替换为对应的值:

import subprocess
name = "HELLO"
filename = "demo.tex"
subprocess.run(["pdflatex", "\\def\\name{{name}} \input {filename}"])

修正后的代码

经@Klaus D.提示,正确的写法如下,通过f-string拆分参数实现变量替换:

import subprocess
name = "HELLO"
filename = "demo.tex"
subprocess.run(["pdflatex", "\\def\\name{", f"{name}", "}", f"\\input {filename}"])

内容的提问来源于stack exchange,提问作者Stephen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:37:04