mylatexformat 和 pythontex

mylatexformat 和 pythontex

我用mylatexformat它来轻松创建格式文件。考虑以下文件:

\documentclass{article}
% This is file t.tex
\usepackage{pythontex}
\begin{document}
Test
\end{document}

然后,我跑去pdflatex -ini -jobname="myfmt" "&pdflatex" mylatexformat.ltx """t.tex"""myfmt.fmt

现在,我有另一个文件:

%&myfmt
\documentclass{NoMatterItIsNotReadAnyway}
% This is s.tex
\begin{document}
\begin{pygments}{python}
def foo():
    return 'bar'
\end{pygments}
\end{document}

当我编译它时,格式myfmt.fmt被加载,并且pythontex预加载。生成一个pdf文件:编译正常。然后,我运行pythontex s.tex:没有警告。然后,我再次编译s.tex。不幸的是,python 代码没有显示在pdf文件中。我得到的只是?? PythonTeX ??

告诉log

Package PythonTeX Warning: Non-existent Pygments content on input line 8.

并且

No file pythontex-files-myfmt/myfmt.pytxmcr

因此,我猜测在创建格式时会定义一些“硬编码”的文件名和目录名。

是否有一种解决方法,以便我可以使用我在此处展示mylatexformatpythontex方法?

答案1

我找到了一种解决方法etoolbox \AtEndPreamble(由于某种原因,简单的方法\AtBeginDocument不起作用,生成一个名为的文件@codefile=s.pytxcode)。

\documentclass{article}
% This is file t.tex
\usepackage{etoolbox}
\AtEndPreamble{\usepackage{pythontex}}
\begin{document}
Test
\end{document}

这只是一个解决方法pythontex方法不是预编译。

相关内容