
Estoy usando MiKTeX/TeXworks y lo configuré latexmk
hace años. Ha estado funcionando bien hasta ayer cuando actualicé MiKTeX.
La rutina de composición latexmk
que uso es:
Sin embargo, ahora, cuando intento compilar usando mi latexmk
opción de procesamiento, obtengo el siguiente archivo de registro:
Latexmk: This is Latexmk, John Collins, 18 June 2019, version: 4.65.
Rule 'pdflatex': The following rules & subrules became out-of-date:
'pdflatex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -synctex=1 -recorder "DOCUMENT.tex"'
------------
Latexmk: applying rule 'pdflatex'...
Can't spawn "pdflatex -synctex=1 -recorder "DOCUMENT.tex"": Inappropriate I/O control operation at C:\Program Files\MiKTeX 2.9\scripts/latexmk\latexmk.pl line 9732.
Latexmk: fls file doesn't appear to have been made.
Collected error summary (may duplicate other messages):
pdflatex: Command for 'pdflatex' gave return code 255
Refer to 'DOCUMENT.log' for details
----------------------
This message may duplicate earlier message.
Latexmk: Failure in processing file 'DOCUMENT.tex':
(Pdf)LaTeX didn't generate the expected log file 'DOCUMENT.log'
----------------------
Latexmk: Use the -f option to force complete processing,
unless error was exceeding maximum runs, or warnings treated as errors.
Latexmk: Errors, so I did not complete making targets
Intenté buscar qué hacer, pero hasta ahora no encontré nada demasiado útil. ¿Alguien puede proporcionar alguna orientación? Todo se compila como debería si lo hago manualmente pdflatex + bibtex + pdflatex + pdflatex
.
La versión de TeXworks es la versión 0.6.3 (MiKTeX 2.9.7140 de 64 bits).
Editar: esto es lo que obtengo al ejecutar latexmk
desde la línea de comando. Un mensaje de error
y la salida
C:\Users\username\folder>latexmk
Latexmk: This is Latexmk, John Collins, 18 June 2019, version: 4.65.
Latexmk: Disallowing switch of output file as incompatible
with file requests.
Latexmk: applying rule 'latex'...
Rule 'latex': The following rules & subrules became out-of-date:
'latex'
------------
Run number 1 of rule 'latex'
------------
------------
Running 'latex -recorder "DOCUMENT.tex"'
------------
Can't spawn "latex -recorder "DOCUMENT.tex"": Inappropriate I/O control operati
on at C:\Program Files\MiKTeX 2.9\scripts/latexmk\latexmk.pl line 9732.
Latexmk: fls file doesn't appear to have been made.
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
latex: Command for 'latex' gave return code 255
Refer to 'DOCUMENT.log' for details
----------------------
This message may duplicate earlier message.
Latexmk: Failure in processing file 'DOCUMENT.tex':
(Pdf)LaTeX didn't generate the expected log file 'DOCUMENT.log'
----------------------
Latexmk: Use the -f option to force complete processing,
unless error was exceeding maximum runs, or warnings treated as errors.
Respuesta1
Muchos de los archivos exe en la carpeta bin de miktex son muy pequeños: son simplemente contenedores. El código de aplicación "real" está en algún dll (y/o algún script), y los contenedores deben encontrar el "punto de entrada". A veces, después de una actualización, el punto de entrada cambia y se deben volver a crear los contenedores. Normalmente miktex se encarga de esto, pero puede fallar por cualquier motivo. En este caso los envoltorios se pueden recrear con
initexmf --mklinks --admin --force
o si sólo se ven afectados scripts como latexmk
initexmf --mklinks=scripts --admin --force