我正在编写一个项目,需要包含来自旧 git 提交的代码片段。我正在使用 Python 脚本预处理我的 LaTeX 源代码并转换
%: 37e7c208a33d7cbbc8e0bb6c94cd889e2918c605
%: src/lintrans/gui/main_window.py:229-235
进入一个minted
包含从该提交的文件中获取的代码的环境中,在这些行号之间,如下所示:
{
\renewcommand\theFancyVerbLine{
\ttfamily
\textcolor[rgb]{0.5,0.5,1}{
\footnotesize
\oldstylenums{
\ifnum\value{FancyVerbLine}=-3\else
\ifnum\value{FancyVerbLine}=-2\else
\ifnum\value{FancyVerbLine}=-1
\setcounter{FancyVerbLine}{228}
\else
\arabic{FancyVerbLine}
\fi\fi\fi
}
}
}
\begin{minted}[firstnumber=-3]{python}
# 37e7c208a33d7cbbc8e0bb6c94cd889e2918c605
# src/lintrans/gui/main_window.py
def render_expression(self) -> None:
"""Render the expression in the input box, and then clear the box."""
self.plot.transform_by_matrix(
self.matrix_wrapper.evaluate_expression(
self.lineedit_expression_box.text()
)
)
\end{minted}
}
我正在重新定义\theFancyVerbLine
自定义行号。前三行不重要,所以它们没有行号,然后我们从实际需要的行号开始。
预处理器将其转换development.tex
为process_development.tex
,然后将其包含在main.tex
使用中\subfile{sections/processed_development.tex}
。
这一切都运行正常。但是,我最终得到了很多minted
环境,出于某种奇怪的原因,第 27 个环境是第 1 个环境的副本,第 28 个环境是第 2 个环境的副本。第 29 个环境及以后的环境都运行正常。
预处理工作正常,源代码中包含了正确的代码片段,但出于某种原因,当我像平常一样编译时latexmk -lualatex
,这些代码片段无法正常工作。只有第 27 和第 28 个。在 32 个minted
环境中,所有环境都像这样在自己的范围内定义\theFancyVerbLine
,只有这两个环境有问题。
我不知道为什么会发生这种情况,任何帮助都将不胜感激。
答案1
原来是_minted-main
目录的问题,删除这个目录重新编译后,编译结果如预期一样。
我不知道为什么会发生这种情况。我只能假设这是一个缓存问题,但删除文件夹可以解决这个问题。