当涉及在子目录中的文件中使用的 minted 环境(或 mint 命令)时,代码无法在 Overleaf 上运行。 请注意,如果放在主目录中,相同的代码也可以起作用。 在 Chrome 上使用 LaTex、PdfLaTex、XeLaTex 和 LuaLaTex 进行测试
您可以在Overleaf 网站但为了您的方便,我可以添加 MWE:
\documentclass{article}
\usepackage{minted}
\begin{document}
test
\begin{minted}{python}
import numpy as np
def incmatrix(genl1,genl2):
m = len(genl1)
\end{minted}
\mint{html}|<h2>Something <b>here</b></h2>|
\end{document}
这将仅生成行“测试”。
请注意,这\inputminted
是一种魅力;我采用它作为一种解决方法,但在某些情况下它确实很麻烦。
显然,对于非平凡的项目,我几乎不可能将每个文件保存在同一个(背面)文件夹中。
日志显示:(两次,另一个几乎相同的是\mint
)
Package minted Error: Missing Pygments output; \inputminted was
probably given a file that does not exist--otherwise, you may need
the outputdir package option, or may be using an incompatible build tool,
or may be using frozencache with a missing file.
See the minted package documentation for explanation.
Type H <return> for immediate help.
...
l.12 \end{minted}
This could be caused by using -output-directory or -aux-directory
without setting minted's outputdir, or by using a build tool that
changes paths in ways minted cannot detect,
or using frozencache with a missing file.
答案1
好吧,我遇到了同样的问题,我认为 @yo 的解决方法是正确的。请注意,outputdir 取决于您当前所在的位置,因此如果您在文件夹中(例如“documents”),则应按如下方式操作:
\usepackage[outputdir=../]{minted}
但是如果你有两层深度(比如“documents/pics”),那么下面的操作应该可以工作:
\usepackage[outputdir=../../]{minted}
希望这可以帮助!
这已进一步讨论这里。有些情况下,[outputdir=../../]
当存在不同的子目录时仍会导致问题。讨论中开发了一个针对此问题的补丁,该补丁适用于不同的导入包。
你必须将下面的代码添加到序言中,
\usepackage{xpatch}
\makeatletter
% fix for first kind
\xpatchcmd\inputminted
{#3}
{\import@path #3}
{}{\fail}
% fix for second kind
\xpretocmd\minted@pygmentize
{\restore@IfFileExists} % direct \let\IfFileExists\im@@IfFileExists works too
{}{\fail}
\def\restore@IfFileExists{%
\ifx\IfFileExists\@iffileonpath
\let\IfFileExists\im@@IfFileExists
\fi
}
\makeatother
这将成功
\input{files/file.tex}
希望这会对类似情况有所帮助。
答案2
(Overleaf 支持团队的汤姆发言。)
不幸的是,这是 Overleaf 当前设置的一个限制,对此深表歉意。主文件最好始终放在主目录中;这对于使用外部工具的任何文档尤其重要,对于 minted 也是如此。
答案3
这是一个实际的错误,并且@yo' 使用选项提出的解决方法outputdir
不起作用
我已经在 github 上报告了这个问题:https://github.com/gpoore/minted/issues/233