Comandos de Windows-Terminal para tener información sobre la distribución de LaTeX

Comandos de Windows-Terminal para tener información sobre la distribución de LaTeX

Estoy buscando un comando para usar en una terminal para conocer los siguientes hechos.

  1. ¿Hay alguna distribución LaTeX instalada?
  2. ¿Cuál es la ruta donde colocar clases o paquetes locales? En mi Mac, sé que es '/usr/local/texlive/texmf-local/tex/latex'.

El comando será utilizado por un script de Python para automatizar la instalación de mis pequeñas clases o paquetes personales.

Las soluciones dadas en los siguientes comentarios funcionan bien en Mac, y creo que también funciona en Linux.pero no sé cómo hacerlo en Windows...

Respuesta1

En términos de encontrar la ubicación correcta para una instalación local, lo hacemos en los make.batarchivos de LaTeX3. Ahí tenemos

if not defined TEXMFHOME (
  for /f "delims=" %%I in ('kpsewhich --var-value=TEXMFHOME') do @set TEXMFHOME=%%I
  if [%TEXMFHOME%] == [] (
    set TEXMFHOME=%USERPROFILE%\texmf
  )

lo que significa que si la variable TEXMFHOMEexiste, entonces se usa; de lo contrario, intentamos kpsewhichobtener un valor y, si eso no devuelve nada, recurriremos a la ubicación predeterminada.


Para encontrar "algún programa", utilizo otra parte de programación de archivos por lotes extraída de otros lugares. Aquí, el ejemplo es encontrar Perl, pero el mismo enfoque se aplicaría para encontrar 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

Respuesta2

Espero no haber entendido mal la pregunta.

Para Windows simplemente lo intentaría con pdftex --versiono pdflatex --versionen la línea de comando. Si hay una versión instalada (adecuada) de TeX, obtendrá el nombre de la distribución y la versión.

También puedes usar pathpara ver si hay un directorio para los binarios de TeX (MiKTex o TeXLive).

kpsewhichse ejecuta en Windows, pero tiene parámetros diferentes a los de la versión Unix (ver comentarios de @Joseph Wright y @Alan Munn).

Respuesta3

Si solo desea la versión de LaTex, pdfTex o paquetes, puede consultar el archivo de registro en cualquier proyecto que haya compilado en el sistema y ahí está. Allí también podrás ver la ruta de los diferentes paquetes y de allí deducir la ruta de tu archivo TeX ejecutable.

información relacionada