Explain the problem.
For some reasons, I use pdf-engine with the "output-directory" option to convert markdown to pdf. When I upgraded the pandoc to 3.3, it do not generate pdf with correct cross-references. I see that it output "LaTeX Warning: ..... Rerun to get ..." but it do not re-run the pdf-engine.
In PDF.sh file, I found the pandoc save the input.tex file into tmpDir and try to read the input.log and input.toc files from same directory after the pdf-engine return results. However, these files have been saved into the outDir directory, which is set by the output-directory option. so the pandoc do not read its output file and do not re-run the pdf-engine.
I think there are two soluation:
the tmpDir and outDir should be same when the pdf-engine is "xelatex"
Explain the problem. For some reasons, I use pdf-engine with the "output-directory" option to convert markdown to pdf. When I upgraded the pandoc to 3.3, it do not generate pdf with correct cross-references. I see that it output "LaTeX Warning: ..... Rerun to get ..." but it do not re-run the pdf-engine.
In PDF.sh file, I found the pandoc save the input.tex file into tmpDir and try to read the input.log and input.toc files from same directory after the pdf-engine return results. However, these files have been saved into the outDir directory, which is set by the output-directory option. so the pandoc do not read its output file and do not re-run the pdf-engine.
I think there are two soluation:
Pandoc Command pandoc --pdf-engine=xelatex --pdf-engine-opt=-output-directory=output-document-name --from=markdown --filter=pandoc-crossref --lua-filter=path/to/minted.lua --output=document-name md-file-list
Pandoc version Pandoc 3.3 (Linux Ubuntu 20.04 x86_64)
texlive version texlive 2024