다음 사실을 알기 위해 하나의 터미널에서 사용할 명령을 찾고 있습니다.
- 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에서 실행되지만 유닉스 버전과는 다른 매개변수를 갖습니다(@Joseph Wright 및 @Alan Munn의 의견 참조).
답변3
LaTex, pdfTex 또는 패키지 버전만 원하는 경우 시스템에서 컴파일한 프로젝트의 로그 파일을 확인할 수 있습니다. 거기에서 다양한 패키지의 경로를 볼 수 있으며 거기에서 실행 가능한 TeX 파일의 경로를 추론할 수도 있습니다.