
このサイト(およびウェブ上の他の場所)には、$TEXINPUTSの定義方法や、TeXで検索される非標準の場所を含めるための他の戦略に関する質問が多数あります。たとえば、次の議論を参照してください。 ここ、 こちら(Texmaker用)、 こちら(Texstudio用)、 ここ、 こちら(MikTeX用)、 こちら(TeXShop用)、 こちら(macOS)、 または こここれらすべての議論 (コメントに埋もれている多くの役立つ説明) から、変数を定義する方法は多数あり、何が機能し何が機能しないかはオペレーティング システム、TeX ディストリビューション、プログラムによって異なることがわかります。
私は macOS で、TeXShop を使用しています。 に、などの~/custompath/input/
サブフォルダーが多数ある場所があり、明示的なパスを指定せずに TeX がアクセスできるようにしたいと考えています ( を使用すれば実行できることはわかっています)。graphics
figures
\def\input@path{...}
とりあえず、コマンドラインで変数を定義できることを知りました。
export TEXINPUTS=.:~/custompath/input//:
より永続的な解決策としてはTEXINPUTS = .:~/custompath/input//:
、
~/.bashrc
または
/usr/local/texlive/YYYY/texmf.cnf
最初の方法 (経由export TEXINPUTS=.:~/custompath/input//:
) は、同じコマンド ライン ウィンドウから実行すると期待どおりに機能しますpdflatex
。一時的なものなので、TeXShop で機能するとは期待できないことは理解しています。
しかし、他の方法はどれもうまくいきませんでした。マジックラインを入れても~/.bashrc
まったく効果がありません。
に追加するとtexmf.cnf
、コマンドラインから実行できるようになります
kpsexpand '$TEXINPUTS'
そして、それは返されます。 .:~/custompath/input//:
ただし、コンパイル(再びコマンドラインからpdflatex ~/custompath/testing.tex
)すると、次のようになります。
`! LaTeX Error: File `testinput.tex' not found.`
そして、言うまでもなく、TeXShop からは何も機能しません。
コマンドラインから LaTeX を呼び出す場合でも、TeXShop を使用する場合でも、別のフロントエンドを使用する場合でも、常に機能する、TeX で検索する追加の場所を定義する確実な方法はありますか? 私の直感では、答えは「いいえ」ですが、おそらく、さまざまなシステム/インストール/フロントエンドで機能させる方法を説明できる人がいます。(もちろん、私は特に TeXShop に興味がありますが、他のプラットフォームのユーザーも同様の問題に頻繁に遭遇しているようです。そのため、すべてのシナリオに対して信頼できる回答を用意しておく価値があるかもしれません...)。
MWE の価値はありますtestinput.tex
。~/custompath/input/figures/project1/
:)
\documentclass{article}
\begin{document} test document \par
\input{testinput.tex}
%\input{~/custompath/input/figures/project1/testinput.tex} %
\end{document}