gpt4 book ai didi

python - 如何从 python 调用 MiKTeX 生成 pdf?

转载 作者:行者123 更新时间:2023-12-01 05:02:12 24 4
gpt4 key购买 nike

我有一个 Python 程序,可以生成适合使用 MiKTeX 排版的纯文本 LaTeX 标记。如何让排版源文件的过程成为Python程序的一部分?到目前为止,我唯一想到的是 subprocess.call(['C:\\Program Files\\MikTeX\\miktex\\bin\\miktex-texworks.exe']) 打开排版界面。归根结底,我想要一个 Python 程序,它基本上可以输出一个 pdf 文件(我需要 LaTeX 来编写方程。)

最佳答案

您想要调用 latex 程序,并提供文件名和所需的输出文件名:

import subprocess

def create_pdf(input_filename, output_filename):
process = subprocess.Popen([
'latex', # Or maybe 'C:\\Program Files\\MikTex\\miktex\\bin\\latex.exe
'-output-format=pdf',
'-job-name=' + output_filename,
input_filename])
process.wait()

因此,如果我执行 create_pdf("my_input_file.tex", "my_output_file.pdf"),这将导致 Windows 在命令行上运行以下命令:

latex -output-format=pdf -job-name=my_output_file.pdf my_input_file.tex

...然后等待 LaTeX 完成,然后再从函数返回。请注意,我们没有调用 texworks.exe,它本质上是一个文本编辑器 - 我们直接调用 latex.exe,它是转换 tex 文件的实际程序。

只要 input_file.tex 与 Python 脚本存在于同一文件夹中,您就应该获得输出 pdf。如果您不想制作额外的文本文件,您可以将生成的字符串通过管道传输到 Latex 程序中,尽管您必须对 Latex 和子进程的工作原理进行更多研究,看看这是否可行。

关于python - 如何从 python 调用 MiKTeX 生成 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25830237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com