LaTeX 배포에 대한 정보를 갖는 Windows 터미널 명령

LaTeX 배포에 대한 정보를 갖는 Windows 터미널 명령

다음 사실을 알기 위해 하나의 터미널에서 사용할 명령을 찾고 있습니다.

  1. LaTeX 배포판이 하나 설치되어 있습니까?
  2. 로컬 클래스나 패키지를 넣을 경로는 무엇입니까? 내 Mac에서는 '/usr/local/texlive/texmf-local/tex/latex'.

이 명령은 개인용 작은 클래스나 패키지 설치를 자동화하기 위해 하나의 Python 스크립트에서 사용됩니다.

다음 설명에 제공된 솔루션은 Mac에서 잘 작동하며 Linux에서도 작동한다고 생각합니다.하지만 Windows에서는 어떻게 해야 할지 모르겠어요...

답변1

로컬 설치를 위한 올바른 위치를 찾는 측면에서 make.batLaTeX3용 파일에서 이를 수행합니다. 거기, 우리는

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 --versionTeX의 (적절한) 버전이 설치되어 있으면 배포판 이름과 버전을 얻을 수 있습니다.

pathTeX 바이너리(MiKTex 또는 TeXLive)에 대한 디렉토리가 있는지 확인하는 데 에도 사용할 수 있습니다 .

kpsewhichWindows에서 실행되지만 유닉스 버전과는 다른 매개변수를 갖습니다(@Joseph Wright 및 @Alan Munn의 의견 참조).

답변3

LaTex, pdfTex 또는 패키지 버전만 원하는 경우 시스템에서 컴파일한 프로젝트의 로그 파일을 확인할 수 있습니다. 거기에서 다양한 패키지의 경로를 볼 수 있으며 거기에서 실행 가능한 TeX 파일의 경로를 추론할 수도 있습니다.

관련 정보