summaryrefslogtreecommitdiff
path: root/support/latexmk/latexmk.txt
diff options
context:
space:
mode:
Diffstat (limited to 'support/latexmk/latexmk.txt')
-rw-r--r--support/latexmk/latexmk.txt1808
1 files changed, 904 insertions, 904 deletions
diff --git a/support/latexmk/latexmk.txt b/support/latexmk/latexmk.txt
index e7c6021643..cf97de03fe 100644
--- a/support/latexmk/latexmk.txt
+++ b/support/latexmk/latexmk.txt
@@ -12,10 +12,10 @@ SYNOPSIS
DESCRIPTION
Latexmk completely automates the process of compiling a LaTeX document.
- Essentially, it is like a specialized relative of the general make
- utility, but one which determines dependencies automatically and has
- some other very useful features. In its basic mode of operation la-
- texmk is given the name of the primary source file for a document, and
+ Essentially, it is like a specialized relative of the general make
+ utility, but one which determines dependencies automatically and has
+ some other very useful features. In its basic mode of operation la-
+ texmk is given the name of the primary source file for a document, and
it issues the appropriate sequence of commands to generate a .dvi, .ps,
.pdf and/or hardcopy version of the document.
@@ -23,17 +23,17 @@ DESCRIPTION
file, which copies the behavior of earlier versions when only latex was
available.
- Latexmk can also be set to run continuously with a suitable previewer.
- In that case the latex program (or one of its relatives), etc, are re-
+ Latexmk can also be set to run continuously with a suitable previewer.
+ In that case the latex program (or one of its relatives), etc, are re-
run whenever one of the source files is modified, and the previewer au-
tomatically updates the on-screen view of the compiled document.
Latexmk determines which are the source files by examining the log
file. (Optionally, it also examines the list of input and output files
- generated by the -recorder option of modern versions of latex (and
- pdflatex, xelatex, lualatex). See the documentation for the -recorder
- option of latexmk below.) When latexmk is run, it examines properties
- of the source files, and if any have been changed since the last docu-
+ generated by the -recorder option of modern versions of latex (and
+ pdflatex, xelatex, lualatex). See the documentation for the -recorder
+ option of latexmk below.) When latexmk is run, it examines properties
+ of the source files, and if any have been changed since the last docu-
ment generation, latexmk will run the various LaTeX processing programs
as necessary. In particular, it will repeat the run of latex (or a re-
lated program)) often enough to resolve all cross references; depending
@@ -52,16 +52,16 @@ DESCRIPTION
The second previewing option is the powerful -pvc option (mnemonic:
"preview continuously"). In this case, latexmk runs continuously, reg-
- ularly monitoring all the source files to see if any have changed. Ev-
- ery time a change is detected, latexmk runs all the programs necessary
- to generate a new version of the document. A good previewer will then
- automatically update its display. Thus the user can simply edit a file
- and, when the changes are written to disk, latexmk completely automates
- the cycle of updating the .dvi (and/or the .ps and .pdf) file, and
+ ularly monitoring all the source files to see if any have changed.
+ Every time a change is detected, latexmk runs all the programs neces-
+ sary to generate a new version of the document. A good previewer will
+ then automatically update its display. Thus the user can simply edit a
+ file and, when the changes are written to disk, latexmk completely au-
+ tomates the cycle of updating the .dvi (and/or the .ps and .pdf) file,
- 24 December 2023 1
+ 10 January 2024 1
@@ -70,8 +70,8 @@ DESCRIPTION
LATEXMK(1) General Commands Manual LATEXMK(1)
- refreshing the previewer's display. It's not quite WYSIWYG, but use-
- fully close.
+ and refreshing the previewer's display. It's not quite WYSIWYG, but
+ usefully close.
For other previewers, the user may have to manually make the previewer
update its display, which can be (e.g., with some versions of xdvi and
@@ -81,16 +81,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
each page when making the postscript file. It can also, if needed,
call an external program to do other postprocessing on generated dvi
and postscript files. (See the options -dF and -pF, and the documenta-
- tion for the $dvi_filter and $ps_filter configuration variables.)
+ tion for the $dvi_filter and $ps_filter configuration variables.)
These capabilities are leftover from older versions of latexmk, but are
currently non-functional. More flexibility can be obtained in current
versions, since the command strings for running *latex can now be con-
figured to run multiple commands. This also extends the possibility of
postprocessing generated files.
- Latexmk is highly configurable, both from the command line and in con-
- figuration files, so that it can accommodate a wide variety of user
- needs and system configurations. Default values are set according to
+ Latexmk is highly configurable, both from the command line and in con-
+ figuration files, so that it can accommodate a wide variety of user
+ needs and system configurations. Default values are set according to
the operating system, so latexmk often works without special configura-
tion on MS-Windows, cygwin, Linux, OS-X, and other UNIX systems. See
the section "Configuration/Initialization (rc) Files", and then the
@@ -102,11 +102,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
A very annoying complication handled very reliably by latexmk, is that
LaTeX is a multiple pass system. On each run, LaTeX reads in informa-
tion generated on a previous run, for things like cross referencing and
- indexing. In the simplest cases, a second run of LaTeX suffices, and
- often the log file contains a message about the need for another pass.
- However, there is a wide variety of add-on macro packages to LaTeX,
- with a variety of behaviors. The result is to break simple-minded de-
- terminations of how many runs are needed and of which programs. La-
+ indexing. In the simplest cases, a second run of LaTeX suffices, and
+ often the log file contains a message about the need for another pass.
+ However, there is a wide variety of add-on macro packages to LaTeX,
+ with a variety of behaviors. The result is to break simple-minded de-
+ terminations of how many runs are needed and of which programs. La-
texmk has a highly general and efficient solution to these issues. The
solution involves retaining between runs information on the source
files, and a symptom is that latexmk generates an extra file (with ex-
@@ -122,12 +122,12 @@ LATEXMK OPTIONS AND ARGUMENTS ON COMMAND LINE
All options can be introduced by single or double "-" characters, e.g.,
"latexmk -help" or "latexmk --help".
- Note 1: In the documentation, '*latex' means any of the supported en-
- gines, i.e., currently latex, lualatex, pdflatex, xelatex. Mention of
+ Note 1: In the documentation, '*latex' means any of the supported en-
+ gines, i.e., currently latex, lualatex, pdflatex, xelatex. Mention of
- 24 December 2023 2
+ 10 January 2024 2
@@ -143,12 +143,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Note 2: In addition to the options in the list below, latexmk recog-
nizes almost all the options recognized by the *latex programs in their
- current TeXLive and MiKTeX implementations. Some of the options for
- these programs trigger special action or behavior by latexmk, in which
- case they have specific explanations in this document; in this case
+ current TeXLive and MiKTeX implementations. Some of the options for
+ these programs trigger special action or behavior by latexmk, in which
+ case they have specific explanations in this document; in this case
they may or may not be passed to *latex as well.
- Run latexmk with the -showextraoptions to get a list of the options
+ Run latexmk with the -showextraoptions to get a list of the options
that latexmk accepts and that are simply passed through to *latex. See
also the explanation of the -showextraoptions option for more informa-
tion.
@@ -161,7 +161,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
latexmk will, by default, run on all files in the current work-
ing directory with a ".tex" extension. This behavior can be
changed: see the description concerning the @default_files vari-
- able in the section "List of configuration variables usable in
+ able in the section "List of configuration variables usable in
initialization files".
If a file is specified without an extension, then the ".tex" ex-
@@ -176,24 +176,24 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
filename; certain characters are either prohibited or problem-
atic for the latex etc programs. These characters are: "$",
"%", "\", "~", the double quote character, and the control char-
- acters null, tab, form feed, carriage return, line feed, and
- delete. In addition "&" is prohibited when it is the first
+ acters null, tab, form feed, carriage return, line feed, and
+ delete. In addition "&" is prohibited when it is the first
character of a filename.
- Latexmk gives a fatal error when it detects any of the above
+ Latexmk gives a fatal error when it detects any of the above
characters in the TeX filename(s) specified on the command line.
However before testing for illegal characters, latexmk removes
matching pairs of double quotes from a filename. This matches
the behavior of latex etc, and deals with problems that occa-
sionally result from filenames that have been incorrectly quoted
- on the command line. In addition, under Microsoft Windows, the
+ on the command line. In addition, under Microsoft Windows, the
forward slash character "\" is a directory separator, so latexmk
replaces it by a backward slash "/", which is also a legal di-
rectory separator in Windows, and is accepted by latex etc.
- 24 December 2023 3
+ 10 January 2024 3
@@ -206,7 +206,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Sets the directory for auxiliary output files of *latex (.aux,
.log etc). These are all the generated files, with the excep-
tion of final output files (.dvi, .ps, .pdf, .synctex.gz, .sync-
- tex). See the -outdir/-output-directory option for directories
+ tex). See the -outdir/-output-directory option for directories
for the final output files.
If the directory specified for the -aux/-aux-directory option is
@@ -214,10 +214,10 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
output directory.
If you also use the -cd option, and the specified auxiliary out-
- put directory is a relative path, then the path is interpreted
+ put directory is a relative path, then the path is interpreted
relative to the document directory.
- See the section AUXILIARY AND OUTPUT DIRECTORIES for more de-
+ See the section AUXILIARY AND OUTPUT DIRECTORIES for more de-
tails.
@@ -240,15 +240,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
trying to run bibtex or biber, which would result in overwriting
of the bbl files.
- This property can also be configured by setting the $bibtex_use
+ This property can also be configured by setting the $bibtex_use
variable to 0 in a configuration file.
-bibtex-cond
- When the source file uses a bbl file for the bibliography and
- bibtex is used to generate the bibliography, run bibtex as
- needed to regenerate the bbl files only if the relevant bib
- file(s) exist. Thus when the bib file(s) are not available,
+ When the source file uses a bbl file for the bibliography and
+ bibtex is used to generate the bibliography, run bibtex as
+ needed to regenerate the bbl files only if the relevant bib
+ file(s) exist. Thus when the bib file(s) are not available,
bibtex is not run, thereby avoiding overwriting of the bbl file.
Also, always treat .bbl files as precious, i.e., do not delete
them in a cleanup operation.
@@ -259,7 +259,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 4
+ 10 January 2024 4
@@ -270,13 +270,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The reason for using this setting is first to allow automatic
switching between the use and non-use of bibtex depending on the
- existence or not of a bib file. In addition, when submitting
- articles to a scientific journal, it is common to submit only
- .tex and .bbl files (plus graphics files), but not a .bib file.
- Hence it is often useful to treat .bbl files as true source
+ existence or not of a bib file. In addition, when submitting
+ articles to a scientific journal, it is common to submit only
+ .tex and .bbl files (plus graphics files), but not a .bib file.
+ Hence it is often useful to treat .bbl files as true source
files, that should be preserved under a clean up operation.
- This property can also be configured by setting the $bibtex_use
+ This property can also be configured by setting the $bibtex_use
variable to 1 in a configuration file.
Note that when biber is used, and a bib file doesn't exist, this
@@ -290,11 +290,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The same as -bibtex-cond except that .bbl files are only treated
as precious if one or more bibfiles fails to exist.
- Thus if all the bib files exist, bibtex is run to generate .bbl
- files as needed, and then it is appropriate to delete the bbl
+ Thus if all the bib files exist, bibtex is run to generate .bbl
+ files as needed, and then it is appropriate to delete the bbl
files in a cleanup operation since they can be re-generated.
- This property can also be configured by setting the $bibtex_use
+ This property can also be configured by setting the $bibtex_use
variable to 1.5 in a configuration file.
Note that when biber is used, and a bib file doesn't exist, this
@@ -317,15 +317,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-bm <message>
A banner message to print diagonally across each page when con-
verting the dvi file to postscript. The message must be a sin-
- gle argument on the command line so be careful with quoting spa-
- ces and such.
+ gle argument on the command line so be careful with quoting
+ spaces and such.
Note that if the -bm option is specified, the -ps option is as-
sumed.
- 24 December 2023 5
+ 10 January 2024 5
@@ -341,10 +341,10 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-bs <scale>
- A decimal number that specifies how large the banner message
- will be printed. Experimentation is necessary to get the right
- scale for your message, as a rule of thumb the scale should be
- about equal to 1100 divided by the number of characters in the
+ A decimal number that specifies how large the banner message
+ will be printed. Experimentation is necessary to get the right
+ scale for your message, as a rule of thumb the scale should be
+ about equal to 1100 divided by the number of characters in the
message. The default is 220.0 which is just right for 5 charac-
ter messages.
@@ -356,9 +356,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-c Clean up (remove) all regeneratable files generated by latex and
bibtex or biber except dvi, postscript and pdf. These files are
- a combination of log files, aux files, latexmk's database file
- of source file information, and those with extensions specified
- in the @generated_exts configuration variable. In addition,
+ a combination of log files, aux files, latexmk's database file
+ of source file information, and those with extensions specified
+ in the @generated_exts configuration variable. In addition,
files specified by the $clean_ext and @generated_exts configura-
tion variables are removed.
@@ -368,30 +368,30 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Treatment of .bbl files: If $bibtex_use is set to 0 or 1, bbl
files are always treated as non-regeneratable. If $bibtex_use
is set to 1.5, bbl files are counted as non-regeneratable condi-
- tionally: If the bib file exists, then bbl files are regenerat-
- able, and are deleted in a clean up. But if $bibtex_use is 1.5
- and a bib file doesn't exist, then the bbl files are treated as
+ tionally: If the bib file exists, then bbl files are regenerat-
+ able, and are deleted in a clean up. But if $bibtex_use is 1.5
+ and a bib file doesn't exist, then the bbl files are treated as
non-regeneratable and hence are not deleted.
- In contrast, if $bibtex_use is set to 2, bbl files are always
+ In contrast, if $bibtex_use is set to 2, bbl files are always
treated as regeneratable, and are deleted in a cleanup.
- Treatment of files generated by custom dependencies: If
- $cleanup_includes_cusdep_generated is nonzero, regeneratable
- files are considered as including those generated by custom de-
- pendencies and are also deleted. Otherwise these files are not
+ Treatment of files generated by custom dependencies: If
+ $cleanup_includes_cusdep_generated is nonzero, regeneratable
+ files are considered as including those generated by custom de-
+ pendencies and are also deleted. Otherwise these files are not
deleted.
-C Clean up (remove) all regeneratable files generated by latex and
bibtex or biber. This is the same as the -c option with the ad-
- dition of dvi, postscript and pdf files, and those specified in
+ dition of dvi, postscript and pdf files, and those specified in
the $clean_full_ext configuration variable.
- 24 December 2023 6
+ 10 January 2024 6
@@ -400,42 +400,42 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- This cleanup is instead of a regular make. See the -gg option
+ This cleanup is instead of a regular make. See the -gg option
if you want to do a cleanup followed by a make.
- See the -c option for the specification of whether or not .bbl
+ See the -c option for the specification of whether or not .bbl
files are treated as non-regeneratable or regeneratable.
- If $cleanup_includes_cusdep_generated is nonzero, regeneratable
- files are considered as including those generated by custom de-
- pendencies and are also deleted. Otherwise these files are not
+ If $cleanup_includes_cusdep_generated is nonzero, regeneratable
+ files are considered as including those generated by custom de-
+ pendencies and are also deleted. Otherwise these files are not
deleted.
- -CA (Obsolete). Now equivalent to the -C option. See that option
+ -CA (Obsolete). Now equivalent to the -C option. See that option
for details.
- -cd Change to the directory containing the main source file before
- processing it. Then all the generated files (.aux, .log, .dvi,
+ -cd Change to the directory containing the main source file before
+ processing it. Then all the generated files (.aux, .log, .dvi,
.pdf, etc) will be relative to the source file.
- This option is particularly useful when latexmk is invoked from
- a GUI configured to invoke latexmk with a full pathname for the
+ This option is particularly useful when latexmk is invoked from
+ a GUI configured to invoke latexmk with a full pathname for the
source file.
- This option works by setting the $do_cd configuration variable
- to one; you can set that variable if you want to configure la-
+ This option works by setting the $do_cd configuration variable
+ to one; you can set that variable if you want to configure la-
texmk to have the effect of the -cd option without specifying it
on the command line. See the documentation for that variable.
-cd- Do NOT change to the directory containing the main source file
before processing it. Then all the generated files (.aux, .log,
- .dvi, .pdf, etc) will be relative to the current directory
+ .dvi, .pdf, etc) will be relative to the current directory
rather than the source file.
- This is the default behavior and corresponds to the behavior of
+ This is the default behavior and corresponds to the behavior of
the *latex programs. However, it is not desirable behavior when
latexmk is invoked by a GUI configured to invoke latexmk with a
full pathname for the source file. See the -cd option.
@@ -452,12 +452,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-d Set draft mode. This prints the banner message "DRAFT" across
your page when converting the dvi file to postscript. Size and
intensity can be modified with the -bs and -bi options. The -bm
- option will override this option as this is really just a short
+ option will override this option as this is really just a short
way of specifying:
- 24 December 2023 7
+ 10 January 2024 7
@@ -468,7 +468,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
latexmk -bm DRAFT
- Note that if the -d option is specified, the -ps option is as-
+ Note that if the -d option is specified, the -ps option is as-
sumed.
@@ -483,12 +483,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
put). But you can set the filename where the list is sent by the
-deps-out= option.
- See the section "USING latexmk WITH make" for an example of how
+ See the section "USING latexmk WITH make" for an example of how
to use a dependency list with make.
- Users familiar with GNU automake and gcc will find that the
- -deps option is very similar in its purpose and results to the
- -M option to gcc. (In fact, latexmk also has options -M, -MF,
+ Users familiar with GNU automake and gcc will find that the
+ -deps option is very similar in its purpose and results to the
+ -M option to gcc. (In fact, latexmk also has options -M, -MF,
and -MP options that behave like those of gcc.)
@@ -496,7 +496,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Equivalent to -deps.
- -deps- Do not show a list of dependent files after processing. (This
+ -deps- Do not show a list of dependent files after processing. (This
is the default.)
@@ -508,8 +508,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Set the kind of escaping used for spaces in the dependency list.
The possible values are "none", "unix", "nmake", corresponding
respectively to no escaping, escaping with a "\" suitable for
- standard Unix make, and escaping with "^", suitable for Micro-
- soft's nmake.
+ standard Unix make, and escaping with "^", suitable for Mi-
+ crosoft's nmake.
-deps-out=FILENAME
@@ -523,7 +523,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 8
+ 10 January 2024 8
@@ -545,26 +545,26 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-diagnostics
- Print detailed diagnostics during a run. This may help for de-
- bugging problems or to understand latexmk's behavior in diffi-
+ Print detailed diagnostics during a run. This may help for de-
+ bugging problems or to understand latexmk's behavior in diffi-
cult situations.
-dir-report
- For each .tex file processed, list the settings for aux and out
- directories, after they have been normalized from the settings
- specified during initialization. See the description of the
+ For each .tex file processed, list the settings for aux and out
+ directories, after they have been normalized from the settings
+ specified during initialization. See the description of the
variable $aux_out_dir_report for more details.
-dir-report-
- Do not report the settings for aux and out directories. (De-
+ Do not report the settings for aux and out directories. (De-
fault)
-dir-report-only
- After all initialization is complete, give the settings for the
- aux and out directories, and then halt. This option is primar-
+ After all initialization is complete, give the settings for the
+ aux and out directories, and then halt. This option is primar-
ily used for debugging configuration issues.
@@ -572,13 +572,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-dvilua
- Generate dvi version of document using lualatex instead of la-
+ Generate dvi version of document using lualatex instead of la-
tex.
- -dvi- Turn off generation of dvi version of document. (This may get
- overridden, if some other file is made (e.g., a .ps file) that
- is generated from the dvi file, or if no generated file at all
+ -dvi- Turn off generation of dvi version of document. (This may get
+ overridden, if some other file is made (e.g., a .ps file) that
+ is generated from the dvi file, or if no generated file at all
is requested.)
@@ -589,7 +589,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 9
+ 10 January 2024 9
@@ -655,7 +655,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 10
+ 10 January 2024 10
@@ -675,24 +675,24 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-emulate-aux-dir-
Turn off emulation to implement an aux directory and leave it to
- the *latex program to handle the case that the aux directory is
- different from the output directory. Note that if you use
- TeXLive, which doesn't support -aux-directory, latexmk will au-
- tomatically switch aux_dir emulation on after the first run of
+ the *latex program to handle the case that the aux directory is
+ different from the output directory. Note that if you use
+ TeXLive, which doesn't support -aux-directory, latexmk will au-
+ tomatically switch aux_dir emulation on after the first run of
*latex, because it will find the .log file in the wrong place.
- -f Force latexmk to continue document processing despite errors.
+ -f Force latexmk to continue document processing despite errors.
Normally, when latexmk detects that LaTeX or another program has
found an error which will not be resolved by further processing,
no further processing is carried out.
- Note: "Further processing" means the running of other programs
- or the rerunning of latex (etc) that would be done if no errors
- had occurred. If instead, or additionally, you want the latex
- (etc) program not to pause for user input after an error, you
- should arrange this by an option that is passed to the program,
- e.g., by latexmk's option -interaction=nonstopmode (which la-
+ Note: "Further processing" means the running of other programs
+ or the rerunning of latex (etc) that would be done if no errors
+ had occurred. If instead, or additionally, you want the latex
+ (etc) program not to pause for user input after an error, you
+ should arrange this by an option that is passed to the program,
+ e.g., by latexmk's option -interaction=nonstopmode (which la-
texmk passes to *latex).
@@ -721,7 +721,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 11
+ 10 January 2024 11
@@ -730,16 +730,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- -hnt Generate hnt (HINT) version of document using hilatex. (And
+ -hnt Generate hnt (HINT) version of document using hilatex. (And
turn off dvi, postscript, and pdf modes.)
-jobname=STRING
- Set the basename of output files(s) to STRING, instead of the
- default, which is the basename of the specified TeX file. (At
+ Set the basename of output files(s) to STRING, instead of the
+ default, which is the basename of the specified TeX file. (At
present, STRING should not contain spaces.)
- This is like the same option for current implementations of the
+ This is like the same option for current implementations of the
*latex, and the passing of this option to these programs is part
of latexmk's implementation of -jobname.
@@ -756,13 +756,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
latexmk -pdf -jobname=%A-pdflatex *.tex
latexmk -pdfxe -jobname=%A-xelatex *.tex
- Then the .aux, .log, and .pdf files from the use of pdflatex
- would have basenames test1-pdflatex and test2-pdflatex, while
+ Then the .aux, .log, and .pdf files from the use of pdflatex
+ would have basenames test1-pdflatex and test2-pdflatex, while
from xelatex, the basenames would be test1-xelatex and test2-xe-
latex.
Under MS-Windows with cmd.exe, you would need to double the per-
- cent sign, so that the percent character is passed to latexmk
+ cent sign, so that the percent character is passed to latexmk
rather than being used to substitute an environment variable:
latexmk -pdf -jobname=%%A-pdflatex *.tex
@@ -787,7 +787,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 12
+ 10 January 2024 12
@@ -798,18 +798,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-latex="COMMAND"
This sets the string specifying the command to run latex, and is
- typically used to add desired options. Since the string nor-
+ typically used to add desired options. Since the string nor-
mally contains spaces, it should be quoted, e.g.,
latexmk -latex="latex --shell-escape %O %S" foo.tex
- The specification of the contents of the string are the same as
- for the $latex configuration variable. Depending on your oper-
- ating system and the command-line shell you are using, you may
- need to change the single quotes to double quotes (or something
+ The specification of the contents of the string are the same as
+ for the $latex configuration variable. Depending on your oper-
+ ating system and the command-line shell you are using, you may
+ need to change the single quotes to double quotes (or something
else).
- Note: This option when provided with the COMMAND argument only
+ Note: This option when provided with the COMMAND argument only
sets the command for invoking latex; it does not turn on the use
of latex. That is done by other options or in an initialization
file.
@@ -819,31 +819,31 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-logfilewarninglist
- -logfilewarnings After a run of *latex, give a list of warnings
- about undefined citations and references (unless silent mode is
+ -logfilewarnings After a run of *latex, give a list of warnings
+ about undefined citations and references (unless silent mode is
on).
See also the $silence_logfile_warnings configuration variable.
-logfilewarninglist-
- -logfilewarnings- After a run of *latex, do not give a list of
+ -logfilewarnings- After a run of *latex, do not give a list of
warnings about undefined citations and references. (Default)
See also the $silence_logfile_warnings configuration variable.
-lualatex
- Use lualatex. That is, use lualatex to process the source
- file(s) to pdf. The generation of dvi and postscript files is
+ Use lualatex. That is, use lualatex to process the source
+ file(s) to pdf. The generation of dvi and postscript files is
turned off.
This option is equivalent to using the following set of options
-pdflua -dvi- -ps-
- (Note: Note that the method of implementation of this option,
- but not its intended effect, differ from some earlier versions
+ (Note: Note that the method of implementation of this option,
+ but not its intended effect, differ from some earlier versions
of latexmk.)
@@ -853,7 +853,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 13
+ 10 January 2024 13
@@ -870,12 +870,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
ization file.
- -M Show list of dependent files after processing. This is equiva-
+ -M Show list of dependent files after processing. This is equiva-
lent to the -deps option.
-MF file
- If a list of dependents is made, the -MF specifies the file to
+ If a list of dependents is made, the -MF specifies the file to
write it to.
@@ -886,7 +886,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-makeindexfudge
- Turn on the change-directory fudge for makeindex. See documen-
+ Turn on the change-directory fudge for makeindex. See documen-
tation of $makeindex_fudge for details.
@@ -908,18 +908,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
the character used by Unix-like systems.
This is the default behavior. However the default may have been
- overridden by a configuration file (latexmkrc file) which sets
+ overridden by a configuration file (latexmkrc file) which sets
$MSWin_back_slash=0.
-MSWinBackSlash-
This option only has an effect when latexmk is running under MS-
Windows. This is that when latexmk runs a command under MS-Win-
- dows, the substitution of "\" for the separator character
+ dows, the substitution of "\" for the separator character
- 24 December 2023 14
+ 10 January 2024 14
@@ -959,7 +959,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-nobibtexfudge or -nobibfudge
- Turn off the change-directory fudge for bibtex. See documenta-
+ Turn off the change-directory fudge for bibtex. See documenta-
tion of $bibtex_fudge for details.
@@ -985,7 +985,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 15
+ 10 January 2024 15
@@ -997,7 +997,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Sets the directory for the output files of *latex.
If the aux directory is not set or is the same as the output di-
- rectory, then all output files of *latex are sent to the output
+ rectory, then all output files of *latex are sent to the output
directory.
If the aux directory is set, e.g., by the option -auxdir, and is
@@ -1036,9 +1036,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
systems, where the default is to use the lpr command and only on
postscript files. In general, the correct behavior for printing
very much depends on your system's software. In particular, un-
- der MS-Windows you must have suitable program(s) available, and
- you must have configured the print commands used by latexmk.
- This can be non-trivial. See the documentation on the $lpr,
+ der MS-Windows you must have suitable program(s) available, and
+ you must have configured the print commands used by latexmk.
+ This can be non-trivial. See the documentation on the $lpr,
$lpr_dvi, and $lpr_pdf configuration variables to see how to set
the commands for printing.
@@ -1046,12 +1046,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
turns them off.
- -pdf Generate pdf version of document using pdflatex. (If you wish
+ -pdf Generate pdf version of document using pdflatex. (If you wish
to use lualatex or xelatex, you can use whichever of the options
- 24 December 2023 16
+ 10 January 2024 16
@@ -1081,43 +1081,43 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-pdfps Generate dvi file, ps file from the dvi file, and then pdf file
from the ps file.
- The program used to compile the document to dvi is latex by de-
- fault, but this can be changed to dvilulatex by the use of the
+ The program used to compile the document to dvi is latex by de-
+ fault, but this can be changed to dvilulatex by the use of the
-dvilua option or by setting $dvi_mode to 2.
- -pdfxe Generate pdf version of document using xelatex. Note that to
- optimize processing time, latexmk uses xelatex to generate an
- .xdv file rather than a pdf file directly. Only after possibly
- multiple runs to generate a fully up-to-date .xdv file does la-
+ -pdfxe Generate pdf version of document using xelatex. Note that to
+ optimize processing time, latexmk uses xelatex to generate an
+ .xdv file rather than a pdf file directly. Only after possibly
+ multiple runs to generate a fully up-to-date .xdv file does la-
texmk then call xdvipdfmx to generate the final .pdf file.
- (Note: The reason why latexmk arranges for xelatex to make an
- .xdv file instead of the xelatex's default of a .pdf file is as
- follows: When the document includes large graphics files, espe-
- cially .png files, the production of a .pdf file can be quite
+ (Note: The reason why latexmk arranges for xelatex to make an
+ .xdv file instead of the xelatex's default of a .pdf file is as
+ follows: When the document includes large graphics files, espe-
+ cially .png files, the production of a .pdf file can be quite
time consuming, even when the creation of the .xdv file by xela-
tex is fast. So the use of the intermediate .xdv file can re-
sult in substantial gains in procesing time, since the .pdf file
is produced once rather than on every run of xelatex.)
- -pdf- Turn off generation of pdf version of document. (This can be
- used to override a setting in a configuration file. It may get
+ -pdf- Turn off generation of pdf version of document. (This can be
+ used to override a setting in a configuration file. It may get
overridden if some other option requires the generation of a pdf
file.)
If after all options have been processed, pdf generation is
still turned off, then generation of a dvi file will be turned
on, and then the program used to compiled a document will be la-
- tex (or, more precisely, whatever program is configured to be
+ tex (or, more precisely, whatever program is configured to be
used in the $latex configuration variable).
- 24 December 2023 17
+ 10 January 2024 17
@@ -1154,7 +1154,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
use of pdflatex. That is done by other options or in an initial-
ization file.
- To set the command for running latex (rather than the command
+ To set the command for running latex (rather than the command
for pdflatex) see the -latex option.
@@ -1171,8 +1171,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Given that CODE is some TeX code, this options sets that code to
be executed before inputting source file. This only works if
the command for invoking the relevant *latex is suitably config-
- ured. See the documentation of the variable $pre_tex_code, and
- the substitution strings %P and %U for more details. This op-
+ ured. See the documentation of the variable $pre_tex_code, and
+ the substitution strings %P and %U for more details. This op-
tion works by setting the variable $pre_tex_code.
See also the -usepretex option.
@@ -1183,7 +1183,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 18
+ 10 January 2024 18
@@ -1204,7 +1204,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-print=dvi, -print=ps, -print=pdf, -print=auto,
- Define which kind of file is printed. This option also ensures
+ Define which kind of file is printed. This option also ensures
that the requisite file is made, and turns on printing.
The (default) case -print=auto determines the kind of print file
@@ -1217,13 +1217,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-ps- Turn off generation of postscript version of document. This can
- be used to override a setting in a configuration file. (It may
- get overridden by some other option that requires a postscript
+ be used to override a setting in a configuration file. (It may
+ get overridden by some other option that requires a postscript
file, for example a request for printing.)
- -pF Postscript file filtering. The argument to this option is a
- filter which will generate a filtered postscript file with the
+ -pF Postscript file filtering. The argument to this option is a
+ filter which will generate a filtered postscript file with the
extension ".psF". All extra processing (e.g. preview, printing)
will then be performed on this filtered postscript file.
@@ -1236,11 +1236,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
latexmk -ps -pF "psnup -2" foo.tex
Whether to use single or double quotes round the "psnup -2" will
- depend on your command interpreter, as used by the particular
+ depend on your command interpreter, as used by the particular
version of perl and the operating system on your computer.
- -pv Run file previewer. If the -view option is used, that will se-
+ -pv Run file previewer. If the -view option is used, that will se-
lect the kind of file to be previewed (.pdf, .ps or .dvi). Oth-
erwise the viewer views the "highest" kind of output file that
is made, with the ordering being .pdf, .ps, .dvi (high to low).
@@ -1249,7 +1249,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 19
+ 10 January 2024 19
@@ -1263,16 +1263,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-pvc Run a file previewer and continually update the .dvi, .ps,
and/or .pdf files whenever changes are made to source files (see
- the Description above). Which of these files is generated and
- which is viewed is governed by the other options, and is the
- same as for the -pv option. The preview-continuous option -pvc
- can only work with one file. So in this case you will normally
- only specify one filename on the command line. It is also in-
- compatible with the -p and -pv options, so it turns these op-
+ the Description above). Which of these files is generated and
+ which is viewed is governed by the other options, and is the
+ same as for the -pv option. The preview-continuous option -pvc
+ can only work with one file. So in this case you will normally
+ only specify one filename on the command line. It is also in-
+ compatible with the -p and -pv options, so it turns these op-
tions off.
- The -pvc option also turns off force mode (-f), as is normally
- best for continuous preview mode. If you really want force
+ The -pvc option also turns off force mode (-f), as is normally
+ best for continuous preview mode. If you really want force
mode, use the options in the order -pvc -f.
With a good previewer the display will be automatically updated.
@@ -1294,10 +1294,10 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Note that if latexmk dies or is stopped by the user, the
"forked" previewer will continue to run. Successive invocations
- with the -pvc option will not fork new previewers, but latexmk
- will normally use the existing previewer. (At least this will
- happen when latexmk is running under an operating system where
- it knows how to determine whether an existing previewer is run-
+ with the -pvc option will not fork new previewers, but latexmk
+ will normally use the existing previewer. (At least this will
+ happen when latexmk is running under an operating system where
+ it knows how to determine whether an existing previewer is run-
ning.)
@@ -1305,7 +1305,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-pvctimeout
- Do timeout in pvc mode after period of inactivity, which is 30
+ Do timeout in pvc mode after period of inactivity, which is 30
min. by default. Inactivity means a period when latexmk has de-
tected no file changes and hence has not taken any actions like
compiling the document.
@@ -1315,7 +1315,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 20
+ 10 January 2024 20
@@ -1340,11 +1340,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
cessing.
Be careful about the ordering: (1) Standard initialization files
- -- see the section below on "Configuration/initialization (RC)
- files" -- are read first. (2) Then the options on the command
- line are acted on in the order they are given. Therefore if an
- initialization file is specified by the -r option, it is read
- during this second step. Thus an initialization file specified
+ -- see the section below on "Configuration/initialization (RC)
+ files" -- are read first. (2) Then the options on the command
+ line are acted on in the order they are given. Therefore if an
+ initialization file is specified by the -r option, it is read
+ during this second step. Thus an initialization file specified
with the -r option can override both the standard initialization
files and previously specified options. But all of these can be
overridden by later options.
@@ -1360,7 +1360,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-rc-report
- After initialization, give a list of the RC files read. (De-
+ After initialization, give a list of the RC files read. (De-
fault)
@@ -1369,10 +1369,10 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-recorder
- Give the -recorder option with *latex. In (most) modern ver-
- sions of these programs, this results in a file of extension
- .fls containing a list of the files that these programs have
- read and written. Latexmk will then use this file to improve
+ Give the -recorder option with *latex. In (most) modern ver-
+ sions of these programs, this results in a file of extension
+ .fls containing a list of the files that these programs have
+ read and written. Latexmk will then use this file to improve
its detection of source files and generated files after a run of
*latex. This is the default setting of latexmk, unless overrid-
den in an initialization file.
@@ -1381,7 +1381,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 21
+ 10 January 2024 21
@@ -1424,13 +1424,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
There are certain options for *latex (e.g., -recorder) that
trigger special actions or behavior by latexmk itself. Depending
- on the action, they may also be passed in some form to the
+ on the action, they may also be passed in some form to the
called *latex program, and/or may affect other programs as well.
These options do have entries in this documentation. Among
these options are: -jobname=STRING, -aux-directory=dir, -output-
directory=DIR, -quiet, and -recorder.
- There are also options that are accepted by *latex, but instead
+ There are also options that are accepted by *latex, but instead
trigger actions purely by latexmk: -help, -version.
@@ -1447,7 +1447,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 22
+ 10 January 2024 22
@@ -1460,38 +1460,38 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
To change the options used to make the commands run silently,
you need to configure latexmk with changed values of its config-
- uration variables, the relevant ones being $bib-
- tex_silent_switch, $biber_silent_switch, $dvipdf_silent_switch,
+ uration variables, the relevant ones being $bib-
+ tex_silent_switch, $biber_silent_switch, $dvipdf_silent_switch,
$dvips_silent_switch, $dvilualatex_silent_switch, $la-
- tex_silent_switch, $lualatex_silent_switch $makein-
- dex_silent_switch, $pdflatex_silent_switch, and $xela-
+ tex_silent_switch, $lualatex_silent_switch $makein-
+ dex_silent_switch, $pdflatex_silent_switch, and $xela-
tex_silent_switch
-stdtexcmds
- Sets the commands for latex, etc, so that they are the standard
+ Sets the commands for latex, etc, so that they are the standard
ones. This is useful to override special configurations.
- The result is that $latex = 'latex %O %S', and similarly for
- $pdflatex, $lualatex, and $xelatex. (The option -no-pdf needed
+ The result is that $latex = 'latex %O %S', and similarly for
+ $pdflatex, $lualatex, and $xelatex. (The option -no-pdf needed
for $xelatex is provided automatically, given that %O appears in
the definition.)
-time Show time used. (On MS Windows, what is shown is clock time; on
- other systems CPU time.) See also the configuration variable
+ other systems CPU time.) See also the configuration variable
$show_time.
- -time- Do not show time used. See also the configuration variable
+ -time- Do not show time used. See also the configuration variable
$show_time.
-use-make
- When after a run of *latex, there are warnings about missing
- files (e.g., as requested by the LaTeX \input, \include, and
- \includgraphics commands), latexmk tries to make them by a cus-
- tom dependency. If no relevant custom dependency with an appro-
+ When after a run of *latex, there are warnings about missing
+ files (e.g., as requested by the LaTeX \input, \include, and
+ \includgraphics commands), latexmk tries to make them by a cus-
+ tom dependency. If no relevant custom dependency with an appro-
priate source file is found, and if the -use-make option is set,
then as a last resort latexmk will try to use the make program
to try to make the missing files.
@@ -1513,7 +1513,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 23
+ 10 January 2024 23
@@ -1524,13 +1524,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-usepretex
Sets the command lines for latex, etc, so that they use the code
- that is defined by the variable $pre_tex_code or that is set by
+ that is defined by the variable $pre_tex_code or that is set by
the option -pretex=CODE to execute the specified TeX code before
- the source file is read. This option overrides any previous
- definition of the command lines.
+ the source file is read. This option overrides any previous de-
+ finition of the command lines.
- The result is that $latex = 'latex %O %P', and similarly for
- $pdflatex, $lualatex, and $xelatex. (The option -no-pdf needed
+ The result is that $latex = 'latex %O %P', and similarly for
+ $pdflatex, $lualatex, and $xelatex. (The option -no-pdf needed
for $xelatex is provided automatically, given that %O appears in
the definition.)
@@ -1570,7 +1570,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
completed all the runs it needs to try and resolve references
and citations. Thus -Werror causes latexmk to treat such warn-
ings as errors, but only when they occur on the last run of *la-
- tex and only after processing is complete. Also can be set by
+ tex and only after processing is complete. Also can be set by
the configuration variable $warnings_as_errors.
@@ -1579,7 +1579,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 24
+ 10 January 2024 24
@@ -1611,19 +1611,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
sets the variable $xelatex.
Warning: It is important to ensure that the -no-pdf is used when
- xelatex is invoked, since latexmk expects xelatex to produce an
- .xdv file, not a .pdf file. If you provide %O in the command
- specification, this will be done automatically. See the docu-
- mentation for the -pdfxe option for why latexmk makes a .xdv
+ xelatex is invoked, since latexmk expects xelatex to produce an
+ .xdv file, not a .pdf file. If you provide %O in the command
+ specification, this will be done automatically. See the docu-
+ mentation for the -pdfxe option for why latexmk makes a .xdv
file rather than a .pdf file when xelatex is used.
An example of the use of the -pdfxelatex option:
- latexmk -pdfxe -pdfxelatex="xelatex --shell-escape %O %S"
+ latexmk -pdfxe -pdfxelatex="xelatex --shell-escape %O %S"
foo.tex
- Note: This option when provided with the COMMAND argument only
- sets the command for invoking lualatex; it does not turn on the
+ Note: This option when provided with the COMMAND argument only
+ sets the command for invoking lualatex; it does not turn on the
use of lualatex. That is done by other options or in an initial-
ization file.
@@ -1645,7 +1645,7 @@ EXAMPLES
- 24 December 2023 25
+ 10 January 2024 25
@@ -1677,9 +1677,9 @@ DEALING WITH ERRORS, PROBLEMS, ETC
a. If you get a strange error, do look carefully at the output that is
on the screen and in log files. While there is much that is notori-
ously verbose in the output of latex (and that is added to by latexmk),
- the verbosity is there for a reason: to enable the user to diagnose
- problems. Latexmk does repeat some messages at the end of a run that
- it thinks would otherwise be easy to miss in the middle of other out-
+ the verbosity is there for a reason: to enable the user to diagnose
+ problems. Latexmk does repeat some messages at the end of a run that
+ it thinks would otherwise be easy to miss in the middle of other out-
put.
b. Generally, remember that latexmk does its work by running other pro-
@@ -1690,19 +1690,19 @@ DEALING WITH ERRORS, PROBLEMS, ETC
ing LaTeX packages, etc.)
c. If latexmk doesn't run the programs the way you would like, then you
- need to look in this documentation at the list of command line options
- and then at the sections on configuration/initialization files. A lot
- of latexmk's behavior is configurable to deal with particular situa-
+ need to look in this documentation at the list of command line options
+ and then at the sections on configuration/initialization files. A lot
+ of latexmk's behavior is configurable to deal with particular situa-
tions. (But there is a lot of reading!)
- The remainder of these notes consists of ideas for dealing with more
+ The remainder of these notes consists of ideas for dealing with more
difficult situations.
- d. Further tricks can involve replacing the standard commands that la-
+ d. Further tricks can involve replacing the standard commands that la-
texmk runs by other commands or scripts.
- e. For possible examples of code for use in an RC file, see the direc-
- tory example_rcfiles in the distribution of latexmk (e.g., at
+ e. For possible examples of code for use in an RC file, see the direc-
+ tory example_rcfiles in the distribution of latexmk (e.g., at
http://mirror.ctan.org/support/latexmk/example_rcfiles). Even if these
examples don't do what you want, they may provide suitable inspiration.
@@ -1711,7 +1711,7 @@ DEALING WITH ERRORS, PROBLEMS, ETC
- 24 December 2023 26
+ 10 January 2024 26
@@ -1755,7 +1755,7 @@ AUXILIARY AND OUTPUT DIRECTORIES
purposes here, we identify two classes of generated file.
One class is what one may term the final output files, for example, the
- .pdf file generated by running pdflatex, or the .dvi file from latex.
+ .pdf file generated by running pdflatex, or the .dvi file from latex.
Also in this class is the ps file generated by applying dvips to a .dvi
file. There are also .synctec or .synctex.gz files that can be used by
programs that display .pdf files and the like to relate positions in
@@ -1764,20 +1764,20 @@ AUXILIARY AND OUTPUT DIRECTORIES
The second class of file is composed of all other generated files:
These include notably .aux files that are used for implementing cross
referencing, and are both generated on one run and read on a later run.
- Many packages generate yet more such intermediate files, as well as
- programs like bibtex, makeindex, etc. There are also .log files from
+ Many packages generate yet more such intermediate files, as well as
+ programs like bibtex, makeindex, etc. There are also .log files from
*latex and corresponding files from other programs.
- Let us use the term "output directory" for the directory that receives
- the final output files, and "aux directory" for the directory for the
- other generated files. If no special options are provided to the *la-
- tex programs, these directories default to the current directory, and
+ Let us use the term "output directory" for the directory that receives
+ the final output files, and "aux directory" for the directory for the
+ other generated files. If no special options are provided to the *la-
+ tex programs, these directories default to the current directory, and
then the generated files aren't segregated. If the two directories are
the same, as is the simplest situation, then all generated files are
- 24 December 2023 27
+ 10 January 2024 27
@@ -1791,22 +1791,22 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Support for them is provided for them in the *latex programs: by the
single option -output-directory for the TeXLive implementations, and by
- the options -aux-directory and -output-directory for the MiKTeX imple-
+ the options -aux-directory and -output-directory for the MiKTeX imple-
mentations. Special support like this is needed for two reasons: First
- is that there are many packages that write files and it needs to be ar-
- ranged that these are automatically written to the appropriate direc-
- tory without any rewriting of the packages' code. Second is that the
- files are often read in again on subsequent runs of *latex, and it is
+ is that there are many packages that write files and it needs to be
+ arranged that these are automatically written to the appropriate direc-
+ tory without any rewriting of the packages' code. Second is that the
+ files are often read in again on subsequent runs of *latex, and it is
necessary that the program knows where to find the files.
- A complication is that the TeXLive implementation does not allow for
- separate aux and output directories. Latexmk deals with this by being
- able to emulating a separate aux directory: In this method it invokes
- *latex with just an -output-directory option, with the directory set
- not to the desired output directory, but to the aux directory. After
- running *latex, it moves the relevant final output file(s) to the in-
- tended output directory. Emulation can be turned on by setting the
- configuration variable $emulate_aux to one in a configuration file or
+ A complication is that the TeXLive implementation does not allow for
+ separate aux and output directories. Latexmk deals with this by being
+ able to emulating a separate aux directory: In this method it invokes
+ *latex with just an -output-directory option, with the directory set
+ not to the desired output directory, but to the aux directory. After
+ running *latex, it moves the relevant final output file(s) to the in-
+ tended output directory. Emulation can be turned on by setting the
+ configuration variable $emulate_aux to one in a configuration file or
by using latexmk's -emulate-aux-dir option. The emulation method works
equally well if MiKTeX is used.
@@ -1817,7 +1817,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
tably because the .log file is in the output directory rather than the
aux directory. Latexmk then sets emulation on, and retries. Conceiv-
ably, it could move all the appropriate generated files from the output
- directory to the aux directory; but there is such a large variety of
+ directory to the aux directory; but there is such a large variety of
possibilities for these files that this is hard to identify all of them
reliably except for simple cases.
@@ -1838,12 +1838,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
sions .dvi, .ps., .pdf, .synctex, and .synctex.gz. A special case, be-
cause of compatibility issues, is of .fls files: See below.
- Note that xelatex when invoked with its -no-pdf option, as latexmk
- does, generates an .xdv file, which would appear to have the same
+ Note that xelatex when invoked with its -no-pdf option, as latexmk
+ does, generates an .xdv file, which would appear to have the same
- 24 December 2023 28
+ 10 January 2024 28
@@ -1857,32 +1857,32 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
is to match MiKTeX's treatment of the -aux-directory option. As fur-
ther justification, one can say that under modern conditions an .xdv
file is (almost) always an intermediate file. Historically, the situa-
- tion with .dvi files from latex was different, and currently dvi pre-
+ tion with .dvi files from latex was different, and currently dvi pre-
viewers do exist.
- Variables and options for directories: The variables for setting the
- aux and output directories are $aux_dir and $out_dir, with correspond-
- ing command line options -auxdir (or -aux-directory) and -outdir (or
- -output-directory). When a value for these is blank (which is the de-
- fault value), it implies the use of a default: For the aux directory,
+ Variables and options for directories: The variables for setting the
+ aux and output directories are $aux_dir and $out_dir, with correspond-
+ ing command line options -auxdir (or -aux-directory) and -outdir (or
+ -output-directory). When a value for these is blank (which is the de-
+ fault value), it implies the use of a default: For the aux directory,
the default is to set it equal to the output directory. For the output
directory, the default is to be the current directory.
For the turning on and off of the emulation mode, there is the configu-
- ration variable $emulate_aux and the options -emulate-aux-dir, -emu-
+ ration variable $emulate_aux and the options -emulate-aux-dir, -emu-
late-aux-dir-, -noemulate-aux-dir.
Interaction with -cd option: When the -cd option is used (or the equiv-
alent setting of $do_cd variable), then latexmk changes the working di-
- rectory to the document directory before invoking *latex. If the aux
- and/or output directories are given by relative paths, e.g., by -out-
- dir=output for a directory named "output", then the directories are
+ rectory to the document directory before invoking *latex. If the aux
+ and/or output directories are given by relative paths, e.g., by -out-
+ dir=output for a directory named "output", then the directories are
relative to the document directory, rather than relative to the working
directory that was in effect when latexmk was invoked. This matches the
- behavior of *latex as invoked with the provided command line directory
- argument(s) after the change of working directory to the document di-
+ behavior of *latex as invoked with the provided command line directory
+ argument(s) after the change of working directory to the document di-
rectory.
Automatic creation of aux and output directories: Unlike *latex, if la-
@@ -1894,22 +1894,22 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
sponding subdirectory of the aux directory. If the subdirectory
doesn't exist, then *latex will complain that it can't write the aux
file. After the run of *latex, latexmk detects this situation, creates
- the necessary directory, and reruns *latex with the error situation
+ the necessary directory, and reruns *latex with the error situation
corrected.
Choice of aux and output directories: Often the aux and output directo-
ries are given as subdirectories of the document directory, e.g., by
-outdir=output. But it is possible to provide, for example, an absolute
- path or a path relative to a parent directory, e.g., "/tmp/foo" or
+ path or a path relative to a parent directory, e.g., "/tmp/foo" or
"../output". Be aware that in general this can cause problems, notably
with makeindex or bibtex. This is because modern versions of these
programs, by default, will refuse to work when they find that they are
asked to write to a file in a directory that appears not to be the cur-
- rent working directory or one of its subdirectories. This is part of
+ rent working directory or one of its subdirectories. This is part of
- 24 December 2023 29
+ 10 January 2024 29
@@ -1921,37 +1921,37 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
security measures by the whole TeX system that try to prevent malicious
or errant TeX documents from incorrectly messing with a user's files.
- By default, latexmk evades this issue: Before running bibtex and make-
- index, latexmk changes working directory to the aux directory, with ap-
- propriate settings of search paths. The use or non-use of this trick
+ By default, latexmk evades this issue: Before running bibtex and
+ makeindex, latexmk changes working directory to the aux directory, with
+ appropriate settings of search paths. The use or non-use of this trick
is governed by the variables $bibtex_fudge and $makeindex_fudge. Un-
fortunately, the trick sometimes makes bibtex and makeindex unable to
find files.
If necessary the trick can be turned off. But this is incompatible with
- an aux directory like, "/tmp/foo" of "../output"). If you really have
+ an aux directory like, "/tmp/foo" of "../output"). If you really have
to deal with this situation, and only if you have to deal with it, then
you need to disable the security measures (and assume any risks). One
way of doing this is to temporarily set an operating system environment
- variable openout_any to "a" (as in "all"), to override the default
+ variable openout_any to "a" (as in "all"), to override the default
"paranoid" setting.
- Certain names of aux and output directories not allowed on Microsoft
+ Certain names of aux and output directories not allowed on Microsoft
Windows: It is natural to want to use the name "aux" for the aux direc-
tory, e.g., by using the option -auxdir=aux. But on Microsoft operat-
ing systems "aux" is one of the names that is not allowed for a file or
- directory. I find it useful to standardize on a name like "auxdir"
- (e.g., by -auxdir=auxdir); this works independently of operating sys-
+ directory. I find it useful to standardize on a name like "auxdir"
+ (e.g., by -auxdir=auxdir); this works independently of operating sys-
tem.
- Location of .fls file: Much of the dependency information that latexmk
+ Location of .fls file: Much of the dependency information that latexmk
uses comes from the .fls file generated when *latex is invoked with the
-recorder option, which latexmk does by default. It may seem rational
that this is written to the aux directory. But in fact versions of
MiKTeX prior to Oct. 2020 wrote it to the output directory. Later ver-
- sions do write it to the aux directory. To deal with this, latexmk
- does two things: First, if latexmk finds that the .fls file has only
- been generated in the "wrong" directory, then latexmk copies it to the
+ sions do write it to the aux directory. To deal with this, latexmk
+ does two things: First, if latexmk finds that the .fls file has only
+ been generated in the "wrong" directory, then latexmk copies it to the
expected directory, after which latexmk's operation continues correctly
independently of the behavior of *latex. Second it allows its idea of
the "correct" (or expected) directory to be configured by the variable
@@ -1962,20 +1962,20 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
ALLOWING FOR CHANGE OF OUTPUT FILE TYPE
When one of the latex engines is run, the usual situation is that latex
- produces a .dvi file, while pdflatex and lualatex produce a .pdf file.
+ produces a .dvi file, while pdflatex and lualatex produce a .pdf file.
For xelatex the default is to produce a .pdf file, but to optimize pro-
cessing time latexmk runs xelatex its -no-pdf option so that it pro-
duces an .xdv file. Further processing by latexmk takes this as a
starting point.
However, the actual output file may differ from the normal expectation;
- and then latexmk can adjust its processing to accommodate this situa-
- tion. The difference in output file type can happen for two reasons:
- One is that for latex, pdflatex and lualatex the document itself can
+ and then latexmk can adjust its processing to accommodate this situa-
+ tion. The difference in output file type can happen for two reasons:
+ One is that for latex, pdflatex and lualatex the document itself can
- 24 December 2023 30
+ 10 January 2024 30
@@ -1984,7 +1984,7 @@ ALLOWING FOR CHANGE OF OUTPUT FILE TYPE
LATEXMK(1) General Commands Manual LATEXMK(1)
- override the defaults. The other is that there may be a configuration,
+ override the defaults. The other is that there may be a configuration,
or misconfiguration, such that the program that latexmk invokes to com-
pile the document is not the expected one, or is given options incom-
patible with what latexmk initially expects.
@@ -1994,20 +1994,20 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
mode macro is used instead.
One example of an important use-case for document control of the output
- format is a document that uses the psfrag package to insert graphical
+ format is a document that uses the psfrag package to insert graphical
elements in the output file. The psfrag package achieves its effects by
inserting postscript code in the output of the compilation of the docu-
- ment. This entails the use of compilation to a .dvi file, followed by
- the use of conversion to a postscript file (either directly, as by
- dvips or implicitly, as an intermediate step by dvipdf). Then it is
- useful to force output to be of the .dvi format by inserting \pdfout-
+ ment. This entails the use of compilation to a .dvi file, followed by
+ the use of conversion to a postscript file (either directly, as by
+ dvips or implicitly, as an intermediate step by dvipdf). Then it is
+ useful to force output to be of the .dvi format by inserting \pdfout-
put=0 in the preamble of the document.
- Another example is where the document uses graphics file of the .pdf,
- .jpg, and png types. With the default setting for the graphicx pack-
- age, these can be processed in compilation to .pdf but not with compi-
- lation to .dvi. In this case, it is useful to insert \pdfoutput=1 in
- the preamble of the document to force compilation to .pdf output for-
+ Another example is where the document uses graphics file of the .pdf,
+ .jpg, and png types. With the default setting for the graphicx pack-
+ age, these can be processed in compilation to .pdf but not with compi-
+ lation to .dvi. In this case, it is useful to insert \pdfoutput=1 in
+ the preamble of the document to force compilation to .pdf output for-
mat.
In all of these cases, it is needed that latexmk has to adjust its pro-
@@ -2016,15 +2016,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Latexmk does this provided the following conditions are met.
The first is that latexmk's $allow_switch configuration variable is set
- to a non-zero value as it is by default. If this variable is zero, a
+ to a non-zero value as it is by default. If this variable is zero, a
mismatch of filetypes in the compilation results in an error.
- The second condition for latexmk to be able to handle a change of out-
- put type is that no explicit requests for .dvi or .ps output files are
- made. Explicit requests are by the -dvi and -ps, -print=dvi,
- -print=ps, -view=dvi, and -view=ps options, and by corresponding set-
- tings of the $dvi_mode, $postscript_mode, $print_type, and $view con-
- figuration variables. The print-type and view-type restrictions only
+ The second condition for latexmk to be able to handle a change of out-
+ put type is that no explicit requests for .dvi or .ps output files are
+ made. Explicit requests are by the -dvi and -ps, -print=dvi,
+ -print=ps, -view=dvi, and -view=ps options, and by corresponding set-
+ tings of the $dvi_mode, $postscript_mode, $print_type, and $view con-
+ figuration variables. The print-type and view-type restrictions only
apply when printing and viewing are explicitly requested, respectively.
For this purpose, the use of the -pdfdvi and -pdfps options (and the
corresponding setting of the $pdf_mode variable) does not count as an
@@ -2033,15 +2033,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
for the processing route to make it.
Note that when accommodating a change in output file type, there is in-
- volved a substantial change in the network of rules that latexmk uses
- in its actions. The second condition applied to accommodate a change
+ volved a substantial change in the network of rules that latexmk uses
+ in its actions. The second condition applied to accommodate a change
is to avoid situations where the change in the rule network is too rad-
ical to be readily handled automatically.
- 24 December 2023 31
+ 10 January 2024 31
@@ -2063,7 +2063,7 @@ CONFIGURATION/INITIALIZATION (RC) FILES
1) The system RC file, if it exists.
On a UNIX system, latexmk searches the following directories for a
- system RC file, which may be named either "LatexMk" or "latexmkrc".
+ system RC file, which may be named either "LatexMk" or "latexmkrc".
The
directories are searched in the following order, and latexmk uses
the first such file it finds (if any):
@@ -2072,7 +2072,7 @@ CONFIGURATION/INITIALIZATION (RC) FILES
"/usr/local/share/latexmk",
"/usr/local/lib/latexmk".
On a MS-Windows system it looks just in "C:\latexmk".
- On a cygwin system (i.e., a MS-Windows system in which Perl is that
+ On a cygwin system (i.e., a MS-Windows system in which Perl is that
of cygwin), latexmk looks in the directories
"/cygdrive/c/latexmk",
"/etc",
@@ -2080,7 +2080,7 @@ CONFIGURATION/INITIALIZATION (RC) FILES
"/usr/local/share/latexmk",
"/usr/local/lib/latexmk".
- If the environment variable LATEXMKRCSYS is set, its value is used as
+ If the environment variable LATEXMKRCSYS is set, its value is used as
the name of the system RC file, instead of any of the above.
2) The user's RC file, if it exists. This can be in one of two places.
@@ -2091,11 +2091,11 @@ CONFIGURATION/INITIALIZATION (RC) FILES
https://specifications.freedesktop.org/basedir-spec/basedir-spec-lat-
est.html for details on the XDG Base Directory Specification.)
- Here $HOME is the user's home directory. [Latexmk determines the
- user's home directory as follows: It is the value of the environment
- variable HOME, if this variable exists, which normally is the case on
- UNIX-like systems (including Linux and OS-X). Otherwise the environ-
- ment variable USERPROFILE is used, if it exists, which normally is the
+ Here $HOME is the user's home directory. [Latexmk determines the
+ user's home directory as follows: It is the value of the environment
+ variable HOME, if this variable exists, which normally is the case on
+ UNIX-like systems (including Linux and OS-X). Otherwise the environ-
+ ment variable USERPROFILE is used, if it exists, which normally is the
case on MS-Windows systems. Otherwise a blank string is used instead of
$HOME, in which case latexmk does not look for an RC file in it.]
@@ -2107,7 +2107,7 @@ CONFIGURATION/INITIALIZATION (RC) FILES
- 24 December 2023 32
+ 10 January 2024 32
@@ -2123,7 +2123,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
4) Any RC file(s) specified on the command line with the -r option.
Each RC file is a sequence of Perl commands. Naturally, a user can use
- this in creative ways. But for most purposes, one simply uses a se-
+ this in creative ways. But for most purposes, one simply uses a se-
quence of assignment statements that override some of the built-in set-
tings of Latexmk. Straightforward cases can be handled without knowl-
edge of the Perl language by using the examples in this document as
@@ -2131,8 +2131,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Note that command line options are obeyed in the order in which they
are written; thus any RC file specified on the command line with the -r
- option can override previous options but can be itself overridden by
- later options on the command line. There is also the -e option, which
+ option can override previous options but can be itself overridden by
+ later options on the command line. There is also the -e option, which
allows initialization code to be specified in latexmk's command line.
For possible examples of code for in an RC file, see the directory ex-
@@ -2166,14 +2166,14 @@ HOW TO SET VARIABLES IN INITIALIZATION FILES
character and array variables have names that begin with a @ character.
Each statement ends with a semicolon.
- Strings should be enclosed in single quotes. (You could use double
- quotes, as in many programming languages. But then the Perl program-
- ming language brings into play some special rules for interpolating
- variables into strings. People not fluent in Perl will want to avoid
+ Strings should be enclosed in single quotes. (You could use double
+ quotes, as in many programming languages. But then the Perl program-
+ ming language brings into play some special rules for interpolating
+ variables into strings. People not fluent in Perl will want to avoid
- 24 December 2023 33
+ 10 January 2024 33
@@ -2184,31 +2184,31 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
these complications.)
- You can do much more complicated things, but for this you will need to
+ You can do much more complicated things, but for this you will need to
consult a manual for the Perl programming language.
FORMAT OF COMMAND SPECIFICATIONS
- Some of the variables set the commands that latexmk uses for carrying
- out its work, for example to generate a .dvi file from a .tex file or
- to view a postscript file. This section describes some important fea-
+ Some of the variables set the commands that latexmk uses for carrying
+ out its work, for example to generate a .dvi file from a .tex file or
+ to view a postscript file. This section describes some important fea-
tures of how the commands are specified. (Note that some of the possi-
bilities listed here do not apply to the $kpsewhich variable; see its
documentation.)
Placeholders: Supposed you wanted latexmk to use the command elatex in
- place of the regular latex command, and suppose moreover that you
- wanted to give it the option "--shell-escape". You could do this by
+ place of the regular latex command, and suppose moreover that you
+ wanted to give it the option "--shell-escape". You could do this by
the following setting:
$latex = 'elatex --shell-escape %O %S';
- The two items starting with the % character are placeholders. These
- are substituted by appropriate values before the command is run. Thus
- %S will be replaced by the source file that elatex will be applied to,
- and %O will be replaced by any options that latexmk has decided to use
+ The two items starting with the % character are placeholders. These
+ are substituted by appropriate values before the command is run. Thus
+ %S will be replaced by the source file that elatex will be applied to,
+ and %O will be replaced by any options that latexmk has decided to use
for this command. (E.g., if you used the -silent option in the invoca-
tion of latexmk, it results in the replacement of %O by "-interac-
tion=batchmode".)
@@ -2232,14 +2232,14 @@ FORMAT OF COMMAND SPECIFICATIONS
tuted by the contents of $pre_tex_code followed by \in-
put{SOURCE}, where SOURCE stands for the name of the source
file. Appropriate quoting is done. This enables TeX code to be
- passed to one of the *latex engines to be executed before the
+ passed to one of the *latex engines to be executed before the
source file is read.
- If the variable $pre_tex_code is the empty string, then %P is
+ If the variable $pre_tex_code is the empty string, then %P is
- 24 December 2023 34
+ 10 January 2024 34
@@ -2252,39 +2252,39 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
%R root filename. This is the base name for the main tex file.
- By default this is the basename of the main tex file. However
- the value can be changed by the use of the -jobname option or
+ By default this is the basename of the main tex file. However
+ the value can be changed by the use of the -jobname option or
the $jobname configuration variable.
- %S source file (e.g., the name of the dvi file when converting a
+ %S source file (e.g., the name of the dvi file when converting a
.dvi file to ps).
%T The name of the primary tex file.
- %U If the variable $pre_tex_code is non-empty, then its value is
- substituted for %U (appropriately quoted). Otherwise it is re-
+ %U If the variable $pre_tex_code is non-empty, then its value is
+ substituted for %U (appropriately quoted). Otherwise it is re-
placed by a null string.
%Y Name of directory for auxiliary output files (see the configura-
tion variable $aux_dir). A directory separation character ('/')
is appended if $aux_dir is non-empty and does not end in a suit-
able character, with suitable characters being those appropriate
- to UNIX and MS-Windows, i.e., ':', '/' and '\'. Note that if
- after initialization, $out_dir is set, but $aux_dir is not set
- (i.e., it is blank), then latexmk sets $aux_dir to the same
+ to UNIX and MS-Windows, i.e., ':', '/' and '\'. Note that if
+ after initialization, $out_dir is set, but $aux_dir is not set
+ (i.e., it is blank), then latexmk sets $aux_dir to the same
value $out_dir.
- %Z Name of directory for output files (see the configuration vari-
- able $out_dir). A directory separation character ('/') is ap-
- pended if $out_dir is non-empty and does not end in a suitable
- character, with suitable characters being those appropriate to
+ %Z Name of directory for output files (see the configuration vari-
+ able $out_dir). A directory separation character ('/') is ap-
+ pended if $out_dir is non-empty and does not end in a suitable
+ character, with suitable characters being those appropriate to
UNIX and MS-Windows, i.e., ':', '/' and '\'.
- If for some reason you need a literal % character in your string not
+ If for some reason you need a literal % character in your string not
subject to the above rules, use "%%".
- Appropriate quoting will be applied to the filename substitutions, so
- you mustn't supply them yourself even if the names of your files have
+ Appropriate quoting will be applied to the filename substitutions, so
+ you mustn't supply them yourself even if the names of your files have
spaces in them. (But if your TeX filenames have spaces in them, beware
that some older versions of the TeX program cannot correctly handle
filenames containing spaces.) In case latexmk's quoting does not work
@@ -2300,12 +2300,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
defaults. This gives compatibility with configuration files for previ-
ous versions of latexmk, which didn't use placeholders.
- "Detaching" a command: Normally when latexmk runs a command, it waits
+ "Detaching" a command: Normally when latexmk runs a command, it waits
for the command to run to completion. This is appropriate for commands
- 24 December 2023 35
+ 10 January 2024 35
@@ -2315,14 +2315,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
like latex, of course. But for previewers, the command should normally
- run detached, so that latexmk gets the previewer running and then re-
- turns to its next task (or exits if there is nothing else to do). To
- achieve this effect of detaching a command, you need to precede the
+ run detached, so that latexmk gets the previewer running and then re-
+ turns to its next task (or exits if there is nothing else to do). To
+ achieve this effect of detaching a command, you need to precede the
command name with "start ", as in
$dvi_previewer = 'start xdvi %O %S';
- This will be translated to whatever is appropriate for your operating
+ This will be translated to whatever is appropriate for your operating
system.
Notes: (1) In some circumstances, latexmk will always run a command de-
@@ -2344,18 +2344,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
%S';
$pdf_previewer = 'start "c:/Program Files/SumatraPDF/Suma-
traPDF.exe" %O %S';
- $pdf_previewer = 'start "c:/Program Files/SumatraPDF (x86)/Suma-
+ $pdf_previewer = 'start "c:/Program Files/SumatraPDF (x86)/Suma-
traPDF.exe" %O %S';
- (Note about the above example: Under MS-Windows forward slashes are
+ (Note about the above example: Under MS-Windows forward slashes are
equivalent to backslashes in a filename under almost all circumstances,
provided that the filename is inside double quotes. It is easier to
use forward slashes in examples like the one above, since then one does
- not have to worry about the rules for dealing with forward slashes in
+ not have to worry about the rules for dealing with forward slashes in
strings in the Perl language.)
- Command names under Cygwin: If latexmk is executed by Cygwin's Perl,
+ Command names under Cygwin: If latexmk is executed by Cygwin's Perl,
be particularly certain that pathnames in commands have forward slashes
not the usual backslashes for the separator of pathname components.
See the above examples. Backslashes often get misinterpreted by the
@@ -2371,7 +2371,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 36
+ 10 January 2024 36
@@ -2383,7 +2383,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Under MS-Windows, this will cause to be run whatever program the system
has associated with dvi files. (The same applies for a postscript
viewer and a pdf viewer.) But note that this trick is not always suit-
- able for the pdf previwer, if your system has acroread for the default
+ able for the pdf previwer, if your system has acroread for the default
pdf viewer. As explained elsewhere, acroread under MS-Windows does not
work well with latex and latexmk, because acroread locks the pdf file.
@@ -2392,18 +2392,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$lpr = 'NONE lpr';
- This typically is used when an appropriate command does not exist on
+ This typically is used when an appropriate command does not exist on
your system. The string after the "NONE" is effectively a comment.
Options to commands: Setting the name of a command can be used not only
for changing the name of the command called, but also to add options to
- command. Suppose you want latexmk to use latex with source specials
- enabled. Then you might use the following line in an initialization
+ command. Suppose you want latexmk to use latex with source specials
+ enabled. Then you might use the following line in an initialization
file:
$latex = 'latex --src-specials %O %S';
- Running a subroutine instead of an external command: Use a specifica-
+ Running a subroutine instead of an external command: Use a specifica-
tion starting with "internal", as in
$latex = 'internal mylatex %O %S';
@@ -2413,14 +2413,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
return system 'latex', @args;
}
- For some of the more exotic possibilities that then become available,
- see the section "Advanced configuration: Some extra resources and ad-
- vanced tricks". Also see some of the examples in the directory exam-
+ For some of the more exotic possibilities that then become available,
+ see the section "Advanced configuration: Some extra resources and ad-
+ vanced tricks". Also see some of the examples in the directory exam-
ple_rcfiles in the latexmk distribution.
- Advanced tricks: Normally one specifies a single command for the com-
- mands invoked by latexmk. Naturally, if there is some complicated ad-
- ditional processing you need to do in your special situation, you can
+ Advanced tricks: Normally one specifies a single command for the com-
+ mands invoked by latexmk. Naturally, if there is some complicated ad-
+ ditional processing you need to do in your special situation, you can
write a script (or batch file) to do the processing, and then configure
latexmk to use your script in place of the standard program.
@@ -2428,7 +2428,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
This is generally the most flexible and portable solution.
It is also possible to configure latexmk to run multiple commands. For
- example, if when running pdflatex to generate a pdf file from a tex
+ example, if when running pdflatex to generate a pdf file from a tex
file you need to run another program after pdflatex to perform some ex-
tra processing, you could do something like:
@@ -2437,7 +2437,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 37
+ 10 January 2024 37
@@ -2457,14 +2457,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Here, the UNIX command separator ; is replaced by &&. In addition,
there is a problem that some versions of Perl on MS-Windows do not obey
- the command separator; this problem is overcome by explicitly invoking
+ the command separator; this problem is overcome by explicitly invoking
the MS-Windows command-line processor cmd.exe.
LIST OF CONFIGURATION VARIABLES USABLE IN INITIALIZATION FILES
- In this section are specified the variables whose values can be ad-
- justed to configure latexmk. (See the earlier section "Configura-
- tion/Initialization (rc) Files" for the files where the configurations
+ In this section are specified the variables whose values can be ad-
+ justed to configure latexmk. (See the earlier section "Configura-
+ tion/Initialization (rc) Files" for the files where the configurations
are done.)
Default values are indicated in brackets. Note that for variables that
@@ -2479,8 +2479,8 @@ LIST OF CONFIGURATION VARIABLES USABLE IN INITIALIZATION FILES
This controls what happens when the output extension of latex,
pdflatex, lualatex or xelatex differs from what is expected.
(The possible extensions are .dvi, .pdf, .xdv.) This can happen
- with the use of the \pdfoutput macro in a document compiled un-
- der latex or pdflatex, or with the use of the \outputmode macro
+ with the use of the \pdfoutput macro in a document compiled un-
+ der latex or pdflatex, or with the use of the \outputmode macro
under lualatex. It can also happen with certain kinds of incor-
rect configuration.
@@ -2492,18 +2492,18 @@ LIST OF CONFIGURATION VARIABLES USABLE IN INITIALIZATION FILES
$always_view_file_via_temporary [0]
- Whether .ps and .pdf files are initially to be made in a tempo-
- rary directory and then moved to the final location. (This ap-
+ Whether .ps and .pdf files are initially to be made in a tempo-
+ rary directory and then moved to the final location. (This ap-
plies to dvips, dvipdf, and ps2pdf operations, and the filtering
operators on .dvi and .ps files. It does not apply to pdflatex,
- unfortunately, since pdflatex provides no way of specifying a
+ unfortunately, since pdflatex provides no way of specifying a
chosen name for the output file.)
This use of a temporary file solves a problem that the making of
- 24 December 2023 38
+ 10 January 2024 38
@@ -2525,11 +2525,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$analyze_input_log_always [1]
- After a run of latex (etc), always analyze .log for input files
- in the <...> and (...) constructions. Otherwise, only do the
+ After a run of latex (etc), always analyze .log for input files
+ in the <...> and (...) constructions. Otherwise, only do the
analysis when fls file doesn't exist or is out of date.
- Under normal circumstances, the data in the fls file is reli-
+ Under normal circumstances, the data in the fls file is reli-
able, and the test of the log file gets lots of false positives;
usually $analyze_input_log_always is best set to zero. But the
test of the log file is needed at least in the following situa-
@@ -2569,7 +2569,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 39
+ 10 January 2024 39
@@ -2582,17 +2582,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
ries.
If the aux and output directories are distinct, then the aux di-
- rectory contains all generated files with the exception of "fi-
- nal output files", which are defined to be .dvi, .ps, .pdf,
+ rectory contains all generated files with the exception of "fi-
+ nal output files", which are defined to be .dvi, .ps, .pdf,
.synctex, and .synctex.gz files.
- See the section AUXILIARY AND OUTPUT DIRECTORIES for more de-
+ See the section AUXILIARY AND OUTPUT DIRECTORIES for more de-
tails.
$aux_out_dir_report [0]
- If this variable is set to 1, then prior to the processing of
+ If this variable is set to 1, then prior to the processing of
each primary .tex file, list the settings for aux and output di-
rectories, after they have been normalized from the settings
specified during initialization.
@@ -2608,34 +2608,34 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
screen.
If this variable is set to 2, then halt after reporting the set-
- tings for the aux and out directories, rather than continuing
- with processing of tex files. This setting is primarily used
- for debugging configuration issues. See the -dir-report-only
+ tings for the aux and out directories, rather than continuing
+ with processing of tex files. This setting is primarily used
+ for debugging configuration issues. See the -dir-report-only
option.
$bad_warning_is_error [0]
- Whether to treat bad warnings reported by *latex in log file as
- errors. The specifications of the warning messages are in
+ Whether to treat bad warnings reported by *latex in log file as
+ errors. The specifications of the warning messages are in
@bad_warnings.
@bad_warnings
- Array of regular expressions specifying messages in log file
- that are officially treated as warnings rather than errors by
- *latex, but which a user may treat as errors: See $bad_warn-
+ Array of regular expressions specifying messages in log file
+ that are officially treated as warnings rather than errors by
+ *latex, but which a user may treat as errors: See $bad_warn-
ing_is_error.
- Currently the default set of these warnings is those about \end
+ Currently the default set of these warnings is those about \end
occuring inside constructs.
$banner [0]
- If nonzero, the banner message is printed across each page when
+ If nonzero, the banner message is printed across each page when
- 24 December 2023 40
+ 10 January 2024 40
@@ -2644,8 +2644,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- converting the dvi file to postscript. Without modifying the
- variable $banner_message, this is equivalent to specifying the
+ converting the dvi file to postscript. Without modifying the
+ variable $banner_message, this is equivalent to specifying the
-d option.
Note that if $banner is nonzero, the $postscript_mode is assumed
@@ -2685,11 +2685,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
@BIBINPUTS = ( ".", "//server/bibfiles" );
@BIBINPUTS = ( ".", "/usr/local/texmf/bibtex/bib" );
- Note that under MS Windows, either a forward slash "/" or a
- backward slash "\" can be used to separate pathname components,
- so the first two and the second two examples are equivalent.
- Each backward slash should be doubled to avoid running afoul of
- Perl's rules for writing strings. Generally, it is simplest al-
+ Note that under MS Windows, either a forward slash "/" or a
+ backward slash "\" can be used to separate pathname components,
+ so the first two and the second two examples are equivalent.
+ Each backward slash should be doubled to avoid running afoul of
+ Perl's rules for writing strings. Generally, it is simplest al-
ways to use forward slashes instead of backward slashes.
Important note: This variable is now mostly obsolete in the cur-
@@ -2701,7 +2701,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 41
+ 10 January 2024 41
@@ -2715,19 +2715,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$biber_silent_switch ["--onlylog"]
- Switch(es) for the biber processing program when silent mode is
+ Switch(es) for the biber processing program when silent mode is
on.
$bibtex ["bibtex %O %S"]
The BibTeX processing program.
$bibtex_fudge [1]
- When using bibtex, whether to change directory to $aux_dir be-
+ When using bibtex, whether to change directory to $aux_dir be-
fore running bibtex.
The need arises as follows:
- a. With bibtex before about 2019, if the filename given to it
+ a. With bibtex before about 2019, if the filename given to it
contains a path component, there was a bug that bibtex would not
find extra aux files, as produced by the \include command in
TeX.
@@ -2736,8 +2736,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
refuse to write its bbl and blg files, for security reasons, for
certain cases of the path component of the filename given to it.
- However, there are also rare cases where the change-directory
- method prevents bibtex from finding certain bib or bst files.
+ However, there are also rare cases where the change-directory
+ method prevents bibtex from finding certain bib or bst files.
Then $bibtex_fudge needs to be set to 0.
@@ -2748,26 +2748,26 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$bibtex_use [1]
Under what conditions to run bibtex or biber. When latexmk dis-
- covers from the log file that one (or more) bibtex/biber-gener-
- ated bibliographies are used, it can run bibtex or biber when-
- ever it appears necessary to regenerate the bbl file(s) from
- their source bib database file(s). But sometimes, the bib
+ covers from the log file that one (or more) bibtex/biber-gener-
+ ated bibliographies are used, it can run bibtex or biber when-
+ ever it appears necessary to regenerate the bbl file(s) from
+ their source bib database file(s). But sometimes, the bib
file(s) are not available (e.g., for a document obtained from an
external archive), but the bbl files are provided. In that case
- use of bibtex or biber will result in incorrect overwriting of
- the precious bbl files. The variable $bibtex_use controls
- whether this happens, and also controls whether or not .bbl
+ use of bibtex or biber will result in incorrect overwriting of
+ the precious bbl files. The variable $bibtex_use controls
+ whether this happens, and also controls whether or not .bbl
files are deleted in a cleanup operation.
The possible values of $bibtex_use are:
- 0: never use bibtex or biber; never delete .bbl files in a
+ 0: never use bibtex or biber; never delete .bbl files in a
cleanup.
1: only use bibtex or biber if the bib file(s) exist; never
delete .bbl files in a cleanup.
- 24 December 2023 42
+ 10 January 2024 42
@@ -2777,7 +2777,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
1.5: only use bibtex or biber if the bib files exist;
- conditionally delete .bbl files in a cleanup (i.e., delete
+ conditionally delete .bbl files in a cleanup (i.e., delete
them only when
the bib files all exist).
2: run bibtex or biber whenever it appears necessary to update
@@ -2790,20 +2790,20 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
can only be obtained after running biber. In contrast, for bib-
tex, full information on which bib files are used is obtained
from the .aux file(s) after a run of *latex. But for biber, the
- corresponding information is somewhat incomplete; this the in-
- formation obtained in the .bcf file that is generated by the
+ corresponding information is somewhat incomplete; this the in-
+ formation obtained in the .bcf file that is generated by the
biblatex package during a run of *latex.
$cleanup_includes_cusdep_generated [0]
- If nonzero, specifies that cleanup also deletes files that are
+ If nonzero, specifies that cleanup also deletes files that are
generated by custom dependencies. (When doing a clean up, e.g.,
by use of the -C option, custom dependencies are those listed in
the .fdb_latexmk file from a previous run.)
$cleanup_includes_generated [0]
- If nonzero, specifies that cleanup also deletes files that are
+ If nonzero, specifies that cleanup also deletes files that are
detected in the fls file (or failing that, in log file) as being
generated. It will also include files made from these first
generation generated files.
@@ -2815,13 +2815,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
files to be deleted are restricted to those explicitly specified
by patterns configured in the variables clean_ext,
clean_full_ext, and @generated_exts. Standard cases (e.g., .log
- files) appear in latexmk's initial value for the array @gener-
+ files) appear in latexmk's initial value for the array @gener-
ated_exts.
$cleanup_mode [0]
- If nonzero, specifies cleanup mode: 1 for full cleanup, 2 for
- cleanup except for .dvi, .ps and .pdf files, 3 for cleanup ex-
- cept for dep and aux files. (There is also extra cleaning as
+ If nonzero, specifies cleanup mode: 1 for full cleanup, 2 for
+ cleanup except for .dvi, .ps and .pdf files, 3 for cleanup ex-
+ cept for dep and aux files. (There is also extra cleaning as
specified by the $clean_ext, $clean_full_ext and @generated_exts
variables.)
@@ -2833,7 +2833,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 43
+ 10 January 2024 43
@@ -2845,8 +2845,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$clean_ext [""]
Extra extensions of files for latexmk to remove when any of the
clean-up options (-c or -C) is selected. The value of this
- variable is a string containing the extensions separated by spa-
- ces.
+ variable is a string containing the extensions separated by
+ spaces.
It is also possible to specify a more general pattern of file to
be deleted, by using the place holder %R, as in commands, and it
@@ -2856,17 +2856,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
files-%R/*";
in an initialization file will imply that when a clean-up opera-
- tion is specified, not only is the standard set of files
- deleted, but also files of the form FOO.out, FOO-blx.bib, FOO-
- figures*.log, and pythontex-files-FOO/*, where FOO stands for
+ tion is specified, not only is the standard set of files
+ deleted, but also files of the form FOO.out, FOO-blx.bib, FOO-
+ figures*.log, and pythontex-files-FOO/*, where FOO stands for
the basename of the file being processed (as in FOO.tex).
- Most of the files to be deleted are relative to the directory
- specified by $aux_dir. Note that if $out_dir but not $aux_dir
- is set, then in its initialization, latexmk sets $aux_dir equal
- to $out_dir. A normal situation is therefore that $aux_dir
- equals $out_dir, which is the only case directly supported by
- TeXLive, unlike MiKTeX. Note that even with TeXLive latexmk
+ Most of the files to be deleted are relative to the directory
+ specified by $aux_dir. Note that if $out_dir but not $aux_dir
+ is set, then in its initialization, latexmk sets $aux_dir equal
+ to $out_dir. A normal situation is therefore that $aux_dir
+ equals $out_dir, which is the only case directly supported by
+ TeXLive, unlike MiKTeX. Note that even with TeXLive latexmk
does now support different values for the directories -- see the
explanation of the $emulate_aux variable.
@@ -2879,16 +2879,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The filenames specified for a clean-up operation can refer not
only to regular files but also to directories. Directories are
only deleted if they are empty. An example of an application is
- to pythontex, which creates files in a particular directory.
- You can arrange to remove both the files and the directory by
+ to pythontex, which creates files in a particular directory.
+ You can arrange to remove both the files and the directory by
setting
$clean_ext = "pythontex-files-%R/* pythontex-files-%R";
- See also the (array) variable @generated_exts. In the past,
- this variable had certain uses beyond that of $clean_ext. But
- now, they accomplish the same things. In fact, after initial-
- ization including the processing of command line options, la-
+ See also the (array) variable @generated_exts. In the past,
+ this variable had certain uses beyond that of $clean_ext. But
+ now, they accomplish the same things. In fact, after initial-
+ ization including the processing of command line options, la-
texmk simply appends the list of extensions in $clean_ext to the
array @generated_exts.
@@ -2899,7 +2899,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 44
+ 10 January 2024 44
@@ -2917,16 +2917,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$compiling_cmd [""], $failure_cmd [""], $warning_cmd [""], $success_cmd
[""]
- These variables specify commands that are executed at certain
- points of compilations. One motivation for their existence is
- to allow very useful convenient visual indications of compila-
- tion status even when the window receiving the screen output of
- the compilation is hidden. This is particularly useful in pre-
+ These variables specify commands that are executed at certain
+ points of compilations. One motivation for their existence is
+ to allow very useful convenient visual indications of compila-
+ tion status even when the window receiving the screen output of
+ the compilation is hidden. This is particularly useful in pre-
view-continuous mode.
- The commands are executed at the following points: $compil-
- ing_cmd at the start of compilation, $success_cmd at the end of
- a completely successful compilation, $failure_cmd at the end of
+ The commands are executed at the following points: $compil-
+ ing_cmd at the start of compilation, $success_cmd at the end of
+ a completely successful compilation, $failure_cmd at the end of
an unsuccessful compilation, $warning_cmd at the of an otherwise
successful compilation that gives warnings about undefined cita-
tions or references or about multiply defined references. If any
@@ -2965,7 +2965,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 45
+ 10 January 2024 45
@@ -2975,12 +2975,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
indication in a window title can useful, since the user does not
- have to keep shifting attention to the (possibly hidden) compi-
+ have to keep shifting attention to the (possibly hidden) compi-
lation window to know the status of the compilation.
- More complicated situations can best be handled by defining a
- Perl subroutine to invoke the necessary commands, and using the
- "internal" keyword in the definitions to get the subroutine to
+ More complicated situations can best be handled by defining a
+ Perl subroutine to invoke the necessary commands, and using the
+ "internal" keyword in the definitions to get the subroutine to
be invoked. (See the section "Format of Command Specifications"
for how to do this.)
@@ -2994,7 +2994,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Custom dependency list -- see section on "Custom Dependencies".
@default_excluded_files [()]
- When latexmk is invoked with no files specified on the command
+ When latexmk is invoked with no files specified on the command
line, then, by default, it will process all files in the current
directory with the extension .tex. (In general, it will process
the files specified in the @default_files variable.)
@@ -3002,7 +3002,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
But sometimes you want to exclude particular files from this de-
fault list. In that case you can specify the excluded files in
the array @default_excluded_files. For example if you wanted to
- process all .tex files with the exception of common.tex, which
+ process all .tex files with the exception of common.tex, which
is a not a standard alone LaTeX file but a file input by some or
all of the others, you could do
@@ -3022,16 +3022,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
@default_files [("*.tex")]
Default list of files to be processed.
- If no filenames are specified on the command line, latexmk pro-
- cesses all tex files specified in the @default_files variable,
- which by default is set to all tex files ("*.tex") in the cur-
- rent directory. This is a convenience: just run latexmk and it
- will process an appropriate set of files. But sometimes you
+ If no filenames are specified on the command line, latexmk
+ processes all tex files specified in the @default_files vari-
+ able, which by default is set to all tex files ("*.tex") in the
+ current directory. This is a convenience: just run latexmk and
+ it will process an appropriate set of files. But sometimes you
want only some of these files to be processed. In this case you
- 24 December 2023 46
+ 10 January 2024 46
@@ -3097,7 +3097,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 47
+ 10 January 2024 47
@@ -3122,15 +3122,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$dvilualatex ["dvilualatex %O %S"]
- Specifies the command line to invoke the dvilualatex program.
- Note that as with other programs, you can use this variable not
- just to change the name of the program used, but also specify
+ Specifies the command line to invoke the dvilualatex program.
+ Note that as with other programs, you can use this variable not
+ just to change the name of the program used, but also specify
options to the program. E.g.,
- $dvilualatex = "dvilualatex --src-specials
+ $dvilualatex = "dvilualatex --src-specials
%O %S";
- To do a coordinated setting of all of $dvilualatex, $hilatex,
+ To do a coordinated setting of all of $dvilualatex, $hilatex,
$latex, $pdflatex, $lualatex, and $xelatex, see the section "Ad-
vanced Configuration".
@@ -3142,28 +3142,28 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
If 2, generate a dvi version of the document by use of dviluala-
tex. Equivalent to the -dvilua option.
- The variable $dvi_mode defaults to 0, but if no explicit re-
- quests are made for other types of file (postscript, pdf), then
- $dvi_mode will be set to 1. In addition, if a request for a
- file for which a .dvi file is a prerequisite and $dvi_mode is
+ The variable $dvi_mode defaults to 0, but if no explicit re-
+ quests are made for other types of file (postscript, pdf), then
+ $dvi_mode will be set to 1. In addition, if a request for a
+ file for which a .dvi file is a prerequisite and $dvi_mode is
zero, then $dvi_mode is set to 1.
$dvilualatex_silent_switch ["-interaction=batchmode"]
- Switch(es) for the dvilualatex program (specified in the vari-
+ Switch(es) for the dvilualatex program (specified in the vari-
able $dvilualatex) when silent mode is on.
- See details of the $latex_silent_switch for other information
+ See details of the $latex_silent_switch for other information
that equally applies to $dvilualatex_silent_switch.
$dvi_previewer ["start xdvi %O %S" under UNIX]
- The command to invoke a dvi-previewer. [Under MS-Windows the
+ The command to invoke a dvi-previewer. [Under MS-Windows the
- 24 December 2023 48
+ 10 January 2024 48
@@ -3172,18 +3172,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- default is "start"; then latexmk arranges to use the MS-Windows
- start program, which will cause to be run whatever command the
+ default is "start"; then latexmk arranges to use the MS-Windows
+ start program, which will cause to be run whatever command the
system has associated with .dvi files.]
- Important note: Normally you will want to have a previewer run
+ Important note: Normally you will want to have a previewer run
detached, so that latexmk doesn't wait for the previewer to ter-
minate before continuing its work. So normally you should pre-
fix the command by "start ", which flags to latexmk that it
should do the detaching of the previewer itself (by whatever
method is appropriate to the operating system). But sometimes
letting latexmk do the detaching is not appropriate (for a vari-
- ety of non-trivial reasons), so you should put the "start " bit
+ ety of non-trivial reasons), so you should put the "start " bit
in yourself, whenever it is needed.
$dvi_previewer_landscape ["start xdvi %O %S"]
@@ -3201,35 +3201,35 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
WARNING: The default dvipdf script generates pdf files with
bitmapped fonts, which do not look good when viewed by acroread.
- That script should be modified to give dvips the options "-P
+ That script should be modified to give dvips the options "-P
pdf" to ensure that type 1 fonts are used in the pdf file.
$dvipdf_silent_switch ["-q"]
Switch(es) for dvipdf program when silent mode is on.
- N.B. The standard dvipdf program runs silently, so adding the
- silent switch has no effect, but is actually innocuous. But if
- an alternative program is used, e.g., dvipdfmx, then the silent
- switch has an effect. The default setting is correct for
+ N.B. The standard dvipdf program runs silently, so adding the
+ silent switch has no effect, but is actually innocuous. But if
+ an alternative program is used, e.g., dvipdfmx, then the silent
+ switch has an effect. The default setting is correct for
dvipdfm and dvipdfmx.
$dvips ["dvips %O -o %D %S"]
- The program to used as a filter to convert a .dvi file to a .ps
- file. If pdf is going to be generated from pdf, then the value
- of the $dvips_pdf_switch variable -- see below -- will be in-
+ The program to used as a filter to convert a .dvi file to a .ps
+ file. If pdf is going to be generated from pdf, then the value
+ of the $dvips_pdf_switch variable -- see below -- will be in-
cluded in the options substituted for "%O".
$dvips_landscape ["dvips -tlandscape %O -o %D %S"]
- The program to used as a filter to convert a .dvi file to a .ps
+ The program to used as a filter to convert a .dvi file to a .ps
file in landscape mode.
$dvips_pdf_switch ["-P pdf"]
- Switch(es) for dvips program when pdf file is to be generated
+ Switch(es) for dvips program when pdf file is to be generated
from .ps file.
- 24 December 2023 49
+ 10 January 2024 49
@@ -3242,8 +3242,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Switch(es) for dvips program when silent mode is on.
$dvi_update_command [""]
- When the dvi previewer is set to be updated by running a com-
- mand, this is the command that is run. See the information for
+ When the dvi previewer is set to be updated by running a com-
+ mand, this is the command that is run. See the information for
the variable $dvi_update_method for further information, and see
information on the variable $pdf_update_method for an example
for the analogous case of a pdf previewer.
@@ -3255,18 +3255,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
0 => update is automatic,
1=> manual update by user, which may only mean a mouse click
on the viewer's window or may mean a more serious action.
- 2 => Send the signal, whose number is in the variable
- $dvi_update_signal. The default value under UNIX is suitable
+ 2 => Send the signal, whose number is in the variable
+ $dvi_update_signal. The default value under UNIX is suitable
for xdvi.
- 3 => Viewer cannot do an update, because it locks the file.
+ 3 => Viewer cannot do an update, because it locks the file.
(As with acroread under MS-Windows.)
- 4 => run a command to do the update. The command is speci-
+ 4 => run a command to do the update. The command is speci-
fied by the variable $dvi_update_command.
- See information on the variable $pdf_update_method for an exam-
+ See information on the variable $pdf_update_method for an exam-
ple of updating by command.
- $dvi_update_signal [Under UNIX: SIGUSR1, which is a system-dependent
+ $dvi_update_signal [Under UNIX: SIGUSR1, which is a system-dependent
value]
The number of the signal that is sent to the dvi viewer when it
is updated by sending a signal -- see the information on the
@@ -3276,26 +3276,26 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$emulate_aux [0]
Whether to emulate the use of aux directory when $aux_dir and
$out_dir are different, rather than using the -aux-directory op-
- tion for the *latex programs. (MiKTeX supports -aux-directory,
+ tion for the *latex programs. (MiKTeX supports -aux-directory,
but TeXLive doesn't.)
- If you use a version of *latex that doesn't support -aux-direc-
- tory, e.g., TeXLive, latexmk will automatically switch aux_dir
+ If you use a version of *latex that doesn't support -aux-direc-
+ tory, e.g., TeXLive, latexmk will automatically switch aux_dir
emulation on after the first run of *latex, because it will find
the .log file in the wrong place. But it is better to set $emu-
- late_aux to 1 in an rc file, or equivalently to use the -emu-
+ late_aux to 1 in an rc file, or equivalently to use the -emu-
late-aux-dir option. This emulation mode works equally well with
MiKTeX.
Aux directory emulation means that when *latex is invoked, the
output directory provided to *latex is set to be the desired aux
- directory. After that, any files that need to be in the output
- directory will be moved there by latexmk. (These are the files
- with extensions .dvi, .ps, .pdf, .synctex, .synctex.gz, and,
+ directory. After that, any files that need to be in the output
+ directory will be moved there by latexmk. (These are the files
+ with extensions .dvi, .ps, .pdf, .synctex, .synctex.gz, and,
- 24 December 2023 50
+ 10 January 2024 50
@@ -3357,11 +3357,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
latexmk needs to determine whether a particular file has been
produced during a just-concluded run of some rule/program or is
leftover from a previous run. (An example is the production of a
- .bcf file by the biblatex package during a run of *latex to
+ .bcf file by the biblatex package during a run of *latex to
- 24 December 2023 51
+ 10 January 2024 51
@@ -3370,7 +3370,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- provide bibliographic information to the biber program. If a
+ provide bibliographic information to the biber program. If a
.bcf file is not produced during a current run of *latex, but is
leftover from a previous run, then latexmk has to conclude that
the .tex document has changed so that biber is no longer to be
@@ -3381,26 +3381,26 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
the system time at the beginning of the run. Bascially, if the
modification time is earlier than this, then it is a leftover
from a previous run. However, a naive use of the criterion can,
- among other things, run afoul of the granularity of how file
- times are stored in some file systems, which means it is possi-
- ble that the filesystem's reported time for a file might be a
- second or more earlier than the actual modification time, the
+ among other things, run afoul of the granularity of how file
+ times are stored in some file systems, which means it is possi-
+ ble that the filesystem's reported time for a file might be a
+ second or more earlier than the actual modification time, the
exact difference being quite random.
- The variable $filetime_causality_threshold allows an appopriate
- sloppiness in latexmk's use of file modification time. It can
- be quite generous; it should merely be less than the time scale
- on which a human user makes changes to source files for a docu-
+ The variable $filetime_causality_threshold allows an appopriate
+ sloppiness in latexmk's use of file modification time. It can
+ be quite generous; it should merely be less than the time scale
+ on which a human user makes changes to source files for a docu-
ment (or to configuration files, etc).
$fls_uses_out_dir [0]
- This variable determines whether or not the .fls file should be
- in the output directory instead of the natural directory, which
+ This variable determines whether or not the .fls file should be
+ in the output directory instead of the natural directory, which
is the aux directory. If the variable is nonzero, the .fls file
is to be in the output directory. See the section AUXILIARY AND
- OUTPUT DIRECTORIES for more details about these directories.
- The rationale for the existence of the variable
+ OUTPUT DIRECTORIES for more details about these directories.
+ The rationale for the existence of the variable
$fls_uses_aux_dir is explained there.
In all cases, if latexmk finds that an .fls file has been gener-
@@ -3415,19 +3415,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$force_mode [0]
- If nonzero, continue processing past minor latex errors includ-
+ If nonzero, continue processing past minor latex errors includ-
ing unrecognized cross references. Equivalent to specifying the
-f option.
- @generated_exts [( 'aux', 'bcf', 'fls', 'idx', 'ind', 'lof', 'lot',
+ @generated_exts [( 'aux', 'bcf', 'fls', 'idx', 'ind', 'lof', 'lot',
'out', 'toc', 'blg', 'ilg', 'log', 'xdv' )]
- This contains a list of extensions for files that are generated
+ This contains a list of extensions for files that are generated
- 24 December 2023 52
+ 10 January 2024 52
@@ -3436,23 +3436,23 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- during processing, and that should be deleted during a main
- clean up operation, as invoked by the command line option -c.
+ during processing, and that should be deleted during a main
+ clean up operation, as invoked by the command line option -c.
(The use of -C or -gg gives this clean up and more.)
- The default values are extensions for standard files generated
- by *latex, bibtex, and the like. (Note that the clean up also
- deletes the fdb_latexmk file, but that's separately coded into
+ The default values are extensions for standard files generated
+ by *latex, bibtex, and the like. (Note that the clean up also
+ deletes the fdb_latexmk file, but that's separately coded into
latexmk, currently.)
- After initialization of latexmk and the processing of its com-
- mand line, the items in clean_ext are appended to @gener-
- ated_exts. So these two variables have the same meaning (con-
+ After initialization of latexmk and the processing of its com-
+ mand line, the items in clean_ext are appended to @gener-
+ ated_exts. So these two variables have the same meaning (con-
trary to older versions of latexmk).
- The items in @generated_exts are normally extensions of files,
- whose base name is the same as the main tex file. But it is
- also possible to specify patterns including that basename ---
+ The items in @generated_exts are normally extensions of files,
+ whose base name is the same as the main tex file. But it is
+ also possible to specify patterns including that basename ---
see the explanation of the variable $clean_ext.
In addition to specifying files to be deleted in a clean up, la-
@@ -3461,13 +3461,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
those changes in files (since a previous run) that are expected
to be due to the user editing a file. This contrasts with the
cases of files that are generated by some program run by latexmk
- and that differ from the results of the previous run. This use
- of @generated_exts is normally unimportant, given the usual ac-
- curacy of latexmk's other ways of determining these generated
+ and that differ from the results of the previous run. This use
+ of @generated_exts is normally unimportant, given the usual ac-
+ curacy of latexmk's other ways of determining these generated
files.
- A convenient way to add an extra extension to the list, without
- losing the already defined ones is to use a push command in the
+ A convenient way to add an extra extension to the list, without
+ losing the already defined ones is to use a push command in the
line in an RC file. E.g.,
push @generated_exts, "end";
@@ -3493,7 +3493,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 53
+ 10 January 2024 53
@@ -3517,20 +3517,20 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
ignore. The left-hand side is a Perl idiom for setting an item
in a hash. Note that the file extension is specified without a
period. The value, on the right-hand side, is a string contain-
- ing a regular expression. (See documentation on Perl for how
- they are to be specified in general.) This particular regular
- expression specifies that lines beginning with "%%CreationDate:
- " are to be ignored in deciding whether a file of the given ex-
+ ing a regular expression. (See documentation on Perl for how
+ they are to be specified in general.) This particular regular
+ expression specifies that lines beginning with "%%CreationDate:
+ " are to be ignored in deciding whether a file of the given ex-
tension .eps has changed.
- There is only one regular expression available for each exten-
- sion. If you need more one pattern to specify lines to ignore,
- then you need to combine the patterns into a single regular ex-
- pression. The simplest method is separate the different simple
- patterns by a vertical bar character (indicating "alternation"
+ There is only one regular expression available for each exten-
+ sion. If you need more one pattern to specify lines to ignore,
+ then you need to combine the patterns into a single regular ex-
+ pression. The simplest method is separate the different simple
+ patterns by a vertical bar character (indicating "alternation"
in the jargon of regular expressions). For example,
- $hash_calc_ignore_pattern{'eps'} = '^%%CreationDate: |^%%Ti-
+ $hash_calc_ignore_pattern{'eps'} = '^%%CreationDate: |^%%Ti-
tle: ';
causes lines starting with either "^%%CreationDate: " or "^%%Ti-
@@ -3559,7 +3559,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 54
+ 10 January 2024 54
@@ -3575,9 +3575,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The placeholder '%A' is permitted. This will be substituted by
the basename of the TeX file. The primary purpose is when a va-
- riety of tex files are to be processed, and you want to use a
- different jobname for each but one that is distinct for each.
- Thus if you wanted to compare compilations of a set of files on
+ riety of tex files are to be processed, and you want to use a
+ different jobname for each but one that is distinct for each.
+ Thus if you wanted to compare compilations of a set of files on
different operating systems, with distinct filenames for all the
cases, you could set
@@ -3598,11 +3598,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$kpsewhich ["kpsewhich %S"]
- The program called to locate a source file when the name alone
- is not sufficient. Most filenames used by latexmk have suffi-
+ The program called to locate a source file when the name alone
+ is not sufficient. Most filenames used by latexmk have suffi-
cient path information to be found directly. But sometimes, no-
tably when a .bib or a .bst file is found from the log file of a
- bibtex or biber run, only the base name of the file is known,
+ bibtex or biber run, only the base name of the file is known,
but not its path. The program specified by $kpsewhich is used to
find it.
@@ -3611,13 +3611,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
sibilities listed in the FORMAT OF COMMAND SPECIFICATIONS do not
apply. The internal and start keywords are not available. A
simple command specification with possible options and then "%S"
- is all that is guaranteed to work. Note that for other com-
+ is all that is guaranteed to work. Note that for other com-
mands, "%S" is substituted by a single source file. In contrast,
for $kpsewhich, "%S" may be substituted by a long list of space-
- separated filenames, each of which is quoted. The result on
+ separated filenames, each of which is quoted. The result on
STDOUT of running the command is then piped to latexmk.)
- See also the @BIBINPUTS variable for another way that latexmk
+ See also the @BIBINPUTS variable for another way that latexmk
also uses to try to locate files; it applies only in the case of
.bib files.
@@ -3625,7 +3625,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 55
+ 10 January 2024 55
@@ -3646,19 +3646,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$landscape_mode [0]
If nonzero, run in landscape mode, using the landscape mode pre-
- viewers and dvi to postscript converters. Equivalent to the -l
+ viewers and dvi to postscript converters. Equivalent to the -l
option. Normally not needed with current previewers.
$latex ["latex %O %S"]
- Specifies the command line for the LaTeX processing program.
- Note that as with other programs, you can use this variable not
- just to change the name of the program used, but also specify
+ Specifies the command line for the LaTeX processing program.
+ Note that as with other programs, you can use this variable not
+ just to change the name of the program used, but also specify
options to the program. E.g.,
$latex = "latex --src-specials %O %S";
- To do a coordinated setting of all of $dvilualatex, $hilatex,
+ To do a coordinated setting of all of $dvilualatex, $hilatex,
$latex, $pdflatex, $lualatex, and $xelatex, see the section "Ad-
vanced Configuration".
@@ -3691,7 +3691,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 56
+ 10 January 2024 56
@@ -3744,20 +3744,20 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$lpr_pdf ["NONE lpr_pdf"]
The printing program to print pdf files.
- Under MS-Windows you could set this to use gsview, if it is in-
+ Under MS-Windows you could set this to use gsview, if it is in-
stalled, e.g.,
$lpr = '"c:/Program Files/Ghostgum/gsview/gsview32.exe" /p';
- If gsview is installed in a different directory, you will need
- to make the appropriate change. Note the double quotes around
+ If gsview is installed in a different directory, you will need
+ to make the appropriate change. Note the double quotes around
the name: this is necessary because one part of the command name
("Program Files") contains a space which would otherwise be mis-
interpreted.
- 24 December 2023 57
+ 10 January 2024 57
@@ -3777,16 +3777,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
%lualatex_input_extensions
- This variable specifies the extensions tried by latexmk when it
- finds that a lualatex run resulted in an error that a file has
- not been found, and the file is given without an extension.
- This typically happens when LaTeX commands of the form \in-
- put{file} or \includegraphics{figure}, when the relevant source
+ This variable specifies the extensions tried by latexmk when it
+ finds that a lualatex run resulted in an error that a file has
+ not been found, and the file is given without an extension.
+ This typically happens when LaTeX commands of the form \in-
+ put{file} or \includegraphics{figure}, when the relevant source
file does not exist.
- In this situation, latexmk searches for custom dependencies to
- make the missing file(s), but restricts it to the extensions
- specified by the variable %pdflatex_input_extensions. The de-
+ In this situation, latexmk searches for custom dependencies to
+ make the missing file(s), but restricts it to the extensions
+ specified by the variable %pdflatex_input_extensions. The de-
fault extensions are 'tex', 'pdf', 'jpg, and 'png'.
See details of the %latex_input_extensions for other information
@@ -3813,17 +3813,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
sons.
$makeindex_silent_switch ["-q"]
- Switch(es) for the index processing program when silent mode is
+ Switch(es) for the index processing program when silent mode is
on.
$max_repeat [5]
- The maximum number of times latexmk will run *latex before de-
- ciding that there may be an infinite loop and that it needs to
- bail out, rather than rerunning *latex again to resolve cross-
+ The maximum number of times latexmk will run *latex before de-
+ ciding that there may be an infinite loop and that it needs to
+ bail out, rather than rerunning *latex again to resolve cross-
- 24 December 2023 58
+ 10 January 2024 58
@@ -3850,11 +3850,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Windows, both "\" and "/" are acceptable as the directory sepa-
rator character, provided at least that filenames are properly
quoted. But it is possible that programs exist that only accept
- "\" on the command line, since that is the standard directory
- separator for MS-Windows. So for safety latexmk makes the sub-
+ "\" on the command line, since that is the standard directory
+ separator for MS-Windows. So for safety latexmk makes the sub-
stitution from "/" to "\", by default.
- However there are also programs on MS-Windows for which a back
+ However there are also programs on MS-Windows for which a back
slash "\" is interpreted differently than as a directory separa-
tor; for these the directory separator should be "/". Programs
with this behavior include all the *latex programs in the
@@ -3866,18 +3866,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$new_viewer_always [0]
This variable applies to latexmk only in continuous-preview
mode. If $new_viewer_always is 0, latexmk will check for a pre-
- viously running previewer on the same file, and if one is run-
- ning will not start a new one. If $new_viewer_always is non-
- zero, this check will be skipped, and latexmk will behave as if
+ viously running previewer on the same file, and if one is run-
+ ning will not start a new one. If $new_viewer_always is non-
+ zero, this check will be skipped, and latexmk will behave as if
no viewer is running.
$out_dir [""]
If non-blank, this variable specifies the output directory.
- This is the directory in which final output files are written
- (dvi, ps, pdf, synctex, synctex.gz). In addition, if the aux
- directory equals the output directory, as is the case by de-
- fault, then other generated files are in effect written to the
+ This is the directory in which final output files are written
+ (dvi, ps, pdf, synctex, synctex.gz). In addition, if the aux
+ directory equals the output directory, as is the case by de-
+ fault, then other generated files are in effect written to the
output directory.
If $out_dir is blank, the output directory is the current direc-
@@ -3889,7 +3889,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 59
+ 10 January 2024 59
@@ -3928,10 +3928,10 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
(In some earlier versions of latexmk, you needed to use an as-
signment to $pdflatex to allow the use of lualatex or xelatex
instead of pdflatex. There are now separate configuration vari-
- ables for the use of lualatex or xelatex. See $lualatex and
+ ables for the use of lualatex or xelatex. See $lualatex and
$xelatex.)
- To do a coordinated setting of all of $dvilualatex, $hilatex,
+ To do a coordinated setting of all of $dvilualatex, $hilatex,
$latex, $pdflatex, $lualatex, and $xelatex, see the section "Ad-
vanced Configuration".
@@ -3955,7 +3955,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 60
+ 10 January 2024 60
@@ -3965,17 +3965,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$pdflatex_silent_switch ["-interaction=batchmode"]
- Switch(es) for the pdflatex program (specified in the variable
+ Switch(es) for the pdflatex program (specified in the variable
$pdflatex) when silent mode is on.
- See details of the $latex_silent_switch for other information
+ See details of the $latex_silent_switch for other information
that equally applies to $pdflatex_silent_switch.
$pdf_previewer ["start acroread %O %S"]
The command to invoke a pdf-previewer.
- On MS-Windows, the default is changed to "cmd /c start """; un-
- der more recent versions of Windows, this will cause to be run
+ On MS-Windows, the default is changed to "cmd /c start """; un-
+ der more recent versions of Windows, this will cause to be run
whatever command the system has associated with .pdf files. But
this may be undesirable if this association is to acroread --
see the notes in the explanation of the -pvc option.]
@@ -3992,24 +3992,24 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
-pvc) under MS-windows. This problem does not occur if, for ex-
ample, SumatraPDF or gsview is used to view pdf files.
- Important note: Normally you will want to have a previewer run
+ Important note: Normally you will want to have a previewer run
detached, so that latexmk doesn't wait for the previewer to ter-
minate before continuing its work. So normally you should pre-
fix the command by "start ", which flags to latexmk that it
should do the detaching of the previewer itself (by whatever
method is appropriate to the operating system). But sometimes
letting latexmk do the detaching is not appropriate (for a vari-
- ety of non-trivial reasons), so you should put the "start " bit
+ ety of non-trivial reasons), so you should put the "start " bit
in yourself, whenever it is needed.
$pdf_update_command [""]
- When the pdf previewer is set to be updated by running a com-
- mand, this is the command that is run. See the information for
+ When the pdf previewer is set to be updated by running a com-
+ mand, this is the command that is run. See the information for
the variable $pdf_update_method.
$pdf_update_method [1 under UNIX, 3 under MS-Windows]
- How the pdf viewer updates its display when the pdf file has
- changed. See the information on the variable $dvi_update_method
+ How the pdf viewer updates its display when the pdf file has
+ changed. See the information on the variable $dvi_update_method
for the codes. (Note that information needs be changed slightly
so that for the value 4, to run a command to do the update, the
command is specified by the variable $pdf_update_command, and
@@ -4021,7 +4021,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 61
+ 10 January 2024 61
@@ -4043,17 +4043,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
dating to be done in response to a command, and the third set-
ting sets the update command.
- $pdf_update_signal [Under UNIX: SIGHUP, which is a system-dependent
+ $pdf_update_signal [Under UNIX: SIGHUP, which is a system-dependent
value]
- The number of the signal that is sent to the pdf viewer when it
- is updated by sending a signal -- see the information on the
- variable $pdf_update_method. The default value is the one ap-
+ The number of the signal that is sent to the pdf viewer when it
+ is updated by sending a signal -- see the information on the
+ variable $pdf_update_method. The default value is the one ap-
propriate for gv on a UNIX system.
$pid_position[1 under UNIX, -1 under MS-Windows]
- The variable $pid_position is used to specify which word in
- lines of the output from $pscmd corresponds to the process ID.
- The first word in the line is numbered 0. The default value of
+ The variable $pid_position is used to specify which word in
+ lines of the output from $pscmd corresponds to the process ID.
+ The first word in the line is numbered 0. The default value of
1 (2nd word in line) is correct for Solaris 2.6, Linux, and OS-X
with their default settings of $pscmd.
@@ -4077,7 +4077,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$latex = 'latex %O %P';
$pre_tex_code = '\AtBeginDocument{An initial message\par}';
- To set all of $latex, $pdflatex, $lualatex, and $xelatex you
+ To set all of $latex, $pdflatex, $lualatex, and $xelatex you
could use the subroutine alt_tex_cmds:
&alt_tex_cmds;
@@ -4087,7 +4087,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 62
+ 10 January 2024 62
@@ -4097,19 +4097,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$preview_continuous_mode [0]
- If nonzero, run a previewer to view the document, and continue
+ If nonzero, run a previewer to view the document, and continue
running latexmk to keep .dvi up-to-date. Equivalent to the -pvc
option. Which previewer is run depends on the other settings,
see the command line options -view=, and the variable $view.
$preview_mode [0]
If nonzero, run a previewer to preview the document. Equivalent
- to the -pv option. Which previewer is run depends on the other
- settings, see the command line options -view=, and the variable
+ to the -pv option. Which previewer is run depends on the other
+ settings, see the command line options -view=, and the variable
$view.
$printout_mode [0]
- If nonzero, print the document using the command specified in
+ If nonzero, print the document using the command specified in
the $lpr variable. Equivalent to the -p option. This is recom-
mended not to be set from an RC file, otherwise you could waste
lots of paper.
@@ -4126,12 +4126,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
the previewer about file changes).
Each line of the output of this command is assumed to correspond
- to one process. See the $pid_position variable for how the
+ to one process. See the $pid_position variable for how the
process number is determined.
- The default for pscmd is "NONE" under MS-Windows and cygwin
- (i.e., the command is not used), "ps -ww -u $ENV{USER}" under
- OS-X, and "ps -f -u $ENV{USER}" under other operating systems
+ The default for pscmd is "NONE" under MS-Windows and cygwin
+ (i.e., the command is not used), "ps -ww -u $ENV{USER}" under
+ OS-X, and "ps -f -u $ENV{USER}" under other operating systems
(including Linux). In these specifications "$ENV{USER}" is sub-
stituted by the username.
@@ -4140,11 +4140,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$ps_filter [empty]
The postscript file filter to be run on the newly produced post-
- script file before other processing. Equivalent to specifying
+ script file before other processing. Equivalent to specifying
the -pF option.
$ps_previewer ["start gv %O %S", but start %O %S under MS-Windows]
- The command to invoke a ps-previewer. (The default under MS-
+ The command to invoke a ps-previewer. (The default under MS-
Windows will cause to be run whatever command the system has as-
sociated with .ps files.)
@@ -4153,7 +4153,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 63
+ 10 January 2024 63
@@ -4167,21 +4167,21 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
variable appropriately.
WARNING: Linux systems may have installed one (or more) versions
- of gv under different names, e.g., ggv, kghostview, etc, but
+ of gv under different names, e.g., ggv, kghostview, etc, but
perhaps not one actually called gv.
- Important note: Normally you will want to have a previewer run
+ Important note: Normally you will want to have a previewer run
detached, so that latexmk doesn't wait for the previewer to ter-
minate before continuing its work. So normally you should pre-
fix the command by "start ", which flags to latexmk that it
should do the detaching of the previewer itself (by whatever
method is appropriate to the operating system). But sometimes
letting latexmk do the detaching is not appropriate (for a vari-
- ety of non-trivial reasons), so you should put the "start " bit
+ ety of non-trivial reasons), so you should put the "start " bit
in yourself, whenever it is needed.
- $ps_previewer_landscape ["start gv -swap %O %S", but start %O %S under
+ $ps_previewer_landscape ["start gv -swap %O %S", but start %O %S under
MS-Windows]
The command to invoke a ps-previewer in landscape mode.
@@ -4195,11 +4195,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
has changed. See the information on the variable $dvi_up-
date_method for the codes. (Note that information needs be
changed slightly so that for the value 4, to run a command to do
- the update, the command is specified by the variable $ps_up-
- date_command, and for the value 2, to specify update by signal,
+ the update, the command is specified by the variable $ps_up-
+ date_command, and for the value 2, to specify update by signal,
the signal is specified by $ps_update_signal.)
- $ps_update_signal [Under UNIX: SIGHUP, which is a system-dependent
+ $ps_update_signal [Under UNIX: SIGHUP, which is a system-dependent
value]
The number of the signal that is sent to the pdf viewer when it
is updated by sending a signal -- see $ps_update_method. The
@@ -4219,7 +4219,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 64
+ 10 January 2024 64
@@ -4258,18 +4258,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
will then use this file to improve its detection of source files
and generated files after a run of *latex.
- It is generally recommended to use this option (or to configure
- the $recorder variable to be on.) But it only works if *latex
- supports the -recorder option, which is true for most current
+ It is generally recommended to use this option (or to configure
+ the $recorder variable to be on.) But it only works if *latex
+ supports the -recorder option, which is true for most current
implementations
- Note about the name of the .fls file: Most implementations of
- *latex produce an .fls file with the same basename as the main
+ Note about the name of the .fls file: Most implementations of
+ *latex produce an .fls file with the same basename as the main
document's LaTeX, e.g., for Document.tex, the .fls file is Docu-
ment.fls. However, some implementations instead produce files
named for the program, i.e., latex.fls or pdflatex.fls. In this
- second case, latexmk copies the latex.fls or pdflatex.fls to a
- file with the basename of the main LaTeX document, e.g., Docu-
+ second case, latexmk copies the latex.fls or pdflatex.fls to a
+ file with the basename of the main LaTeX document, e.g., Docu-
ment.fls.
$search_path_separator [See below for default]
@@ -4285,7 +4285,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 65
+ 10 January 2024 65
@@ -4312,7 +4312,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
steps.
Note: On MS Windows, this is clock time. On other OSs it is the
- CPU time used (by latexmk and the child processes it invokes).
+ CPU time used (by latexmk and the child processes it invokes).
The OS-dependence is because of a limitation of Windows. If you
wish to force the use of clock instead of CPU time, you can set
@@ -4324,15 +4324,15 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Whether after a run of *latex to summarize warnings in the log
file about undefined citations and references. Setting $si-
lence_logfile_warnings=0 gives the summary of warnings (provided
- silent mode isn't also set), and this is useful to locate unde-
- fined citations and references without searching through the
- much more verbose log file or the screen output of *latex. But
- the summary can also be excessively annoying. The default is
- not to give these warnings. The command line options -si-
- lence_logfile_warning_list and -silence_logfile_warning_list-
+ silent mode isn't also set), and this is useful to locate unde-
+ fined citations and references without searching through the
+ much more verbose log file or the screen output of *latex. But
+ the summary can also be excessively annoying. The default is
+ not to give these warnings. The command line options -si-
+ lence_logfile_warning_list and -silence_logfile_warning_list-
also set this variable.
- Note that multiple occurrences for the same undefined object on
+ Note that multiple occurrences for the same undefined object on
the same page and same line will be compressed to a single warn-
ing.
@@ -4351,7 +4351,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 66
+ 10 January 2024 66
@@ -4360,11 +4360,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- A value of exactly 0 gives no delay between checks for source-
- file changes; it typically results in 100% CPU usage, which may
+ A value of exactly 0 gives no delay between checks for source-
+ file changes; it typically results in 100% CPU usage, which may
not be desirable.
- In old versions of latexmk, the default value of $sleep_time of
+ In old versions of latexmk, the default value of $sleep_time of
2 wB-pvctmodegand theeamountlofcCPUrusage.beOnemodernpocomputers
in
with fast multi-core CPUs, a smaller value, e.g., 0.1 can give
@@ -4373,11 +4373,11 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$texfile_search [""]
- This is an obsolete variable, replaced by the @default_files
+ This is an obsolete variable, replaced by the @default_files
variable.
- For backward compatibility, if you choose to set $tex-
- file_search, it is a string of space-separated filenames, and
+ For backward compatibility, if you choose to set $tex-
+ file_search, it is a string of space-separated filenames, and
then latexmk replaces @default_files with the filenames in $tex-
file_search to which is added "*.tex".
@@ -4398,9 +4398,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$use_make_for_missing_files [0]
Whether to use make to try and make files that are missing after
- a run of *latex, and for which a custom dependency has not been
- found. This is generally useful only when latexmk is used as
- part of a bigger project which is built by using the make pro-
+ a run of *latex, and for which a custom dependency has not been
+ found. This is generally useful only when latexmk is used as
+ part of a bigger project which is built by using the make pro-
gram.
Note that once a missing file has been made, no further calls to
@@ -4417,7 +4417,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 67
+ 10 January 2024 67
@@ -4430,9 +4430,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$warnings_as_errors [0]
- Normally latexmk copies the behavior of latex in treating unde-
- fined references and citations and multiply defined references
- as conditions that give a warning but not an error. The vari-
+ Normally latexmk copies the behavior of latex in treating unde-
+ fined references and citations and multiply defined references
+ as conditions that give a warning but not an error. The vari-
able $warnings_as_errors controls whether this behavior is modi-
fied.
@@ -4449,19 +4449,19 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
line option -Werror.
The default behavior is normally satisfactory in the usual edit-
- compile-edit cycle. But, for example, latexmk can also be used
- as part of a build process for some bigger project, e.g., for
- creating documentation in the build of a software application.
- Then it is often sensible to treat citation and reference warn-
- ings as errors that require the overall build process to be
+ compile-edit cycle. But, for example, latexmk can also be used
+ as part of a build process for some bigger project, e.g., for
+ creating documentation in the build of a software application.
+ Then it is often sensible to treat citation and reference warn-
+ ings as errors that require the overall build process to be
aborted. Of course, since multiple runs of *latex are generally
needed to resolve references and citations, what matters is not
the warnings on the first run, but the warnings on the last run;
latexmk takes this into account appropriately.
- In addition, when preview-continuous mode is used, a non-zero
- value for $warnings_as_errors changes the use of the commands
- $failure_cmd, $warning_cmd, and $success_cmd after a complia-
+ In addition, when preview-continuous mode is used, a non-zero
+ value for $warnings_as_errors changes the use of the commands
+ $failure_cmd, $warning_cmd, and $success_cmd after a complia-
tion. If there are citation or reference warnings, but no other
errors, the behavior is as follows. If $warning_cmd is set, it
is used. If it is not set, then then if $warnings_as_errors is
@@ -4472,18 +4472,18 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
$xdv_mode [0]
- If one, generate an xdv version of the document by use of xela-
+ If one, generate an xdv version of the document by use of xela-
tex.
$xdvipdfmx ["xdvipdfmx -E -o %D %O %S"]
- The program to make a pdf file from an xdv file (used in con-
+ The program to make a pdf file from an xdv file (used in con-
junction with xelatex when $pdf_mode=5).
- 24 December 2023 68
+ 10 January 2024 68
@@ -4496,17 +4496,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Switch(es) for the xdvipdfmx program when silent mode is on.
$xelatex ["xelatex %O %S"]
- Specifies the command line for the LaTeX processing program of
- when the xelatex program is called for. See the documentation
- of the -xelatex option for some special properties of latexmk's
+ Specifies the command line for the LaTeX processing program of
+ when the xelatex program is called for. See the documentation
+ of the -xelatex option for some special properties of latexmk's
use of xelatex.
- Note about xelatex: latexmk uses xelatex to make an .xdv rather
- than .pdf file, with the .pdf file being created in a separate
+ Note about xelatex: latexmk uses xelatex to make an .xdv rather
+ than .pdf file, with the .pdf file being created in a separate
step. This is enforced by the use of the -no-pdf option. If %O
is part of the command for invoking xelatex, then latexmk will
insert the -no-pdf option automatically, otherwise you must pro-
- vide the option yourself. See the documentation for the -pdfxe
+ vide the option yourself. See the documentation for the -pdfxe
option for why latexmk makes a .xdv file rather than a .pdf file
when xelatex is used.
@@ -4516,16 +4516,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
%xelatex_input_extensions
- This variable specifies the extensions tried by latexmk when it
- finds that an xelatex run resulted in an error that a file has
- not been found, and the file is given without an extension.
- This typically happens when LaTeX commands of the form \in-
- put{file} or \includegraphics{figure}, when the relevant source
+ This variable specifies the extensions tried by latexmk when it
+ finds that an xelatex run resulted in an error that a file has
+ not been found, and the file is given without an extension.
+ This typically happens when LaTeX commands of the form \in-
+ put{file} or \includegraphics{figure}, when the relevant source
file does not exist.
- In this situation, latexmk searches for custom dependencies to
- make the missing file(s), but restricts it to the extensions
- specified by the variable %xelatex_input_extensions. The de-
+ In this situation, latexmk searches for custom dependencies to
+ make the missing file(s), but restricts it to the extensions
+ specified by the variable %xelatex_input_extensions. The de-
fault extensions are 'tex', 'pdf', 'jpg, and 'png'.
See details of the %latex_input_extensions for other information
@@ -4549,7 +4549,7 @@ CUSTOM DEPENDENCIES
- 24 December 2023 69
+ 10 January 2024 69
@@ -4560,9 +4560,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Defining a custom dependency:
The old method of configuring latexmk to use a custom dependency was to
- directly manipulate the @cus_dep_list array that contains information
- defining the custom dependencies. (See the section "Old Method of
- Defining Custom Dependencies" for details.) This method still works,
+ directly manipulate the @cus_dep_list array that contains information
+ defining the custom dependencies. (See the section "Old Method of
+ Defining Custom Dependencies" for details.) This method still works,
but is no longer preferred.
A better method is to use the subroutines that allow convenient manipu-
@@ -4582,8 +4582,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The extension of the file we are converting to (e.g. "eps"). It
is specified without a period.
- must: If non-zero, the file from which we are converting must exist,
- if it doesn't exist latexmk will give an error message and exit
+ must: If non-zero, the file from which we are converting must exist,
+ if it doesn't exist latexmk will give an error message and exit
unless the -f option is specified. If must is zero and the file
we are converting from doesn't exist, then no action is taken.
Generally, the appropriate value of must is zero.
@@ -4592,30 +4592,30 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The name of the subroutine that latexmk should call to perform
the file conversion. The first argument to the subroutine is
the base name of the file to be converted without any extension.
- The subroutines are declared in the syntax of Perl. The func-
- tion should return 0 if it was successful and a nonzero number
+ The subroutines are declared in the syntax of Perl. The func-
+ tion should return 0 if it was successful and a nonzero number
if it failed.
- Naturally add_cus_dep adds a custom dependency with the specified from
- and to extensions. If a custom dependency has been previously defined
- (e.g., in an rcfile that was read earlier), then it is replaced by the
+ Naturally add_cus_dep adds a custom dependency with the specified from
+ and to extensions. If a custom dependency has been previously defined
+ (e.g., in an rcfile that was read earlier), then it is replaced by the
new one.
- The subroutine remove_cus_dep removes the specified custom dependency.
+ The subroutine remove_cus_dep removes the specified custom dependency.
The subroutine show_cus_dep causes a list of the currently defined cus-
tom dependencies to be sent to the screen output.
How custom dependencies are used:
An instance of a custom dependency rule is created whenever latexmk de-
- tects that a run of *latex needs to read a file, like a graphics file,
- whose extension is the to-extension of a custom dependency. Then la-
- texmk examines whether a file exists with the same name, but with the
+ tects that a run of *latex needs to read a file, like a graphics file,
+ whose extension is the to-extension of a custom dependency. Then la-
+ texmk examines whether a file exists with the same name, but with the
- 24 December 2023 70
+ 10 January 2024 70
@@ -4624,40 +4624,40 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- corresponding from-extension, as specified in the custom-dependency.
- If it does, then a corresponding instance of the custom dependency is
- created, after which the rule is invoked whenever the destination file
+ corresponding from-extension, as specified in the custom-dependency.
+ If it does, then a corresponding instance of the custom dependency is
+ created, after which the rule is invoked whenever the destination file
(the one with the to-extension) is out-of-date with respect to the cor-
responding source file.
To make the new destination file, the Perl subroutine specified in the
rule is invoked, with an argument that is the base name of the files in
- question. Simple cases just involve a subroutine invoking an external
- program; this can be done by following the templates below, even by
- those without knowledge of the Perl programming language. Of course,
+ question. Simple cases just involve a subroutine invoking an external
+ program; this can be done by following the templates below, even by
+ those without knowledge of the Perl programming language. Of course,
experts could do something much more elaborate.
- One item in the specification of each custom-dependency rule, labeled
- "must" above, specifies how the rule should be applied when the source
+ One item in the specification of each custom-dependency rule, labeled
+ "must" above, specifies how the rule should be applied when the source
file fails to exist.
- When latex reports that an input file (e.g., a graphics file) does not
+ When latex reports that an input file (e.g., a graphics file) does not
exist, latexmk tries to find a source file and a custom dependency that
can be used to make it. If it succeeds, then it creates an instance of
- the custom dependency and invokes it to make the missing file, after
+ the custom dependency and invokes it to make the missing file, after
which the next pass of latex etc will be able to read the newly created
file.
Note for advanced usage: The operating system's environment variable
TEXINPUTS can be used to specify a search path for finding files by la-
- tex etc. Correspondingly, when a missing file is reported, latexmk
- looks in the directories specified in TEXINPUTS as well as in the cur-
- rent directory, to find a source file from which an instance of a cus-
+ tex etc. Correspondingly, when a missing file is reported, latexmk
+ looks in the directories specified in TEXINPUTS as well as in the cur-
+ rent directory, to find a source file from which an instance of a cus-
tom dependency can be used to make the missing file.
Function to implement custom dependency, traditional method:
- The function that implements a custom dependency gets the information
+ The function that implements a custom dependency gets the information
on the files to be processed in two ways. The first is through its one
argument; the argument contains the base name of the source and desti-
nation files. The second way is described later.
@@ -4672,16 +4672,16 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
The first line adds a custom dependency that converts a file with ex-
tension "fig", as created by the xfig program, to an encapsulated post-
- script file, with extension "eps". The remaining lines define a sub-
- routine that carries out the conversion. If a rule for converting
- "fig" to "eps" files already exists (e.g., from a previously read-in
- initialization file), the latexmk will delete this rule before making
+ script file, with extension "eps". The remaining lines define a sub-
+ routine that carries out the conversion. If a rule for converting
+ "fig" to "eps" files already exists (e.g., from a previously read-in
+ initialization file), the latexmk will delete this rule before making
the new one.
- 24 December 2023 71
+ 10 January 2024 71
@@ -4690,25 +4690,25 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- Suppose latexmk is using this rule to convert a file "figure.fig" to
- "figure.eps". Then it will invoke the fig2eps subroutine defined in
- the above code with a single argument "figure", which is the basename
- of each of the files (possibly with a path component). This argument
- is referred to by Perl as $_[0]. In the example above, the subroutine
+ Suppose latexmk is using this rule to convert a file "figure.fig" to
+ "figure.eps". Then it will invoke the fig2eps subroutine defined in
+ the above code with a single argument "figure", which is the basename
+ of each of the files (possibly with a path component). This argument
+ is referred to by Perl as $_[0]. In the example above, the subroutine
uses the Perl command system to invoke the program fig2dev. The double
quotes around the string are a Perl idiom that signify that each string
- of the form of a variable name, $_[0] in this case, is to be substi-
+ of the form of a variable name, $_[0] in this case, is to be substi-
tuted by its value.
- If the return value of the subroutine is non-zero, then latexmk will
- assume an error occurred during the execution of the subroutine. In
- the above example, no explicit return value is given, and instead the
- return value is the value returned by the last (and only) statement,
+ If the return value of the subroutine is non-zero, then latexmk will
+ assume an error occurred during the execution of the subroutine. In
+ the above example, no explicit return value is given, and instead the
+ return value is the value returned by the last (and only) statement,
i.e., the invocation of system, which returns the value 0 on success.
- If you use pdflatex, lualatex or xelatex instead of latex, then you
- will probably prefer to convert your graphics files to pdf format, in
- which case you would replace the above code in an initialization file
+ If you use pdflatex, lualatex or xelatex instead of latex, then you
+ will probably prefer to convert your graphics files to pdf format, in
+ which case you would replace the above code in an initialization file
by
add_cus_dep( 'fig', 'pdf, 0, 'fig2pdf' );
@@ -4716,13 +4716,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
system( "fig2dev -Lpdf \"$_[0].fig\" \"$_[0].pdf\"" );
}
- Note 1: In the command lines given in the system commands in the above
- examples, double quotes have been inserted around the file names (im-
- plemented by '\"' in the Perl language). They immunize the running of
- the program against special characters in filenames. Very often these
- quotes are not necessary, i.e., they can be omitted. But it is nor-
- mally safer to keep them in. Even though the rules for quoting vary
- between operating systems, command shells and individual pieces of
+ Note 1: In the command lines given in the system commands in the above
+ examples, double quotes have been inserted around the file names (im-
+ plemented by '\"' in the Perl language). They immunize the running of
+ the program against special characters in filenames. Very often these
+ quotes are not necessary, i.e., they can be omitted. But it is nor-
+ mally safer to keep them in. Even though the rules for quoting vary
+ between operating systems, command shells and individual pieces of
software, the quotes in the above examples do not cause problems in the
cases I have tested.
@@ -4733,13 +4733,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
ward slashes are generated by latexmk, to maintain its sanity from
software like MiKTeX that mixes both directory separators; but their
correct use normally requires quoted filenames. (See a log file from a
- run of MiKTeX (at least in v. 2.9) for an example of the use of both
+ run of MiKTeX (at least in v. 2.9) for an example of the use of both
directory separators.)
- Note 3: The subroutines implementing custom dependencies in the exam-
- ples given just have a single line invoking an external program.
- That's the usual situation. But since the subroutines are in the Perl
- language, you can implement much more complicated processing if you
+ Note 3: The subroutines implementing custom dependencies in the exam-
+ ples given just have a single line invoking an external program.
+ That's the usual situation. But since the subroutines are in the Perl
+ language, you can implement much more complicated processing if you
need it.
@@ -4747,7 +4747,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 72
+ 10 January 2024 72
@@ -4757,12 +4757,12 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Removing custom dependencies, and when you might need to do this:
- If you have some general custom dependencies defined in the system or
- user initialization file, you may find that for a particular project
- they are undesirable. So you might want to delete the unneeded ones.
- A situation where this would be desirable is where there are multiple
- custom dependencies with the same from-extension or the same to-exten-
- sion. In that case, latexmk might choose a different one from the one
+ If you have some general custom dependencies defined in the system or
+ user initialization file, you may find that for a particular project
+ they are undesirable. So you might want to delete the unneeded ones.
+ A situation where this would be desirable is where there are multiple
+ custom dependencies with the same from-extension or the same to-exten-
+ sion. In that case, latexmk might choose a different one from the one
you want for a specific project. As an example, to remove any "fig" to
"eps" rule you would use:
@@ -4787,22 +4787,22 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
plementation of its "rules" for the steps of processing, including cus-
tom dependencies, became much more powerful. The function implementing
a custom dependency is executed within a special context where a number
- of extra variables and subroutines are defined. Publicly documented
- ones, intended to be long-term stable, are listed below, under the
+ of extra variables and subroutines are defined. Publicly documented
+ ones, intended to be long-term stable, are listed below, under the
heading "Variables and subroutines for processing a rule".
- Examples of their use is given in the following examples, concerning
+ Examples of their use is given in the following examples, concerning
multiple index files and glossaries.
- The only index-file conversion built-in to latexmk is from an ".idx"
- file written on one run of *latex to an ".ind" file to be read in on a
- subsequent run. But with the index.sty package, for example, you can
- create extra indexes with extensions that you configure. Latexmk does
+ The only index-file conversion built-in to latexmk is from an ".idx"
+ file written on one run of *latex to an ".ind" file to be read in on a
+ subsequent run. But with the index.sty package, for example, you can
+ create extra indexes with extensions that you configure. Latexmk does
not know how to deduce the extensions from the information it has. But
you can easily write a custom dependency. For example if your latex
file uses the command "\newindex{special}{ndx}{nnd}{Special index}" you
- will need to get latexmk to convert files with the extension .ndx to
- .nnd. The most elementary method is to define a custom dependency as
+ will need to get latexmk to convert files with the extension .ndx to
+ .nnd. The most elementary method is to define a custom dependency as
follows:
add_cus_dep( 'ndx', 'nnd', 0, 'ndx2nnd' );
@@ -4813,7 +4813,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 73
+ 10 January 2024 73
@@ -4822,14 +4822,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- Notice the added line compared with earlier examples. The extra line
+ Notice the added line compared with earlier examples. The extra line
gets the extensions "ndx" and "nnd" added to the list of extensions for
generated files; then the extra index files will be deleted by clean-up
operations
- But if you have yet more indexes with yet different extensions, e.g.,
- "adx" and "and", then you will need a separate function for each pair
- of extensions. This is quite annoying. You can use the Run_subst
+ But if you have yet more indexes with yet different extensions, e.g.,
+ "adx" and "and", then you will need a separate function for each pair
+ of extensions. This is quite annoying. You can use the Run_subst
function to simplify the definitions to use a single function:
add_cus_dep( 'ndx', 'nnd', 0, 'dx2nd' );
@@ -4848,8 +4848,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
}
push @generated_exts, 'ndx', 'nnd', 'adx', 'and';
- This last example uses the command specification in $makeindex, and so
- any customization you have made for the standard index also applies to
+ This last example uses the command specification in $makeindex, and so
+ any customization you have made for the standard index also applies to
your extra indexes.
Similar techniques can be applied for glossaries.
@@ -4857,13 +4857,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Those of you with experience with Makefiles, may get concerned that the
.ndx file is written during a run of *latex and is always later than
the .nnd last read in. Thus the .nnd appears to be perpetually out-of-
- date. This situation, of circular dependencies, is endemic to latex,
- and is one of the issues that latexmk is programmed to overcome. It
- examines the contents of the files (by use of a checksum), and only
+ date. This situation, of circular dependencies, is endemic to latex,
+ and is one of the issues that latexmk is programmed to overcome. It
+ examines the contents of the files (by use of a checksum), and only
does a remake when the file contents have actually changed.
- Of course if you choose to write random data to the .nnd (or the .aux
- file, etc) that changes on each new run, then you will have a problem.
+ Of course if you choose to write random data to the .nnd (or the .aux
+ file, etc) that changes on each new run, then you will have a problem.
For real experts: See the %hash_calc_ignore_pattern if you have to deal
with such problems.
@@ -4872,14 +4872,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
In much older versions of latexmk, the only method of defining custom
dependencies was to directly manipulate the table of custom dependen-
cies. This is contained in the @cus_dep_list array. It is an array of
- strings, and each string in the array has four items in it, each sepa-
- rated by a space, the from-extension, the to-extension, the "must"
- item, and the name of the subroutine for the custom dependency. These
+ strings, and each string in the array has four items in it, each sepa-
+ rated by a space, the from-extension, the to-extension, the "must"
+ item, and the name of the subroutine for the custom dependency. These
were all defined above.
- 24 December 2023 74
+ 10 January 2024 74
@@ -4925,8 +4925,8 @@ Advanced configuration: Some extra resources and advanced tricks
values that should be in the variable. For each of the value
parameters, if it isn't already in the variable, then it is
prepended to the variable; in that case the environment variable
- is created if it doesn't already exist. For separating values,
- the character appropriate the the operating system is used --
+ is created if it doesn't already exist. For separating values,
+ the character appropriate the the operating system is used --
see the configuration variable $search_path_separator.
Example:
@@ -4945,7 +4945,7 @@ Advanced configuration: Some extra resources and advanced tricks
- 24 December 2023 75
+ 10 January 2024 75
@@ -4956,22 +4956,22 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Variables and subroutines for processing a rule
A step in the processing is called a rule. One possibility to implement
- the processing of a rule is by a Perl subroutine. This is always the
- case for custom dependencies. Also, for any other rule, you can use a
- subroutine by prefixing the command specification by the word "inter-
+ the processing of a rule is by a Perl subroutine. This is always the
+ case for custom dependencies. Also, for any other rule, you can use a
+ subroutine by prefixing the command specification by the word "inter-
nal" -- see the section FORMAT OF COMMAND SPECIFICATIONS.
- When you use a subroutine for processing a rule, all the possibilities
+ When you use a subroutine for processing a rule, all the possibilities
of Perl programming are available, of course. In addition, some of la-
texmk's internal variables and subroutines are available. The ones
listed below are intended to be available to (advanced) users, and
their specifications will generally have stability under upgrades. Gen-
- erally, the variables should be treated as read-only: Changing their
- values can have bad consequences, since it is liable to mess up the
+ erally, the variables should be treated as read-only: Changing their
+ values can have bad consequences, since it is liable to mess up the
consistency of what latexmk is doing.
- $rule This variable has the name of the rule, as known to latexmk.
- Note that the exact contents of this variable for a given rule
+ $rule This variable has the name of the rule, as known to latexmk.
+ Note that the exact contents of this variable for a given rule
may be dependent on the version of latexmk
$$Psource
@@ -5001,17 +5001,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
This subroutine is to be used in the context of a rule, that is,
from within a subroutine that is carrying out processing of a
rule. Such is the case for the subroutine implementing a custom
- dependency, or the subroutine invoked by using the "internal"
- keyword in the command specification like that in the variable
+ dependency, or the subroutine invoked by using the "internal"
+ keyword in the command specification like that in the variable
$latex.
- Its arguments are a sequence of filenames which are generated
- during the running of the rule. The names might arise from an
+ Its arguments are a sequence of filenames which are generated
+ during the running of the rule. The names might arise from an
analysis of the results of the run, e.g., in a log file, or from
- 24 December 2023 76
+ 10 January 2024 76
@@ -5026,43 +5026,43 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
structures. Basically, no action is taken if the files have al-
ready been flagged as generated.
- A main purpose of using this subroutine is for the situation
- when a generated file is also the source file for some rule, so
- that latexmk can correctly link the dependency information in
+ A main purpose of using this subroutine is for the situation
+ when a generated file is also the source file for some rule, so
+ that latexmk can correctly link the dependency information in
its network of rules.
Note: Unlike some other subroutines in this section, there is no
argument for a rule for rdb_add_generated. Instead, the subrou-
tine is to be invoked during the processing of a rule when la-
texmk has set up an appropriate context (i.e., appropriate vari-
- ables). In contrast, subroutines with a rule argument can be
+ ables). In contrast, subroutines with a rule argument can be
used also outside a rule context.
rdb_ensure_file( $rule, file )
- This subroutine ensures that the given file is among the source
+ This subroutine ensures that the given file is among the source
files for the specified rule. It is typically used when, during
the processing of a rule, it is known that a particular extra
file is among the dependencies that latexmk should know, but its
- default methods don't find the dependency. Almost always the
- first argument is the name of the rule currently being pro-
- cessed, so it is then appropriate to specify it by $rule.
-
- For examples of its use, see some of the files in the directory
- example_rcfiles of latexmk's distribution. Currently the cases
- that use this subroutine are bib2gls-latexmkrc, exceltex_la-
- texmkrc and texinfo-latexmkrc. These illustrate typical cases
- where latexmk's normal processing fails to detect certain extra
+ default methods don't find the dependency. Almost always the
+ first argument is the name of the rule currently being
+ processed, so it is then appropriate to specify it by $rule.
+
+ For examples of its use, see some of the files in the directory
+ example_rcfiles of latexmk's distribution. Currently the cases
+ that use this subroutine are bib2gls-latexmkrc, exceltex_la-
+ texmkrc and texinfo-latexmkrc. These illustrate typical cases
+ where latexmk's normal processing fails to detect certain extra
source files.
Note that rdb_ensure_file only has one filename argument, unlike
other subroutines in this section. If you want to apply its ac-
- tion to multiple files, you will need one call to rdb_en-
+ tion to multiple files, you will need one call to rdb_en-
sure_file for each file.
rdb_remove_files( $rule, file, ... )
- This subroutine removes one or more files from the dependency
+ This subroutine removes one or more files from the dependency
list for the given rule.
@@ -5077,7 +5077,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 77
+ 10 January 2024 77
@@ -5097,7 +5097,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
rdb_set_source( $rule, @files )
This subroutine sets the dependency list for the given rule to
be the specified files. Files that are already in the list have
- unchanged information. Files that were not in the list are
+ unchanged information. Files that were not in the list are
added to it. Files in the previous dependency list that are not
in the newly specified list of files are removed from the depen-
dency list.
@@ -5108,7 +5108,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
specification is a string in the format listed in the section
"Format of Command Specifications". An important action of the
Run_subst is to make substitutions of placeholders, e.g., %S and
- %D for source and destination files; these get substituted be-
+ %D for source and destination files; these get substituted be-
fore the command is run. In addition, the command after substi-
tution is printed to the screen unless latexmk is running in
silent mode.
@@ -5116,7 +5116,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
Coordinated Setting of Commands for *latex
To set all of $dvilualatex, $hilatex, $latex, $pdflatex, $lualatex, and
- $xelatex to a common pattern, you can use one of the following subrou-
+ $xelatex to a common pattern, you can use one of the following subrou-
tines, std_tex_cmds, alt_tex_cmds, and set_tex_cmds.
To get the standard commands, use
@@ -5143,7 +5143,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 78
+ 10 January 2024 78
@@ -5164,8 +5164,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
set_tex_cmds( '--interaction=batchmode %O %S' );
- This results in $latex = 'latex --interaction=batchmode %O %S ', etc.
- Note that when '%O' appears after the added option, as here, options
+ This results in $latex = 'latex --interaction=batchmode %O %S ', etc.
+ Note that when '%O' appears after the added option, as here, options
provided on the command line to latexmk can override the supplied one.
A more general command line can be set up by using the placeholder '%C'
@@ -5187,14 +5187,14 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
gram for complex projects, as for software development, with the depen-
dencies specified by a Makefile.
- Now the basic task of latexmk is to run the appropriate programs to
- make a viewable version of a LaTeX document. However, the usual make
- program is not suited to this purpose for at least two reasons. First
+ Now the basic task of latexmk is to run the appropriate programs to
+ make a viewable version of a LaTeX document. However, the usual make
+ program is not suited to this purpose for at least two reasons. First
is that the use of LaTeX involves circular dependencies (e.g., via .aux
files), and these cannot be handled by the standard make program. Sec-
- ond is that in a large document the set of source files can change
- quite frequently, particularly with included graphics files; in this
- situation keeping a Makefile manually updated is inappropriate and er-
+ ond is that in a large document the set of source files can change
+ quite frequently, particularly with included graphics files; in this
+ situation keeping a Makefile manually updated is inappropriate and er-
ror-prone, especially when the dependencies can be determined automati-
cally. Latexmk solves both of these problems robustly.
@@ -5209,7 +5209,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 79
+ 10 January 2024 79
@@ -5252,17 +5252,17 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
try.pdf. So when make is invoked, by default it makes try.pdf. The
only complication is that there may be many source files beyond
try.tex, but these aren't specified in the Makefile, so changes in them
- will not by themselves cause latexmk to be invoked. Instead, the pat-
- tern rule is equipped with a "phony" prerequisite FORCE_MAKE; this has
- the effect of causing the rule to be always out-of-date, so that la-
- texmk is always run. It is latexmk that decides whether any action is
- needed, e.g., a rerun of pdflatex. Effectively the Makefile delegates
- all decisions to latexmk, while make has no knowledge of the list of
+ will not by themselves cause latexmk to be invoked. Instead, the pat-
+ tern rule is equipped with a "phony" prerequisite FORCE_MAKE; this has
+ the effect of causing the rule to be always out-of-date, so that la-
+ texmk is always run. It is latexmk that decides whether any action is
+ needed, e.g., a rerun of pdflatex. Effectively the Makefile delegates
+ all decisions to latexmk, while make has no knowledge of the list of
source files except for primary LaTeX file for the document. If there
are, for example, graphics files to be made, these must be made by cus-
tom dependencies configured in latexmk.
- But something better is needed in more complicated situations, for ex-
+ But something better is needed in more complicated situations, for ex-
ample, when the making of graphics files needs to be specified by rules
in the Makefile. To do this, one can use a Makefile like the follow-
ing:
@@ -5275,7 +5275,7 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 80
+ 10 January 2024 80
@@ -5299,8 +5299,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
started with tabs.) This example was inspired by how GNU automake han-
dles automatic dependency tracking of C source files.
- After each run of latexmk, dependency information is put in a file in
- the .deps subdirectory. The Makefile causes these dependency files to
+ After each run of latexmk, dependency information is put in a file in
+ the .deps subdirectory. The Makefile causes these dependency files to
be read by make, which now has the full dependency information for each
target .pdf file. To make things less trivial it is specificed that
two files document1.pdf and document2.pdf are the targets. The depen-
@@ -5308,8 +5308,8 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
There is now no need for the phony prerequisite for the rule to make
.pdf files from .tex files. But I have added a rule to make .pdf files
- from .fig files produced by the xfig program; these are commonly used
- for graphics insertions in LaTeX documents. Latexmk is arranged to
+ from .fig files produced by the xfig program; these are commonly used
+ for graphics insertions in LaTeX documents. Latexmk is arranged to
output a dependency file after each run. It is given the -recorder op-
tion, which improves its detection of files generated during a run of
pdflatex; such files should not be in the dependency list. The -e op-
@@ -5335,13 +5335,13 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
By default, latexmk does no escaping of this kind, and the user will
have to arrange to deal with the issue separately, if the relevant spe-
- cial characters are used. Note that the rules for escaping depend on
+ cial characters are used. Note that the rules for escaping depend on
which make program is used, and on its version.
- 24 December 2023 81
+ 10 January 2024 81
@@ -5350,9 +5350,9 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
LATEXMK(1) General Commands Manual LATEXMK(1)
- One special case is of spaces, since those are particularly prevalent,
- notably in standard choices of name for a user's home directory. So
- latexmk does provide an option to escape spaces. See the option
+ One special case is of spaces, since those are particularly prevalent,
+ notably in standard choices of name for a user's home directory. So
+ latexmk does provide an option to escape spaces. See the option
-deps_escape=... and the variable $deps_escape for details.
@@ -5361,7 +5361,7 @@ NON_ASCII CHARACTERS IN FILENAMES, RC FILES, ETC
Modern operating systems and file systems allow non-ASCII characters in
the names of files and directories that encompass the full Unicode
range. Mostly, latexmk deals with these correctly. However, there are
- some situations in which there are problems, notably on Microsoft Win-
+ some situations in which there are problems, notably on Microsoft Win-
dows. Prior to version 4.77, latexmk had problems with non-ASCII file-
names on Windows, even though there were no corresponding problems on
macOS and Linux. These problems are corrected in the present version.
@@ -5376,7 +5376,7 @@ SEE ALSO
BUGS (SELECTED)
Sometimes a viewer (gv) tries to read an updated .ps or .pdf file after
- its creation is started but before the file is complete. Work around:
+ its creation is started but before the file is complete. Work around:
manually refresh (or reopen) display. Or use one of the other preview-
ers and update methods.
@@ -5395,19 +5395,19 @@ BUGS (SELECTED)
THANKS TO
Authors of previous versions. Many users with their feedback, and es-
pecially David Coppit (username david at node coppit.org) who made many
- useful suggestions that contributed to version 3, and Herbert Schulz.
- (Please note that the e-mail addresses are not written in their stan-
+ useful suggestions that contributed to version 3, and Herbert Schulz.
+ (Please note that the e-mail addresses are not written in their stan-
dard form to avoid being harvested too easily.)
AUTHOR
- Current version, by John Collins (Version 4.82). Report bugs etc to
+ Current version, by John Collins (Version 4.82a). Report bugs etc to
his e-mail (jcc8 at psu.edu).
- Released version can be obtained from CTAN:
+ Released version can be obtained from CTAN:
- 24 December 2023 82
+ 10 January 2024 82
@@ -5416,7 +5416,7 @@ AUTHOR
LATEXMK(1) General Commands Manual LATEXMK(1)
- <http://www.ctan.org/pkg/latexmk/>, and from the author's website
+ <http://www.ctan.org/pkg/latexmk/>, and from the author's website
<https://www.cantab.net/users/johncollins/latexmk/>.
Modifications and enhancements by Evan McLean (Version 2.0)
Original script called "go" by David J. Musliner (RCS Version 3.2)
@@ -5473,6 +5473,6 @@ LATEXMK(1) General Commands Manual LATEXMK(1)
- 24 December 2023 83
+ 10 January 2024 83