以下の事実を知るために、1 つのターミナルで使用するコマンドを探しています。
- インストールされている LaTeX ディストリビューションは 1 つだけですか?
- ローカル クラスまたはパッケージを配置するパスは何ですか? 私の Mac では、それが であることがわかっています
'/usr/local/texlive/texmf-local/tex/latex'
。
このコマンドは、個人的な小さなクラスまたはパッケージのインストールを自動化するために、1 つの Python スクリプトによって使用されます。
以下のコメントで示されている解決策はMacではうまく機能し、Linuxでも機能すると思います。しかし、Windowsではどうすればよいか分かりません...
答え1
ローカルインストールの正しい場所を見つけるには、make.bat
LaTeX3のファイルでこれを行います。
if not defined TEXMFHOME (
for /f "delims=" %%I in ('kpsewhich --var-value=TEXMFHOME') do @set TEXMFHOME=%%I
if [%TEXMFHOME%] == [] (
set TEXMFHOME=%USERPROFILE%\texmf
)
つまり、変数がTEXMFHOME
存在する場合はそれが使用され、存在しない場合はkpsewhich
値を取得しようとし、何も返されない場合はデフォルトの場所にフォールバックします。
「あるプログラム」を見つけるために、私は他の場所から集めたバッチファイルプログラミングの別の部分を使用します。ここでは、Perlを見つける例ですが、同じアプローチがpdfTeXを見つける場合にも適用されます。
:perl
set PATHCOPY=%PATH%
:perl-loop
if defined PERLEXE goto :end
for /f "delims=; tokens=1,2*" %%I in ("%PATHCOPY%") do (
if exist %%I\perl.exe set PERLEXE=perl
set PATHCOPY=%%J;%%K
)
if defined PERLEXE goto :end
if not "%PATHCOPY%"==";" goto :perl-loop
echo.
echo This procedure requires Perl, but it could not be found.
exit /b 1
goto :EOF
答え2
質問を誤解していなければいいのですが。
Windows の場合は、コマンド ラインでpdftex --version
または を試してください。TeX の (適切な) バージョンがインストールされている場合は、ディストリビューションの名前とバージョンが表示されます。pdflatex --version
path
TeX (MiKTex または TeXLive) のバイナリ用のディレクトリがあるかどうかを確認するためにも使用できます。
kpsewhich
Windows 上で実行されていますが、Unix バージョンとはパラメータが異なります (@Joseph Wright と @Alan Munn のコメントを参照)。
答え3
LaTex、pdfTex、またはパッケージのバージョンだけを知りたい場合は、システムでコンパイルしたプロジェクトのログファイルを確認してください。そこに、さまざまなパッケージのパスが表示され、そこから実行可能なTeXファイルのパスを推測することもできます。