From c389b7299225b11856320fa1561f9b1ca35bbc6b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 17 Mar 2022 20:30:35 +0000 Subject: latexmk (17mar22) (branch) git-svn-id: svn://tug.org/texlive/branches/branch2021.final@62768 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/man/man1/latexmk.1 | 90 +- Master/texmf-dist/doc/man/man1/latexmk.man1.pdf | Bin 222304 -> 222654 bytes Master/texmf-dist/doc/support/latexmk/CHANGES | 15 + Master/texmf-dist/doc/support/latexmk/INSTALL | 216 +- Master/texmf-dist/doc/support/latexmk/README | 197 +- .../latexmk/example_rcfiles/asymptote_latexmkrc | 3 +- .../latexmk/example_rcfiles/chapterbib-latexmkrc | 10 +- .../example_rcfiles/clean_pattern_latexmkrc | 2 +- .../latexmk/example_rcfiles/dot2tex-latexmkrc | 175 ++ .../latexmk/example_rcfiles/exceltex_latexmkrc | 2 +- .../latexmk/example_rcfiles/fix-aux.latexmkrc | 4 + .../latexmk/example_rcfiles/glossaries_latexmkrc | 39 + .../latexmk/example_rcfiles/glossary_latexmkrc | 44 - .../latexmk/example_rcfiles/minted_latexmkrc | 38 + .../latexmk/example_rcfiles/pythontex-latexmkrc | 2 +- Master/texmf-dist/doc/support/latexmk/latexmk.cmd | 24 + Master/texmf-dist/doc/support/latexmk/latexmk.pdf | Bin 196760 -> 198246 bytes Master/texmf-dist/doc/support/latexmk/latexmk.txt | 1172 ++++---- Master/texmf-dist/scripts/latexmk/latexmk.pl | 2925 ++++++++++---------- 19 files changed, 2618 insertions(+), 2340 deletions(-) create mode 100644 Master/texmf-dist/doc/support/latexmk/example_rcfiles/dot2tex-latexmkrc create mode 100644 Master/texmf-dist/doc/support/latexmk/example_rcfiles/glossaries_latexmkrc delete mode 100644 Master/texmf-dist/doc/support/latexmk/example_rcfiles/glossary_latexmkrc create mode 100644 Master/texmf-dist/doc/support/latexmk/example_rcfiles/minted_latexmkrc create mode 100644 Master/texmf-dist/doc/support/latexmk/latexmk.cmd (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/man/man1/latexmk.1 b/Master/texmf-dist/doc/man/man1/latexmk.1 index 50a39b39cba..f81bb0fb2af 100644 --- a/Master/texmf-dist/doc/man/man1/latexmk.1 +++ b/Master/texmf-dist/doc/man/man1/latexmk.1 @@ -1,4 +1,4 @@ -.TH LATEXMK 1 "20 November 2021" "" +.TH LATEXMK 1 "17 March 2022" "" .SH NAME latexmk \- generate LaTeX document .SH SYNOPSIS @@ -2136,9 +2136,9 @@ created by *latex, which can contain erroneous information. Therefore this variable is turned off by default, and then files to be deleted are restricted to those explicitly specified by patterns configured in the variables \fIclean_ext\fR, -\fIclean_full_ext\fR, and \fI@generated_exts\fR, together with those -very standard cases that are hardwired into \fIlatexmk\fR (e.g., .log -files). +\fIclean_full_ext\fR, and \fI@generated_exts\fR. Standard cases (e.g., .log +files) appear in \fIlatexmk\fR's initial value for the array +\fI@generated_exts\fR. .TP .B $cleanup_mode [0] If nonzero, specifies cleanup mode: 1 for full cleanup, 2 for cleanup @@ -2169,12 +2169,20 @@ 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). -The files to be deleted are relative to the directory specified by -\fI$aux_dir\fR. (Note that if \fI$out_dir\fR but not \fI$aux_dir\fR -is set, then in its initialization, \fIlatexmk\fR sets \fI$aux_dir\fR -equal to \fI$out_dir\fR. A normal situation is therefore that \fI$aux_dir\fR -equals \fI$out_dir\fR, which is the only case supported by -TeXLive, unlike MiKTeX.) +Most of the files to be deleted are relative to the directory specified by +\fI$aux_dir\fR. Note that if \fI$out_dir\fR but not \fI$aux_dir\fR is +set, then in its initialization, \fIlatexmk\fR sets \fI$aux_dir\fR equal to +\fI$out_dir\fR. A normal situation is therefore that \fI$aux_dir\fR equals +\fI$out_dir\fR, 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 +\fI$emulate_aux variable. + +If \fI$out_dir\fR and \fI$aux_dir\fR different, latexmk actually deletes +any files of the specified names in both \fI$aux_dir\fR and \fI$out_dir\fR; +this is because under certain error conditions, the files may be put in +\fI$out_dir\fR instead of \fI$aux_dir\fR. This also handles the case of +deleting any fls file, since that file is in \fI$out_dir\fR. The filenames specified for a clean-up operation can refer not only to regular files but also to directories. Directories are only deleted @@ -2184,7 +2192,11 @@ both the files and the directory by setting $clean_ext = "pythontex-files-%R pythontex-files-%R"; -See also the variable \fI@generated_exts\fR. +See also the (array) variable \fI@generated_exts\fR. In the past, this +variable had certain uses beyond that of \fI$clean_ext\fR. But now, they +accomplish the same things. In fact, after initialization including the +processing of command line options, \fIlatexmk\fR simply appends the list +of extensions in \fI$clean_ext\fR to the array \fI@generated_exts\fR. .TP .B $clean_full_ext [""] Extra extensions of files for \fIlatexmk\fR to remove when the \fB-C\fR @@ -2522,28 +2534,37 @@ mode is used and diagnostic mode is not on. If nonzero, continue processing past minor \fIlatex\fR errors including unrecognized cross references. Equivalent to specifying the \fB-f\fR option. + .TP -.B @generated_exts [( "aux", "bbl", "idx", "ind", "lof", "lot", "out", "toc", $fdb_ext )] +.B @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 during -a LaTeX run and that are read in by LaTeX in later runs, either -directly or indirectly. - -This list specifies files known to be generated by \fI*latex\fR. -It is used in two ways: -(a) The specified files are deleted in a cleanup operation (with the -\fB-c\fR, \fB-C\fR, \fB-CA\fR, \fB-g\fR and \fB-gg\fR options), and -(b) It affects the determination of whether a rerun of *latex is -needed after a run that gives an error. - -(Concerning item (b): Normally, a change of a source file during a run -should provoke a rerun. This includes a file generated by LaTeX, -e.g., an aux file, that is read in on subsequent runs. But after a -run that results in an error, a new run should not occur until the -user has made a change in the files. But the user may have corrected -an error in a source .tex file during the run. So \fIlatexmk\fR needs -to distinguish user-generated and automatically generated files; it -determines the automatically generated files as those with extensions -in the list in @generated_exts.) +processing, and that should be deleted during a main clean up operation, as +invoked by the command line option \fB-c\fR. (The use of \fB-C\fR or +\fB-gg\fR 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 latexmk, currently.) + +After initialization of latexmk and the processing of its command line, the +items in \fIclean_ext\fR are appended to \fI@generated_exts\fR. So these +two variables have the same meaning (contrary to older versions of +latexmk). + +The items in \fI@generated_exts\fR 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 \fI$clean_ext\fR. + +In addition to specifying files to be deleted in a clean up, latexmk uses +the same specification to assist its examination of changes in source +files: Under some situations it needs to find 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 \fI@generated_exts\fR is normally unimportant, given the usual +accuracy 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 line in an @@ -2553,7 +2574,8 @@ RC file. E.g., adds the extension "end" to the list of predefined generated extensions. (This extension is used by the RevTeX package, for -example.) +example.) + .TP .B $go_mode [0] If nonzero, process files regardless of timestamps, and is then @@ -3825,7 +3847,7 @@ is being called. set_tex_cmds( CMD_SPEC ); Here CMD_SPEC is the command line without the program name. This -results in \fI$latex = 'CMD_SPEC'\fR, and similarly for +results in \fI$latex = 'latex CMD_SPEC'\fR, and similarly for \fI$pdflatex\fR, \fI$lualatex\fR, and \fI$xelatex\fR. An example would be @@ -3996,7 +4018,7 @@ e-mail addresses are not written in their standard form to avoid being harvested too easily.) .SH AUTHOR Current version, by John Collins -(Version 4.76). +(Version 4.77). Report bugs etc to his e-mail (jcc8 at psu.edu). Released version can be obtained from CTAN: diff --git a/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf b/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf index 9ade21587e4..8b3e0554740 100644 Binary files a/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf and b/Master/texmf-dist/doc/man/man1/latexmk.man1.pdf differ diff --git a/Master/texmf-dist/doc/support/latexmk/CHANGES b/Master/texmf-dist/doc/support/latexmk/CHANGES index 224d0b5b64e..c67b6bffd3c 100644 --- a/Master/texmf-dist/doc/support/latexmk/CHANGES +++ b/Master/texmf-dist/doc/support/latexmk/CHANGES @@ -789,3 +789,18 @@ From v. 4.75 to 4.76 Improve some diagnostics. Add /etc to list of locations for system rc files (with Unix-like OSs). +From v. 4.76 to 4.77 + Clean up and improvements in warnings etc + Ensured systematic use of STDOUT and STDERR, to more or less match that + of *tex: STDOUT for progress messages, and, normally, errors and + warnings caused by the compilation of a document. STDERR is for + within-latexmk errors etc: incorrect command line, configuration errors + etc. + Internal improvements and bug fixes. + Correctly handle non-ASCII filenames, UTF-8 coding of log files etc, + including on MS Wndows, and including correct parsing of wrapped + lines in log files. Adjust method of unwrapping of wrapped lines in + log file according to whether latex/pdflatex, lualatex or xelatex is + used, thereby reducing misparses of information in log file. + Reinstate Windows batch file for running latexmk, now called latexmk.cmd. + diff --git a/Master/texmf-dist/doc/support/latexmk/INSTALL b/Master/texmf-dist/doc/support/latexmk/INSTALL index 32e5c5d4efc..170a1889045 100644 --- a/Master/texmf-dist/doc/support/latexmk/INSTALL +++ b/Master/texmf-dist/doc/support/latexmk/INSTALL @@ -1,6 +1,6 @@ INSTALLING latexmk ================== - (Version 4.76, 20 Nov. 2021) + (Version 4.77, 17 Mar. 2022) John Collins Physics Department @@ -43,40 +43,36 @@ c. In addition, the installation of TeX and LaTex should, of course, documents to be compiled and processed. -!!!! IMPORTANT NOTE: !!!! -=========================== +!!!! IMPORTANT NOTES: !!!! +============================ -If you have installed a modern distribution of TeX and friends, you -may find that latexmk is already installed on your computer. This is -true for full installations of TeXLive 2009 or later on the operating -systems it supports. (Note that MacTeX on OS-X incorporates TeXLive, -so anything said about TeXLive also applies to MacTeX.) If you have -only installed a subset of packages, e.g., because you installed -BasicTeX, then the subset may not include latexmk; in that case you -should be able to use your distribution's package manager to install -latexmk. This is generally the recommended method; only use the -manual installation method below if you have a special need for it. -However, you should still examine the information on configuration -here and in the main documentation to get latexmk working exactly as -you want it. +1. If you have installed a distribution of TeX and friends, you will +probably find that latexmk is already installed on your computer. This +applies to both the TeXLive and the MiKTeX distributions (Note that MacTeX +on OS-X incorporates TeXLive, so anything said about TeXLive also applies +to MacTeX.) If you have only installed a subset of packages, e.g., because +you installed BasicTeX, then the subset may or may not include latexmk; in +that case you should be able to use your distribution's package manager to +install latexmk. Having latexmk installed by a TeX distribution is +normally the recommended way to be able to use latexmk. -You can test whether latexmk is already properly installed by trying -the command "latexmk -v" from the command line. If this succeeds, -then latexmk is already installed. Otherwise, if you are using -TeXLive or MacTeX, then you can simply use its package manager to get -latexmk installed, the same as for any other missing package. +2. The only extra requirement beyond having latexmk installed is to have an +installation of Perl. See above. -If you are on MS-Windows and you are using TeXLive (2009, or later), -this distribution also includes a distribution of Perl sufficient to -run latexmk.pl, so you don't need to install Perl separately. It also -includes an executable file latexmk.exe that runs latexmk. +3. You will normally need to use the manual installation method below if +you have a special need for it. However, you should still examine the +information on configuration below and in the main documentation to get +latexmk working exactly as you want it. -In the case of MiKTeX, the other standard distribution for MS-Windows, -the main difference from TeXLive as regards latexmk is that you may -need to install a distribution of Perl. A standard default -installation of Perl should enable latexmk to work. +4. You can test whether latexmk is already properly installed by trying the +command "latexmk -v" from the command line. If this succeeds, then latexmk +is already installed and will report its version number. Otherwise, if you +are using TeXLive or MacTeX, then you can simply use its package manager to +get latexmk installed, the same as for any other missing package. -BUT, you may need to configure latexmk to +BUT, you may need to configure latexmk to adjust its behavior to suit your +needs. See item 6 below, as well as the full documentation, for further +information. **Manual** installation on UNIX/LINUX/OS-X @@ -84,12 +80,13 @@ BUT, you may need to configure latexmk to (Power users can modify these as appropriate, of course.) -NOTE: If you are using TeXLive 2009 or later, you can install latexmk -simply by using the TeXLive package manager (that includes users of -MacTeX). In fact, depending on how much of TeXLive you have already -installed, latexmk may already have been installed. In that case you don't -normally need to bother with the manual installation explained below. -Still you may need to examine the configuration instructions see item 6. +NOTE: If you are using TeXLive 2009 or later, or a moderately recent +version of MiKTeX, you can install latexmk simply by using the TeXLive +package manager (that includes users of MacTeX). In fact, depending on how +much of TeXLive or MiKTeX you have already installed, latexmk may already +have been installed. In that case you don't normally need to bother with +the manual installation explained below. Still you may need to examine the +configuration instructions see item 6. 1. Make sure you have working installations of Perl and TeX/LaTeX. @@ -98,7 +95,10 @@ Still you may need to examine the configuration instructions see item 6. /usr/local/bin. But if you are an ordinary user, you can put the file somewhere where you have access, and ensure that the PATH environment variable includes the directory where latexmk is - installed. + installed. + + If you are using MS-Windows, go to the corresponding items in the + instructions for Windows. 3. Rename this file to latexmk. @@ -141,13 +141,15 @@ Still you may need to examine the configuration instructions see item 6. If latexmk does not get one of more of these commands correct, put an override in a startup file: - a. For a system-wide installation, the correction should be in the + a. For a system-wide installation, the correction can be in the system startup file, which on a UNIX-like operating system is any one of + /etc/LatexMk, /opt/local/share/latexmk/LatexMk, /usr/local/share/latexmk/LatexMk, /usr/local/lib/latexmk/LatexMk, + /etc/latexmkrc, /opt/local/share/latexmk/latexmkrc, /usr/local/share/latexmk/latexmkrc, /usr/local/lib/latexmk/latexmkrc. @@ -161,9 +163,8 @@ Still you may need to examine the configuration instructions see item 6. Cygwin, latexmk combines both the MS-Windows and the Unix possibilities.) - b. If you are installing latexmk as an ordinary user, the startup - file is the user startup file, which is the file .latexmkrc in - your home directory. + b. You can also/instead put the configuration lines in the user + startup file, which is the file .latexmkrc in your home directory. (Under normal circumstances, latexmk's definition of home directory under Unix-like operating systems is the usual one, @@ -232,34 +233,48 @@ Similarly if you have MiKTeX, you can install latexmk by using MiKTeX's package manager. But to allow latexmk to work, you will also need to install a distribution of Perl if you haven't done so already. +In either of these cases you don't normally need to bother with the manual +installation explained below. Still you may need to examine the +configuration instructions see item 6. + + 1. Make sure you have working installations of Perl and TeX/LaTeX, complete with viewers for dvi, postscript and/or pdf files. You will - also need whatever packages your document needs. + also need whatever packages your document needs. 2. If necessary, unpack the latexmk distribution. 3. **Difference compared with UNIX-type systems**: Copy the file - latexmk.pl to a suitable directory (your choice), and arrange for it to - be invoked as a command. (If you don't know how to do this, find out - about "executable extension for perl on windows", by a web search.) - -4. If the directory in the previous step is NOT already in the search - path for executable files, arrange for this, by adjusting the - environment variable PATH suitably. - - In Windows, there is a Control Panel setting for this. (Should be - under Advanced system settings->Environment variables.) + latexmk.pl to a suitable directory and arrange for it to be invoked as + a command. See the following sentences for what "suitable directory" + means. One way to ensure that you can invoke the latexmk command is to + also put the file latexmk.cmd in the same directory, and then follow + the next instructions: + + If the directory in the previous step is NOT already in the search path + for executable files, arrange for this, by adjusting the environment + variable PATH suitably. In Windows, there is a Control Panel setting + for this. (It should be under Advanced system settings->Environment + variables.) Log out and back in to make sure the changed setting gets + used. + + Note: Each of TeXLive and MiKTeX make a suitable change to the PATH + environment variable, so that all the programs they install are + usable, including latexmk. + +4. You may need to reboot, or at least logoff and log back in, if you made + any changes to PATH. -5. (Optional) Copy documentation file(s) to a suitable directory. The - only requirement on the directory is your convenience: some convenient - place to look up documentation. The relevant files are latexmk.txt - which is a pure ASCII text file, and latexmk.pdf which is a postscript - file. +5. Concerning invocation of latexmk: See later items. -6. You may need to reboot, or at least logoff and log back in, if you made - any changes to PATH. +6. (Optional) Copy documentation file(s) to a suitable directory. The + only requirement on the directory is your convenience: i.e., some + convenient place to look up documentation. The relevant files are + latexmk.txt which is a pure ASCII text file, and latexmk.pdf which is a + postscript file. -7. Test out the installation at the command-line prompt: +7. Test out the installation at the command-line prompt (cmd.exe or Power + Shell): a. First do @@ -292,20 +307,22 @@ need to install a distribution of Perl if you haven't done so already. Also LOOK AT THE SECTION NAMED "TRICKY POINTS" below to see some hints. - 8. If the commands used by latexmk are incorrect, see the UNIX installation instructions for what to do. The only changes needed from the UNIX instructions are: - a. The system initialization file is C:\latexmk\LatexMk. (If - this is not suitable for some reason, you'll need to change - the latexmk.pl file where this filename appears.) + a. The system initialization file is either C:\latexmk\LatexMk or + C:\latexmk\latexmkrc. (If these is not suitable for some reason, + you'll need to change the latexmk.pl file where this filename + appears. But normally it's easier to change the user latexmkrc + file --- see the next item.) b. The user initialization file is .latexmkrc in the directory - specified by the environment variable HOME. If there is no HOME - variable, then the file is in the directory specified by the - environment variable USERPROFILE, which should have been set - by the MS-Windows operating system at login. + specified by the environment variable HOME, if that happens to be + defined, which it normally isn't. If there is no HOME variable, + then the file is in the directory specified by the environment + variable USERPROFILE, which should have been set by the MS-Windows + operating system at login. @@ -320,34 +337,39 @@ can update these instructions and possibly latexmk as well. Tricky points ============= - -1. BEWARE of filenames with double extensions, for example, - two.part.tex. The behavior of TeX-related software is not - consistent in this situation. You may, for example, find a log - file named two.log or two.part.log, depending on which version of - which implementation of TeX/LaTeX you use. Naturally, there is a - possibility in this situation that latexmk will get confused, and - not recognize, for example, that a dvi file has been generated. - Latexmk has configuration variables to deal with some of the - possibilities, so you could try playing with them --- see the - code. But it general, it is best to avoid such double extensions: - they make your files non-portable. Do something like two-part.tex - or two_part.tex instead. - -2. The same goes for filenames and directory names with spaces in - them. Much software tends to interpret spaces as separators - between different filenames or between filenames and other text. - This can cause problems in some of the programs called by latexmk. - It can also cause problems when latexmk parses a .log file to - determine dependency information. Latexmk does try to correctly - treat filenames with spaces, as do current implementations of the - TeX program. - -3. Beware also of files and directories whose names contain non-ASCII - characters. There are some tricky problems because of mismatches - between character codings as used by different software and - operating systems. Latexmk tries to do its best, but problems can - arise. Often things work without trouble. +(These aren't so much issues about installation as about use of latexmk.) + +1. BEWARE of filenames with double extensions, for example, two.part.tex. + The behavior of TeX-related software is not consistent in this + situation. You may, for example, find a log file named two.log or + two.part.log, depending on which version of which implementation of + TeX/LaTeX you use. Naturally, there is a possibility in this situation + that latexmk will get confused, and not recognize, for example, that a + dvi or other file has been generated. Latexmk has configuration + variables to deal with some of the possibilities, so you could try + playing with them --- see the code. But it general, it is best to + avoid such double extensions: they make your files non-portable. Do + something like two-part.tex or two_part.tex instead. + +2. Filenames and directory names with spaces in them can potentially cause + problems. Much software tends to interpret spaces as separators + between different filenames or between filenames and other text. This + coul cause problems in some of the programs called by latexmk. + + Even so, file and directory names containing spaces generally cause no + problems in both latexmk and the programs it calls. + +3. Non-ASCII characters in file and directory names: In the current + version of latexmk and current TeXLive and MiKTeX, these are generally + handled correctly, particular on linux and macOS systems. + + But it is worth being aware there is a potential for problems: (a) Default + installations of MS-Windows do not make all Unicode characters in + filenames available to Perl and hence latexmk. (b) Some annoying + issues may arise if you transfer files from a macOS HFS+ volume to a + volume used by another operating system for use with that OS. These + problems concern different ways of normalizing filenames containing + accented characters, and may entail renaming the transferred files. 4. If you need to remake documentation files, e.g., latexmk.pdf or latexmk.txt, from the man page file latexmk.1, the following @@ -378,7 +400,7 @@ Version 2 was modified by Evan McLean. The current version is by John Collins (username jcc8 at node psu.edu) -- other contact details at the top. It is copyright -1998-2019 by John Collins, and the previous authors; see the copyright +1998-2022 by John Collins, and the previous authors; see the copyright notice in the latexmk.pl file, which gives permission to use, copy, modify, and distribute this software and its documentation under the terms of the GNU Public License v. 2. diff --git a/Master/texmf-dist/doc/support/latexmk/README b/Master/texmf-dist/doc/support/latexmk/README index 471564ac8ae..e13a04f8a86 100644 --- a/Master/texmf-dist/doc/support/latexmk/README +++ b/Master/texmf-dist/doc/support/latexmk/README @@ -1,5 +1,5 @@ -Latexmk, version 4.76, 20 Nov 2021 ---------------------------------- +Latexmk, version 4.77, 17 Mar 2022 +---------------------------------- Latexmk completely automates the process of generating a LaTeX document. Essentially, it is a highly specialized cousin of the @@ -10,19 +10,18 @@ of the programs until cross references etc are resolved. Latexmk 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 the LaTeX .log -file. It features: a fully reliable algorithm for deciding how many -times to run latex and related programs, automatic detection of -dependent files, the ability to generate pdf files using pdflatex or -via dvi or postscript files, and the continuous-preview mode. For -bibliographies, the current version now supports biber as well as the +Latexmk automatically determines file dependencies from the LaTeX .fls, +.log, and .aux files. It features: a fully reliable algorithm for deciding +how many times to run latex and related programs, automatic detection of +dependent files, the ability to generate pdf files using pdflatex or via +dvi or postscript files, and the continuous-preview mode. For +bibliographies, the current version supports biber as well as the traditional bibtex. Which of bibtex or biber to use is determined -automatically. +automatically. -Please read the man page (or the corresponding text or postscript file) for -details of what latexmk does and what all the features are. A copy of the -fast help that can be seen by running "latexmk -h" is at the end of this -file. +Please read the man page (or the corresponding text or pdf file) for +details of what latexmk does and what all the features are. A list of +available command-line options is available by running 'latexmk --help'. Latexmk is a perl script. It is licensed under the GNU General Public License v. 2. @@ -40,8 +39,7 @@ written by David J. Musliner. Now it is supported by http://www.personal.psu.edu/jcc8/ username jcc8 at node psu.edu -The start of the script file has copyright notices and disclaimers. It -also has a modification history for those who are interested. +The start of the script file has copyright notices and disclaimers. NOTES:- @@ -63,172 +61,3 @@ NOTES:- under development. John Collins ----------------------------- "latexmk -h" ---------------------------- -Latexmk 4.76: Automatic LaTeX document generation routine - -Usage: latexmk [latexmk_options] [filename ...] - - Latexmk_options: - -aux-directory=dir or -auxdir=dir - - set name of directory for auxiliary files (aux, log) - - Currently this only works with MiKTeX - -bibtex - use bibtex when needed (default) - -bibtex- - never use bibtex - -bibtex-cond - use bibtex when needed, but only if the bib file exists - -bibtex-cond1 - use bibtex when needed, but only if the bib file exists; - on cleanup delete bbl file only if bib file exists - -bibfudge or -bibtexfudge - change directory to output directory when running bibtex - -bibfudge- or -bibtexfudge- - don't change directory when running bibtex - -bm - Print message across the page when converting to postscript - -bi - Set contrast or intensity of banner - -bs - 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) all nonessential files. - 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 or -deps - Show list of dependent files after processing - -dependents- or -deps- - Do not show list of dependent files - -deps-out=file - Set name of output file for dependency list, - and turn on showing of dependency list - -dF - Filter to apply to dvi file - -dir-report - Before processing a tex file, report aux and out dir settings - -dir-report- - Before processing a tex file, do not report aux and out dir settings - -dvi - generate dvi - -dvi- - turn off required dvi - -e - Execute specified Perl code (as part of latexmk start-up - code) - -emulate-aux-dir - emulate -aux-directory option for *latex - -emulate-aux-dir- - use -aux-directory option with *latex - -f - force continued processing past errors - -f- - turn off forced continuing processing past errors - -gg - Super go mode: clean out generated files (-CA), and then - process files regardless of file timestamps - -g - process at least one run of all rules - -g- - Turn off -g and -gg - -h - print help - -help - print help - -indexfudge or -makeindexfudge - change directory to output directory when running makeindex - -indexfudge- or -makeindexfudge- - don't change directory when running makeindex - -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 - -latex= - set program used for latex. - (replace '' by the program name) - -latexoption=