我正在尋找在一個終端機中使用的命令,以便了解以下事實。
- 是否安裝了一種 LaTeX 發行版?
- 放置本地類別或套件的路徑是什麼?在我的 Mac 上,我知道它是
'/usr/local/texlive/texmf-local/tex/latex'
.
該命令將由一個 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
或。pdflatex --version
如果有(正確的)安裝的 TeX 版本,您將獲得發行版的名稱和版本。
您也可以用來path
查看是否有 TeX 二進位檔案(MiKTex 或 TeXLive)的目錄。
kpsewhich
在Windows上運行,但與unix版本有不同的參數(請參閱@Joseph Wright和@Alan Munn的評論)。
答案3
如果您只想要 LaTex、pdfTex 或軟體包的版本,您可以檢查您在系統上編譯的任何專案中的日誌文件,它就在那裡。在那裡您還可以看到不同套件的路徑,並從那裡推斷出可執行 TeX 檔案的路徑