Я ищу команду для использования в одном терминале, чтобы узнать следующие факты.
- Установлен ли какой-либо дистрибутив 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
получить значение, и если это ничего не возвращает, возвращаемся к расположению по умолчанию.
Для поиска 'some program' я использую другой кусок пакетного программирования, взятый из другого места. Здесь пример заключается в поиске 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