minted
특정 디렉토리에서 조각을 가져오도록 지시하는 방법이 있습니까 ? \graphicspath{{img/}}
이미지에서 작동하는 방식과 비슷한 것을 찾고 있습니다 .
지금 당장 가져와야 하는 모든 파일이 다른 .tex
파일과 섞여 있습니다.
답변1
현재 에서는 이 기능을 사용할 수 없습니다 minted
. 재정의하는 것은 \inputminted
불가능합니다. 왜냐하면 draft
켜져 있는지 꺼져 있는지에 따라 정의가 다르기 때문입니다.
어쨌든 래퍼를 매우 쉽게 정의할 수 있습니다 \inputminted
. 구문은 \pathinputminted
다음과 같습니다 \inputminted
.
\pathinputminted[<options>]{<language>}{<filename>}
전체 코드
\documentclass{article}
\usepackage{minted}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\mintedpath}{m}
{
\seq_gset_split:Nnn \g_paulie_mintedpath_seq { } { #1 }
\seq_gput_left:Nn \g_paulie_mintedpath_seq { }
}
\seq_new:N \g_paulie_mintedpath_seq
\NewDocumentCommand{\pathinputminted}{O{}mm}
{
\seq_map_inline:Nn \g_paulie_mintedpath_seq
{
\file_if_exist:nT { ##1 #3 }
{
\inputminted[#1]{#2}{##1 #3}
\seq_map_break:
}
}
}
\ExplSyntaxOff
\mintedpath{ {sub1/} {sub2/} }
\begin{document}
\pathinputminted{latex}{test1.tex} % this is only in sub1
\pathinputminted{latex}{test2.tex} % this is both in sub1 and sub2
\pathinputminted{latex}{test3.tex} % this is only in sub2
\pathinputminted{latex}{test4.tex} % this is both in current directory and sub1
\end{document}
이것은 문서를 한 번 조판한 후 예제 목적으로 설정한 디렉토리 구조이므로 Pygments 파일이 이미 표시되어 있습니다.
paulie > ls -R
_minted-paulie/ paulie.log paulie.tex sub2/
paulie.aux paulie.pdf sub1/ test4.tex
./_minted-paulie:
24A365234AE4FDB0DF45E303775CC522F86A94839C3F0079C692F025CF998383.pygtex
4CF555EB3B29AA33E0D843E51AE34A9128809557B179BB64CA75D7BABAABEFE2.pygtex
D3967FFDA37461EF76D39CC2F8B40FCC93A75DBBC5197FD7555A181B29CF5ABC.pygtex
FD1CB1B77BD8698379A00F3A3BED29F678CA5D356D6BB9C6FD6DCBC2BA6DFEA3.pygtex
default-pyg-prefix.pygstyle
default.pygstyle
./sub1:
test1.tex test2.tex
./sub2:
test2.tex test3.tex test4.tex
출력에서 볼 수 있듯이
첫 번째 히트만 입력됩니다. 검색 경로의 시작 부분에 암시적을 추가하여 ./
작업 디렉터리의 파일을 먼저 찾고 다른 경우와 마찬가지로 추가 검색을 수행하지 않습니다.
답변2
로 할 수 있습니다 \inputminted[<options>]{<language>}{<filename>}
.
에서는 <filename>
전체 경로를 표시할 수 있습니다( Windows 경로에도 \
(가 아님 )를 사용하는 것을 기억하세요)./
고정 경로를 설정하려면 다음과 같이 간단하게 새 명령을 생성할 수 있습니다.
\documentclass{article}
\usepackage{minted}
\newcommand{\myminted}[1]{\inputminted{latex}{/my/dir/#1}}
\begin{document}
\myminted{main.tex}
\end{document}