Estou usando o MiKTeX/TeXworks e configurei-o latexmk
há anos. Tem funcionado bem até ontem, quando atualizei o MiKTeX.
A rotina de composição latexmk
que uso é:
No entanto, agora, quando tento compilar usando minha latexmk
opção de processamento, obtenho o seguinte arquivo de log:
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
Tentei pesquisar o que fazer, mas não encontrei nada muito útil até agora. Alguém pode fornecer alguma orientação? Tudo compila como deveria se eu fizer isso manualmente pdflatex + bibtex + pdflatex + pdflatex
.
A versão do TeXworks é a versão 0.6.3 (MiKTeX 2.9.7140 64 bits).
Editar: aqui está o que recebo ao executar latexmk
a partir da linha de comando. Uma mensagem de erro
e a saída
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.
Responder1
Muitos arquivos exe na pasta miktex bin são muito pequenos: são simplesmente wrappers. O código "real" do aplicativo está em alguma dll (e/ou algum script), e os wrappers devem encontrar o "ponto de entrada". Às vezes, após uma atualização, o ponto de entrada é alterado e os wrappers devem ser recriados. Normalmente o miktex cuida disso, mas pode falhar por qualquer motivo. Neste caso, os wrappers podem ser recriados com
initexmf --mklinks --admin --force
ou se apenas scripts como latexmk forem afetados
initexmf --mklinks=scripts --admin --force