emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: suggestion to change default org-latex-pdf-process to latexmk


From: Scott Randby
Subject: Re: suggestion to change default org-latex-pdf-process to latexmk
Date: Wed, 2 Jun 2021 11:39:44 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2

On 6/2/21 1:33 AM, Stefan Nobis wrote:
"Bruce D'Arcus" <bdarcus@gmail.com> writes:

Here's the current command for the "latexmk" option:

"latexmk -g -pdf -pdflatex=\"%latex\" -outdir=%o %f"

... and here's what you have, minus shell-escape.

"latexmk -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"

The option "-interaction=nonstopmode" forbids user interaction (like
asking for a missing file). Without this explicit option latexmk uses
"-interaction=batchmode" by default - in this case some diagnotic
messages to the terminal (not log file) are suppressed. Thus the
default option from latexmk might suffice.

Regarding "-f" versus "-g" I personally would slightly prefer "-f" for
performance reasons. With "-g" the document will always be newly
generated, even if nothing changed. This is only useful if the latexmk
config (or some environment variable) has changed. Other changes
should be detectable by latexmk, so "-f" should suffice.

The options "-output-directory" and "-outdir" are synonyms.

Regarding the choise of engine: "-pdflatex=\"%latex\"" explicitly sets
the command (including options) to be called by latexmk, without
letting latexmk know that the engine changed. Using "-%latex" (e.g.
the option "-lualatex" or "-xelatex") lets latexmk know that a
different engine should be used.

This matters at least for xelatex, because latexmk can utilize some
optimizations if it knows that xetex is used. In this case the first
runs only produce .xdv files and only the last run will produce the
full pdf to save time (see also option "-pdfxe" which is triggered by
"-xelatex").

Therefore I would tend to use this call:

     "latexmk -f -pdf -%latex -outdir=%o %f"

All other aspects of latexmk should be configured via config file
(IMHO).

In any case, whatever the command is, clearly it should.


I'm no longer sure that a change would break my ability to export to PDF. I'm 
using Linux with TeX Live, and latexmk is available. I'm willing to try 
changing org-latex-pdf-process to one of the above suggestions, but I have some 
questions. I've never used latexmk, and I really depend on Org to set things up 
so that they just work out of the box. It took me a long time to figure out how 
to get Emacs to find TeX so that previewing LaTeX fragments works (the solution 
is not in the Org manual).

(1) Which one of the above suggestions should I use? I don't want interactions 
when I'm exporting. I don't want to have to mess with a configuration file 
either.

(2) How many shell commands will org-latex-pdf-process need? Right now there 
are three. Replace those three with just one latexmk?

Scott Randby




reply via email to

[Prev in Thread] Current Thread [Next in Thread]