
다음 LaTeX 문서( minimal.tex
)를 보면:
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{c}
int main() {
printf("hello, world");
return 0;
}
\end{minted}
\end{document}
다음을 사용하여 빌드할 수 있습니다.
pdflatex -shell-escape minimal.tex
하지만 빌드 파일을 다른 디렉터리에 저장하고 싶기 때문에 -output-directory=build
다음과 같이 을 사용합니다.
pdflatex -shell-escape -output-directory=build minimal.tex
하지만 이렇게 하면 다음과 같은 결과를 얻을 수 있습니다.
...
(/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def
(/usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
))) (./_minted-minimal/default-pyg-prefix.pygstyle)Error: cannot read infile: [Errno 2] No such file or directory: 'minimal.pyg'
system returned with code 256
! 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.
See the minted package documentation for explanation.
Type H <return> for immediate help.
...
l.9 \end{minted}
실제로 는 minimal.pyg
내부 build
디렉토리에 있지만 찾을 수 없는 것 같습니다.
어떡해?
답변1
\usepackage[outputdir=build]{minted}
Minted에게 파일이 어디로 갔는지 알려줘야 합니다 .
답변2
currfile-abspath
(의 하위 패키지 currfile
)를 사용하여 minted의 출력 디렉터리를 자동으로 설정할 수 있습니다 . 패키지를 로드하기 전에 완료해야 합니다 minted
.
\usepackage{currfile-abspath}
\getabspath{\jobname.log}
\ifthenelse{\equal{\theabsdir}{\thepwd}}% using ifthen package
%\ifdefstrequal{\theabsdir}{\thepwd}% using etoolbox package
{}{\PassOptionsToPackage{outputdir=\theabsdir}{minted}}
분명히 MiKTeX에서는 안정적으로 작동하지 않습니다.https://github.com/gpoore/minted/issues/268
답변3
독자들이 내가 David Carlisle의 답변을 확장하는 것을 꺼리지 않기를 바랍니다. 나는 수년에 걸쳐 여러 가지 방법으로 질문을 받는 것을 보았습니다. 하지만 프로젝트의 중요성에 대한 언급은 보이지 않습니다.길Minted 패키지를 로드할 때.
개인 개발자이자 작가로서 저는 최근 TexStudio에서 IntelliJ IDEA용 TeXiFy 플러그인을 사용해 보기 위해 변경했습니다. 저는 그런 맥락에서 글을 씁니다. 저는 해당 제품과 관련이 없습니다.
설정을 통해 Minted 코드 목록 예외를 해결합니다.\usepackage[outputdir=../auxil]{minted}.
Minted.styPython Pygments 패키지에 의존하며 컴파일 중 중간 단계 보조 출력 파일입니다. 프로세스: Latex 패키지 로드, 컴파일 시작, Minted 패키지가 포함된 코드 조각을 중간 컴파일 파일 .pyg<...>로 컴파일, PDF 출력 중에 파일 수집, PDF 출력 처리 완료. 중간 .pyg<...>가 예상 폴더에 없으면 PDF 출력 예외가 발생합니다.
Latex minted.sty 패키지를 사용하여 코드를 컴파일하면 기본 루트 기반 폴더 구조를 따릅니다. 프로젝트가 폴더 계층 구조에 어디에 있든 그것이 기본값입니다. 기본 TeXiFy 플러그인은 그렇지 않습니다. IntelliJ IDEA Ultimate의 기본 구조(또는 선택한 IDE)를 따르지만 플러그인과 마찬가지로 필연적으로 이를 준수해야 합니다. 따라서 TeXiFy IDEA 플러그인이 컴파일될 때 잘못된 위치에서 .pyg<...> 파일을 찾습니다. 기본적으로 아래의 간단한 MWE에 대한 컴파일된 구조는 다음과 같습니다.
라텍스를 사용하여...
\documentclass[11pt]{article}
% Packages
\usepackage{minted}
% Document
\begin{document}
\begin{minted}{php}
<?php
$x = 1;
if($x=1){
echo "x=1";
} else {
echo "x=" . $x;
}
?>
\end{minted}
\end{document}
}
예외가 발생합니다 ...
오류: 파일을 읽을 수 없습니다: [Errno 2] 해당 파일 또는 디렉터리가 없습니다: 'minted-mwe.pyg'는 P:\Writing-and-WritingSoftware\DevelopmentBooklets\VanElectrical\TexifyMintedTest\src_minted-minted-mwe\097AF5BD36CFF0D87D9991A6653D1FBAC2C2A1FBB8430C5를 찾을 수 없습니다. 273284E8D3B9D57CD.pygtex
맞아요. .pyg<...> 파일은 \TexifyMintedTest\에서 검색하면 안 됩니다.소스폴더, 그 안에 있어요\auxil폴더.
변경함으로써출력 디렉터리폴더올바른 파일 경로 사용minted.sty를 로드할 때 컴파일 프로세스는 올바른 위치에서 .pyg<...> 파일을 찾습니다...
HTH 비전문가...