1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
Hi, and thanks for checking out latexmk. (Version 4.07, 27 May 2009)
Latexmk completely automates the process of generating a LaTeX document.
Essentially, it is a highly specialized cousin of the general make
utility. Given the source files for a document, latexmk issues the
appropriate sequence of commands to generate a .dvi, .ps, .pdf or hardcopy
version of the document. It can also be set to run continuously with a
previewer; the latex program, etc, are rerun whenever one of the source
files is modified.
Latexmk automatically determines file dependencies from either the LaTeX
.log file or the source .tex file. Compared with previous versions, the
current version features: a fully reliable algorithm for deciding how many
times to run latex, greatly improved automatic detection of dependent
files, the ability to generate pdf files using pdflatex, and a continuous
preview mode that actually works.
Please read the man page (or the corresponding text or postscript file)
for a run down on what latexmk does and what all the features are. A copy
of the fast help that can be seen by doing "latexmk -h" is at the end of
this file.
The latexmk perl script was modified by Evan McLean from the original
script called "go" written by David J. Musliner. Now it is supported
by
John Collins
Physics Department
Penn State University
104 Davey Lab, Box 208
University Park PA 16802
U.S.A.
http://www.phys.psu.edu/~collins/
username collins at node phys.psu.edu
(E-mail address obfuscated to avoid being harvested by worms and spammers)
The start of the script file has copyright notices and disclaimers. It
also has a modification history for those who are interested.
NOTES:-
1) See the INSTALL file for installation instructions
2) Portability under various UNIX-type systems (including Linux):
A special hack is used at the beginning of the latexmk script to ensure
that it correctly runs without the need to adjust a #! line. All that
is necessary is that the script has execute permission.
3) Portability under non-UNIX systems:
Under other operating systems some other arrangement needs to be made
to run the file. For example under MS-Windows, the supplied batch file
latexmk.bat will do this.
You may also find it necessary to convert files to the correct local
format for text files. As downloaded, the files are in UNIX format
(line-ending is '\n'). On MS-Windows systems, the conversion to MSDOS
format (with line-ending '\r\n') is normally UNnecessary, since much
current software handles the UNIX format correctly. (The known
software for which this statement applies includes MikTeX, fpTeX,
emacs.)
4) Portability: The various commands to process LaTeX files made need to
be changed for particular installations. See the INSTALL file and the
documentation for information on customization.
5) Portability: Users of different UNIX-like systems may have to change
the "$pscmd" variable in their RC file if the -pvc option is to work
perfectly. Refer to $pscmd in the man page.
6) Latexmk can be downloaded from the author's site at
http://www.phys.psu.edu/~collins/software/latexmk/
This site also includes previous versions, and possibly newer
versions under development.
7) Latexmk is archived on the CTAN tex archive --- see
http://www.tug.org/ctan.html. By ftp it can be found in
/tex-archive/support/latexmk on the following hosts (as well as on
many other mirror sites): ftp://ftp.dante.de, ftp://ftp.tex.ac.uk,
ftp://ctan.tug.org.
8) [If for some reason you need to find the obsolete version 2, it can
also be found on CTAN, at /tex-archive/obsolete/support/latexmk/ on
the above hosts.]
I hope you find this useful.
John Collins
---------------------------- "latexmk -h" ----------------------------
Latexmk 4.07: Automatic LaTeX document generation routine
Usage: latexmk [latexmk_options] [filename ...]
Latexmk_options:
-bm <message> - Print message across the page when converting to postscript
-bi <intensity> - Set contrast or intensity of banner
-bs <scale> - Set scale for banner
-commands - list commands used by latexmk for processing files
-c - clean up (remove) all nonessential files, except
dvi, ps and pdf files.
This and the other clean-ups are instead of a regular make.
-C - clean up (remove) all nonessential files
including aux, dep, dvi, postscript and pdf files
and file of database of file information
-CA - clean up (remove) absolutely ALL nonessential files.
Now equivalent to -C option.
-CF - Remove file of database of file information before doing
other actions
-cd - Change to directory of source file when processing it
-cd- - Do NOT change to directory of source file when processing it
-dependents - Show list of dependent files after processing
-dependents- - Do not show list of dependent files after processing
-dF <filter> - Filter to apply to dvi file
-dvi - generate dvi
-dvi- - turn off required dvi
-e <code> - Execute specified PERL code
-f - force continued processing past errors
-f- - turn off forced continuing processing past errors
-F - Ignore non-existent files when testing for dependencies
-F- - Turn off -F
-gg - Super go mode: clean out generated files (-CA), and then
process files regardless of file timestamps
-g - process regardless of file timestamps
-g- - Turn off -g
-h - print help
-help - print help
-jobname=STRING - set basename of output file(s) to STRING.
(Like --jobname=STRING on command line for many current
implementations of latex/pdflatex.)
-l - force landscape mode
-l- - turn off -l
-new-viewer - in -pvc mode, always start a new viewer
-new-viewer- - in -pvc mode, start a new viewer only if needed
-nodependents - Do not show list of dependent files after processing
-pdf - generate pdf by pdflatex
-pdfdvi - generate pdf by dvipdf
-pdfps - generate pdf by ps2pdf
-pdf- - turn off pdf
-ps - generate postscript
-ps- - turn off postscript
-pF <filter> - Filter to apply to postscript file
-p - print document after generating postscript.
(Can also .dvi or .pdf files -- see documentation)
-print=dvi - when file is to be printed, print the dvi file
-print=ps - when file is to be printed, print the ps file (default)
-print=pdf - when file is to be printed, print the pdf file
-pv - preview document. (Side effect turn off continuous preview)
-pv- - turn off preview mode
-pvc - preview document and continuously update. (This also turns
on force mode, so errors do not cause latexmk to stop.)
(Side effect: turn off ordinary preview mode.)
-pvc- - turn off -pvc
-r <file> - Read custom RC file
-silent - silence progress messages from called programs
-v - display program version
-verbose - display usual progress messages from called programs
-version - display program version
-view=default - viewer is default (dvi, ps, pdf)
-view=dvi - viewer is for dvi
-view=none - no viewer is used
-view=ps - viewer is for ps
-view=pdf - viewer is for pdf
filename = the root filename of LaTeX document
-p, -pv and -pvc are mutually exclusive
-h, -c and -C overides all other options.
-pv and -pvc require one and only one filename specified
All options can be introduced by '-' or '--'. (E.g., --help or -help.)
Contents of RC file specified by -r overrides options specified
before the -r option on the command line
|