[tex-live] Cooperation of latexmk and certain LaTeX packages
John Collins
collins at phys.psu.edu
Thu Aug 13 18:43:02 CEST 2009
This message concerns the interaction between certain LaTeX packages and a
script latexmk that I maintain. Tex-live seems to be an appropriate forum,
since the issue concerns interaction between different components of a
complete TeX installation.
The LaTeX packages that matter for this purpose are ones like epstopdf and
pstool that use \write18 to execute a command to generate a file needed by
a compilation of a .tex file. I would like to suggest standardizing
certain informational messages to work better with scripts that analyze a
log file for dependency information.
[For those of you are unfamiliar with latexmk: It is a perl script that
runs (pdf)latex and associated programs as appropriate to get the output
files up-to-date. One of its functions is continuous update mode, where it
periodically scans source files for changes and runs (pdf)latex etc when
needed. It can also be configured to run external programs to generate
files needed by a run, e.g., .pdf or .eps from a source graphics file, or
.pdf from .eps.]
Latexmk parses the log file to determine the source files for
latex/pdflatex. There can obviously be a lot of interference between
latexmk and packages that use \write18 to generate files; without
appropriate information in the log file, any software that analyzes the log
file can get a misleading impression of the true source files for a run of
(pdf)latex.
I would like to suggest that it would be useful to standardize certain
messages. It doesn't matter whether they appear on-screen during a run,
but they should definitely be in the log file. My initial proposal is the
following set:
package_name: Converted `graphics.pdf' from `graphics.eps'
whenever a file is actually converted.
In addition, the package should indicate whether it deals with out-of-date
converted files
package_name: NO automatic update `graphics.pdf' from `graphics.eps'
if the package will not automatically update the destination file when it
becomes out of date. (E.g., because of a configuration setting, because
\write18 is not enabled, or because the version of pdflatex used does not
access information on file timestamps.)
package_name: Will update `graphics.pdf' from `graphics.eps'
if the package will automatically update the destination file when it
becomes out of date, provided the current settings are the same in a future
run.
The last two messages should be provided whether or not the package has
actually done any conversion, so that the dependency information is clear.
John Collins
More information about the tex-live
mailing list