生成TeX / LaTeX文件并在Python中编译

时间:2015-02-14 16:16:01

标签: python latex tex pdflatex

我正在准备一个数据处理代码,这些代码的结果将被提供给TeX / LaTeX文件,并且该文件将由Python编译(即Python应该发送命令来编译TeX / LaTeX文件)< / p>

目前我计划使用TeX / LaTeX的必要语法生成一个文本文件(扩展名为.tex),然后使用os.system调用外部系统命令。有没有更简单的方法或模块可以做到这一点?

3 个答案:

答案 0 :(得分:4)

不存在这样的Python模块,但您可以尝试生成带有扩展名为.tex的文本文件所需语法的文本文件,并通过使用Python运行系统命令进行编译:

import os
os.system("pdflatex filename")

答案 1 :(得分:1)

You could use PyLaTeX for this. This is exactly one of the things that it is meant to be used for. https://github.com/JelteF/PyLaTeX

答案 2 :(得分:0)

确保您已在系统中安装 Perl MikTeX (适用于latexmkpdflatex编译器支持)。

如果没有,您可以从https://www.perl.org/get.html

下载 Perl 来自https://miktex.org/download

MikTeX

另外,请不要忘记检查http://mg.readthedocs.io/latexmk.html#installation,因为它很好地指导了Latex编译器。

我有document.tex以下内容。

\documentclass{article}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{lastpage}%
%
%
%
\begin{document}%
\normalsize%
\section{A section}%
\label{sec:A section}%
Some regular text and some %
\textit{italic text. }%
\subsection{A subsection}%
\label{subsec:A subsection}%
Also some crazy characters: \$\&\#\{\}

%
\end{document}

最后创建任何python文件并粘贴以下任何一个代码并运行。

第一路

# 1st way
import os

tex_file_name = "document.tex";
os.system("latexmk " + tex_file_name + " -pdf");

第二路

# 2nd way
import os

tex_file_name = "document.tex";
os.system("pdflatex " + tex_file_name);

要编译复杂的latex文件,您需要查找使用latexmkpdflatex命令传递的额外选项。

感谢。