使用 pythontex 的 TeXmaker (MikTeX)

使用 pythontex 的 TeXmaker (MikTeX)

我正在尝试将 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(或您输入的内容)。您还可以使用快捷方式。

相关内容