[tex-live] Cooperation of latexmk and certain LaTeX packages

John Collins 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".

Agreed.


>        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
> run.

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 
not run.


> 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.)

John



More information about the tex-live mailing list