生成されたスニペットをインポートするためのディレクトリ

生成されたスニペットをインポートするためのディレクトリ

特定のディレクトリからスニペットをインポートする方法はありますか?画像の場合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 パスの場合も、\(not ) を使用することを忘れないでください)。/

固定パスを設定したい場合は、次のように新しいコマンドを作成するだけです。

\documentclass{article}

\usepackage{minted}
\newcommand{\myminted}[1]{\inputminted{latex}{/my/dir/#1}}

\begin{document}

\myminted{main.tex}

\end{document}

関連情報