我用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
因此,我猜测在创建格式时会定义一些“硬编码”的文件名和目录名。
是否有一种解决方法,以便我可以使用我在此处展示mylatexformat
的pythontex
方法?
答案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
方法不是预编译。