我正在尝试将 pythontex 与 Texmaker 5.0.2(MikTeX 2.9.6637)一起使用。我使用 overleaf.com 提供的示例代码(见下文)。在 overleaf.com 上,示例代码确实可以编译,没有任何问题。当尝试使用 Quick Build(PdfLaTeX + Bib(la)tex + PdfLaTeX(x2) + View Pdf)进行编译时,我收到一条错误消息
Texmaker 消息/日志中的错误消息
This is BibTeX, Version 0.99d (MiKTeX 2.9.6630 64-bit) The top-level
auxiliary file: main.aux I found no \citation commands---while reading file
main.aux I found no \bibdata command---while reading file main.aux I found
no \bibstyle command---while reading file main.aux (There were 3 error
messages)
Process exited with error(s)
我已经添加了 --enable-write18 来获得 -shell-escape
pdflatex -synctex=1 -interaction=nonstopmode --enable-write18 %.tex
编辑:(部分解决方案感谢@UlrikeFischer)我使用工具>>打开终端并输入
pdflatex -shell-escape main
pythontex main
pdflatex -shell-escape main
main.pdf
pdf 文件中的引用有效。但是 texmaker 中不再显示 pdf。
overleaf.com 示例
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[cm]{fullpage}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tgpagella}
\usepackage{tgadventor}
\usepackage{inconsolata}
\usepackage{minted}
\usepackage{pythontex}
\usepackage{multicol}
\usepackage{hyperref}
\title{Using PythonTeX on Overleaf}
\author{Lian Tze Lim}
\date{}
\begin{document}
\maketitle
You need the \texttt{pythontex} package, and you need a custom \texttt{latexmkrc} file, e.g.~from \url{http://mirror.unl.edu/ctan/support/latexmk/example_rcfiles/pythontex-latexmkrc}.
Examples below are taken from \url{https://tug.org/tug2013/slides/Mertz-A_Gentle_Introduction_to_PythonTeX.pdf}
\begin{minted}{latex}
\py{2+2}
\end{minted}
\py{2+2}
\begin{minted}{latex}
Did you know that $2^{65} = \py{2**65}$?
\end{minted}
Did you know that $2^{65} = \py{2**65}$?
\begin{multicols}{2}
\begin{minted}{latex}
\begin{pycode}
lo, hi = 1, 6
print(r"\begin{tabular}{c|c}")
print(r"$m$ & $2^m$ \\ \hline")
for m in range(lo, hi + 1):
print(r"%d & %d \\" % (m, 2**m))
print(r"\end{tabular}")
\end{pycode}
\end{minted}
\begin{pycode}
lo, hi = 1, 6
print(r"\begin{tabular}{c|c}")
print(r"$m$ & $2^m$ \\ \hline")
for m in range(lo, hi + 1):
print(r"%d & %d \\" % (m, 2**m))
print(r"\end{tabular}")
\end{pycode}
\end{multicols}
Simulating interactive sessions:
\begin{pyconsole}
a = 1
b = 1
a+b
\end{pyconsole}
Some discussions above the code snippet above, and then continue\ldots
\begin{pyconsole}
c = a*2 + b
\end{pyconsole}
\end{document}
答案1
我根据@UlrikeFischer 的评论找到了一个解决方案。
这是针对 Texmaker 的解决方案。
首先,进入菜单“用户”>>“用户命令”>>“编辑用户命令”。在这里选择“命令 1”。然后将菜单项重命名为 PyTex(或您喜欢的其他名称)。下面是命令行,单击向导按钮并添加 Pdf Viewer,然后单击“确定”按钮。
现在,我们要做的是将以下命令添加到为您的 pdf 查看器输入的路径前面的命令行中。
pdflatex -shell-escape %.tex|pythontex %.tex|pdflatex -shell-escape %.tex|
最后,您可以使用此功能来构建文档。要运行此功能,您需要转到用户 >> 用户命令 >> PyTex(或您输入的内容)。您还可以使用快捷方式。