Ich verwende MiKTeX/TeXworks und habe es latexmk
vor Jahren eingerichtet. Es hat bis gestern gut funktioniert, als ich MiKTeX aktualisiert habe.
Die Satzroutine, latexmk
die ich hierfür verwende, ist:
Wenn ich jetzt jedoch versuche, mit meiner latexmk
Verarbeitungsoption zu kompilieren, erhalte ich die folgende Protokolldatei:
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
Ich habe versucht, herauszufinden, was zu tun ist, aber bisher nichts wirklich Nützliches gefunden. Kann mir jemand einen Rat geben? Wenn ich es manuell mache, wird alles wie vorgesehen kompiliert pdflatex + bibtex + pdflatex + pdflatex
.
Die TeXworks-Version ist Version 0.6.3 (MiKTeX 2.9.7140 64-Bit).
Bearbeiten: Das bekomme ich, wenn ich es latexmk
von der Kommandozeile aus ausführe. Eine Fehlermeldung
und die Ausgabe
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.
Antwort1
Viele der EXE-Dateien im Bin-Ordner von Miktex sind sehr klein: Sie sind einfach Wrapper. Der „echte“ Anwendungscode befindet sich in einer DLL (und/oder einem Skript) und die Wrapper müssen den „Einstiegspunkt“ finden. Manchmal hat sich der Einstiegspunkt nach einem Update geändert und die Wrapper müssen neu erstellt werden. Normalerweise kümmert sich Miktex darum, aber es kann aus irgendeinem Grund fehlschlagen. In diesem Fall können die Wrapper mit neu erstellt werden
initexmf --mklinks --admin --force
oder wenn nur Skripte wie latexmk betroffen sind
initexmf --mklinks=scripts --admin --force