From v. 4.61 to 4.63b
Update example_rcfiles/glossary_latexmkrc
Fix problem that in -cd mode, an error is raised when the path
part of the tex filename contains a character prohibited by *tex.
Implement changing of rule network when output of *latex is not what
is expected, e.g., because \pdfoutput is used in document.
Implement placeholder for true basename of main tex file, and use it
in jobname.
Various bug fixes.
From v. 4.59 to 4.61
Add -pdfxelatex and -pdflualatex options to set commands for
xelatex and lualatex (in analogy with -pdflatex and -latex).
Correct bug that use of -gg option with -deps-file option
did not create deps file.
After run of latex/pdflatex (etc), report count of warnings about missing
characters (typically unavailable Unicode characters). Messages about
this may appear only in the .log file and are therefore easily missed
by the user.
Fix problem that if biber gets a remote file, latexmk would report it
incorrectly as a missing file.
Provide routines for setting all of $latex, etc, with a common pattern.
Variables, options, placeholders for executing code in *latex before
inputting source file. The new variable is $pre_tex_code, the
options are -pretex, -usepretex, and the new placeholders are %P
and %U.
Improved definitions provided for the configuration of latexmk to
use pythontex; see the file pythontex-latexmkrc in the directory
example_rcfiles.
Correction to use of specifications in $clean_ext and
$clean_full_ext so that %R can appear in the interior of a string
as in 'pythontex-files-%R/*'.
Updates of documentation.
From v. 4.56 to 4.57
Correct problem that in calculation of md5 checksum, an error
sometimes occurs about malformed utf8 characters. This can happen
if the environment variable PERL_UNICODE is set.
Add configuration variable $bibtex_fudge to allow to choose
whether to use the fudge that made bibtex run correctly when
an output directory (or aux directory) is specified. (A
planned future version of bibtex in TeXLive will not need
the fudge.)
From v. 4.57 to 4.59
Deal with double quote ('"') characters in files on command line to
correspond to behavior of tex programs. Remove balanced pairs,
and give fatal error for unbalanced double quotes. (Note MiKTeX's
tex programs simply remove unbalanced quotes.) In all cases, the
'"' character is not allowed in a filename read by tex and
friends.
Give fatal error when name of tex file on command line is either not
allowed by tex and friends are gives problematic behavior.
Use TEXINPUTS as search path for source files for custom
dependency.
Only give warning about differing expected and output filenames when
the extensions differ. All other cases gave only false positives.
Do better to ensure xelatex gets its -no-pdf option.
From v. 4.55 to 4.55a
Add option that latexmk returns a non-zero status code when
the final run of (pdf)latex gives warnings about undefined
references or citations or about multiply defined references.
Implement $warning_cmd to allow a visual cue for these situations in
pvc mode (in addition to the current possibilities for
$compiling_cmd, $success_cmd and $failure_cmd).
From v. 4.55a to 4.56
Correct parsing of biber's log file.
Implement $warning_cmd.
Deal correctly with situation that files reported in the .fls file
as INPUT or OUTPUT files no longer exist at end of run. These
files aren't true source files or generated files from latexmk's
point of view. Such cases can arise from a bug in the TeX
engine (as with lualatex in TeXLive 2016/2017). They can also
arise when temporary files are created, read and deleted during
a run (as with the minted package).
Update example latexmrc file for pythontex.
Better error message when .bib file(s) not found.
Better handling and diagnostics when names of expected and actual
names of .log disagree.
In particular, there is some automatic reconfiguration when .log
file is not in expected place (e.g., because $aux_dir is different
to $out_dir, but TeXLive is used, so -aux-directory option for TeX
engines isn't supported).
Fix problem of .bib files sometimes not being found by bibtex when
latexmk runs under msys and -outputdirectory is specified.
Add use of environment variable LATEXMKRCSYS to specify system rc
file.
From v. 4.54c to 4.55
Correct bug that $search_path_separator wasn't defined under msys.
Ensure that all configuration variables do have sensible default
definitions (which wasn't always the case previously).
Allow optional timeout in pvc mode after a period of inactivity.
(See documentation for -pvctimeout option.)
Compensate for problems caused by time offset between system time on
system running latexmk and file times on remote file system.
(It caused wrong behavior when a document uses biber, MiKTeX
is used, the aux_dir is on a remote file system, and the system
time on the host of the file system differs from the system time on
the system running latexmk.)
From v. 4.54 to 4.54c
Work-around for when bsd_glob is not available on old installations of
Perl. (Note that with these old installations, clean-up operations
may not work when file or directory names contain spaces.)
From v. 4.52c to 4.54
In deps_list, correct bug in identifying generated files.
Otherwise, generated files could have been identified as true
source files.
Remove insertion of name of deps file in list of targets in deps file.
Don't send to screen deps info in deps mode (unless diagnostics on).
Correct ordering of list of options given by -help.
Fix incorrect deletion of non-generated aux files.
Optimize away current directory string in $out_dir and $aux_dir.
Make compatible with future versions of Perl where File::Glob's glob
function won't exist.
Add extra value 1.5 for $bibtex_use, with corresponding option
-bibtex-cond1; this treats bbl files as conditionally precious in
cleanup operations, depending on the existence or non-exisitence
of bib files.
When running bibtex, ensure that the change in search paths is made to work
around deficiencies in bibtex is local and does not affect other
programs.
Collection of timing information now works in silent mode.
Set better default previewers for MSys.
Restore default of $analyze_input_log_always to 1.
This restores the default detection of certain constructs for dependencies
for input files in the .log file. See the comments on this variable in
latexmk.pl for details. This works around a problem caused by a change in
the behavior of lualatex in TeXLive 2017; it no longer lists all input
files in the .fls file. Note that latexmk.pl always examines the .log
file for relevant information. The variable $analyze_input_log_always
only concerns whether it looks for <...> and (...) constructs.
Add item to @file_not_found for the particular format of generic package
warning about "No file", that is produced by glossaries-extra, and
probably other packages.
Documentation improvements, especially on methods of implementing
custom dependencies for multiple kinds of index.
Document $kpsewhich_show variable.
Add a sample latexmkrc file for use with bib2gls and glossaries-extra.
From v. 4.48 to 4.52
Optimize number of calls to kpsewhich. This often gives a
considerable savings of run time when a document includes many
graphics files that are in a texmf tree.
Fix bug that if an .aux file is deleted and latexmk is run, the
wrong number of runs of (pdf)latex was made.
Fix related problem that latexmk sometimes does too few runs of
(pdf)latex because of the incorrect detection that a file is only
read after being written.
Implement direct support for xelatex and lualatex. Previously these
programs were used by configuring the $pdflatex so that the desired
program is run instead of pdflatex. There are now configuration
variables $xelatex and $lualatex to specify the commands used, and
extra command line options -pdfxe and -pdflua.
In the case of xelatex, considerable improvement in run time is
given for documents containing large graphics files. This is
because compilation is made first to an xdv file instead of direct
to a pdf file. Only when this file is finalized is a single
conversion to a pdf file made. (This last step can be especially
time-consuming for documents that bring in large graphics files.)
Correct detection for missing graphics files with xelatex.
Work around LuaTeX line-wrapping bug.
Update documentation.
Minor improvements in code and diagnostics.
From v. 4.52 to 4.52b
Fix bug introduced in 4.52 that use of bibtex wasn't always detected
when recorder mode is on.
From v. 4.52b to 4.52c
Document $kpsewhich_show variable.
Make -jobname work with -pdfxe and -pdflua
From v. 4.45 to 4.46
Correct creation of output and aux directories to correctly handle
relative paths when -cd is used.
Minor documentation corrections.
From v. 4.46 to 4.48
Correct documention: default value of $recorder is 1
Add routines rdb_list_source, rdb_set_source for manipulating
dependency lists of a rule. Add these to the documentated
interface, in addition to the already documented rdb_ensure_file,
rdb_remove_files.
Update webpages in documentation.
From v. 4.39 to 4.39 documentation update of 2 Dec 2013
Correct two errors in documentation and in the file COPYING.
From v. 4.39 to 4.40
Fix failure to clean up correctly when root filename contains [,
which is a glob metacharacter.
From v. 4.40 to 4.41
-c also deletes $deps_file if it is used
Quote jobname when needed.
Change maintainer's preferred e-mail
Attempt to improve handling of errors from (pdf)latex.
Fix up for the making of -eps-converted-to.pdf
Improve listing of warning lines from log file.
Fix failure when using both -cd and -output-directory
If user's home directory can't be determined, then don't read ~/.latexmkrc
Introduce configuration variable $silence_logfile_warnings
In setting $pscmd, allow for non-existent environment variable USER
Correct subroutine Run for internal cmd w/o arguments
Experimental: Add analysis hook for aux file.
System initialization files: allow them to be named latexmkrc as
well as LatexMk, for more consistency with user directory names.
Keep both cases, to preserve backward compatibility.
Change sign-on message. Bug report info with help.
From v. 4.41 to 4.42
Fix bugs associated with the -cd option
Add missfont.log and the generated synctex.gz to standard cleaned-up files
From v. 4.42 to 4.43a
Fix problem that source files are not correctly detected under
MiKTeX when name of current working directory contains non-ASCII
characters.
On cleanup, synctex.gz files are deleted only by -C, not by -c.
From v. 4.43a to 4.43c
Correct normalization of filenames, so that initial "./" is always
removed. This prevents custom dependencies being run twice on the
same file.
Documentation correction on use of @BIBINPUTS.
Diagnostic correction.
Example rc file for using texinfo (thanks to Vincent Bela\"iche).
Additions to documentation concerning advanced configuration.
From v. 4.43c to 4.44
Correct bug in use of %hash_calc_ignore_pattern
(Previously it only had its documented effect when a targetted
file hadn't changed in size.)
Correct error handling when biber finds a malformed .bcf file.
From v. 4.44 to 4.45
Fix problem of -C not always working correctly when compilation was
with -pdf and clear was default.
Fix bug in limiting number of passes when $max_repeat >= 10
Fix bug in finding id of viewer process id under OS-X
Problems found locating distfiles:
Package acroread7: missing distfile AdobeReader_enu-7.0.9-1.i386.tar.gz
Package acroread8: missing distfile AdobeReader_enu-8.1.7-1.sparc.tar.gz
Package cups-filters: missing distfile cups-filters-1.1.0.tar.xz
Package dvidvi: missing distfile dvidvi-1.0.tar.gz
Package lgrind: missing distfile lgrind.tar.bz2
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
From v. 4.35 to 4.37
Correct failure that happens when name of current directory
contains characters with special meaning in regular expression.
-rules option now works with -pvc
Add -lualatex option, like -xelatex.
File specifications in $clean_ext and $clean_full_ext are allowed
to contain wildcards.
Warnings are given when rc file is a directory instead of a file.
Correct bug that if revtex4-1.cls is used, footnotes are set to
be in the bibliography, and latexmk's aux_dir or out_dir is set,
then latexmk fails to run bibtex when needed, because the
relevant bib file is not found.
Other minor corrections and code improvements.
Documentation updates and corrections.
From v. 4.37 to 4.39
Automatic creation of necessary subdirectories of auxdir when needed
for writing aux files.
Add error diagnostics to if_source
Allow $print_type = 'auto', and make this the default, so that
when the -p option to latexmk is used to print the file, the
default is to determine the type of file to be printed, rather
than always requiring postscript.
Fix the failures when dealing with directories whose names contained
certain special characters in them (notably '[', ']' and space).
[Technical issue: these characters had special meaning when
previously interpreted as metacharacters in a glob operation.]
This gives dependency on Perl's File::Glob module, which is a
standard module in normal installations of Perl.
When an output directory is a subdirectory of a directory, ensure
that it is correctly created, if it has to be created.
Previously, the creation of the output directory when it does not
exist only worked for one level.
This gives dependency on Perl's File::Path module with v. >= 2.08,
which is a standard module in normal installations of Perl.
In output of dependencies, include pathname of target file(s) in the
rule.
In -pvc mode, writing of deps file (caused by the -M and related
options) is per make not per overall run.
From v. 4.39 to 4.39 documentation update of 2 Dec 2013
Correct two errors in documentation and in the file COPYING.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
LatexMk completely automates the process of generating a LaTeX document.
Essentially, it is a highly specialized relative of the general make
utility. Given the source files for a document, latexmk issues the
appropriate sequence of commands to generate a .dvi, .ps, .pdf or hardcopy
version of the document. It will run LaTeX the correct number of times to
resolve cross references, and run auxiliary programs (bibtex, makeindex) if
necessary. It can also be set to run continuously with a previewer, in which
case the needed commands are re-run whenever one of the source files is
modified.