![](/img/trans.png)
[英]Using sphinx/miktex to generate pdf files that displays UTF8 Japanese (CJK) text in windows
[英]How to generate pdf with call to MiKTeX from python?
我有一個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和子流程的工作方式進行更多研究,以查看這是否可行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.