[tex-live] Cooperation of latexmk and certain LaTeX packages
collins at phys.psu.edu
Tue Aug 18 00:08:16 CEST 2009
I've just seen that in its latest version (2009/07/16) epstopdf has its
verbose option defaulting to on, contrary to the previous version I was
using. So by default most or all of the information we are discussing is
now in the log file, in a multiline format. This solves my main concerns.
However, my preference (both as a user and a script writer) would be for at
least the basic information (source and destination file) to be written
unconditionally to the log file, so that the dependency information is
always visible and unambiguous.
While the same issues arise with other packages using \write18, they matter
much more for epstopdf since with the new version of TeXLive, the epstopdf
package will be loaded whenever the graphics package is loaded. Thus
epstopdf will be used quite frequently, even by users who don't know
anything about it.
As far the remaining issues Karl raises:
> package_name: NO automatic update `graphics.pdf' from `graphics.eps'
> if the package will not automatically update the destination file when it
> As a trivial point, I suggest adding "of", as in "NO automatic update of".
> package_name: Will update `graphics.pdf' from `graphics.eps'
> "Will automatically", for parallelism? Or should it be "Would", because
> it's for a future run? Is it potentially for the current run?
Agreed. The issue for a reader (human or program) of the log file is what
would happen on a future run. So using "would" is best.
Since latexmk (and potentially other such scripts) can themselves do these
conversions, they need to know whether to stay out of the way and let the
package do the conversion.
> The last two messages should be provided whether or not the package has
> actually done any conversion, so that the dependency information is clear.
> Anyway, forgetting about the wording details ... I gather the idea is
> that if a package (e.g., epstopdf) is configured to do conversions, it
> outputs the "Will update" line regardless of whether the conversion is
Yes. I would add one condition "and if the package detects the dependency
in the particular conversion". (E.g., if the extension eps is added at
the end of list of graphics extensions, epstopdf detects an eps-to-pdf
dependency only on a run when the pdf file does not exist.)
As far as I can see from its code, the latest epstopdf with its default
setting of verbose does provide the information even when the conversion is
> That seems maybe ok, but the "NO automatic update" line seems odd to me.
> If epstopdf isn't configured to do the conversions, it seems like it's
> not going to know anything about the files at all.
I agree that at first sight it appears odd to provide such a message, and I
don't insist on it. However, depending on the package and its settings, it
might happen that on a first run a package will create a file that doesn't
exist, but that on a second run it will not overwrite an existing file. Or
\write18 may be disabled, which is a slightly different issue. Thus,
depending on how it is programmed, configured and used, a package could
know about a dependency, but not act on it, or know that it will not act on
it in a future run. Of course, on a particular run the package might not
detect the dependency; then it shouldn't provide the dependency
information. (The detection of the dependency can depend on the run when
the eps extension is late in the list of graphics extensions.)
More information about the tex-live