summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/latexmk/CHANGES
blob: 6d4af373faf9df8947869b6ea265583d1fcde099 (plain)
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
List of main changes in latexmk


From v. 3.04 to v. 3.07
   Pdf files can be made by any of three methods: pdflatex, from dvi
       or from postscript.
   Extra command-line options -- see documentation
   Improved configuration options -- see documentation
   Bug fixes, etc
   Improved detection of dependencies
   If latexmk exits because of an error with latex, bibtex 
      or makeindex, then it gives a non-zero exit code.
   Under MS-Windows allow wildcards in filenames.

From v. 3.07 to v. 4.01
   Allow dvips, etc to put files in temporary location then move to
      final location.  This enables the problem to be avoided that
      some viewers look for changes in a file and read a new file
      before the writing of it is complete.
   Ensure that an error in exectuing an rcfile results in an error
      message visible to the user.
   OS-specific initialization code now includes section for Mac OS-X.
   Make code safe, as far as possible, for filenames containing
      spaces.
   Change method of detecting out-of-date-ness, etc, to examine all
      files for changes.  Keep a database (in a file with extension
      fdb_latexmk) of the previous state of the files.  The aux.bak
      and idx.bak files are no longer used.  The primary method of
      detecting change is from the md5 checksum of a file.  This deals
      automatically with the vast majority of cases where there is
      circular dependence of files, without needing special coding in
      latexmk to know which input files to a LaTeX run are generated
      from a previous run.
   Hence make a much more systematic and general method for treating
      dependencies. 
   Substituteable place holders allowed in command specifications, to
      allow very general specification of commands (including multiple
      commands, pipelines etc).
   Extra option --dependents to list dependent files.
   Support for multibib.sty, multind.sty, etc.
   Support for index.sty as well as makeidx.sty.
   Allow .latexmkrc as file name in project directory (as opposed to
      latexmkrc). 
   Command-line option -e to allow execution of initialization code
      from command-line invocation of latexmk.
   Routines add_cus_dep, remove_cus_dep and show_cus_dep for
      manipulating custom-dependency list.
   Ability to specify lines to be ignored in computing md5 checksum of
      a file of a particular extension.  (An example would be a
      comment line in an encapsulated postscript file that contains
      the date and time it was created.  Such lines may change without
      having any consequence on the use of the file.)
   Miscellaneous bug fixes, etc.
   Improvements in parsing of log file

From v. 4.01 to v. 4.05
   Miscellaneous bug fixes
   Fix bug that -ps -pdfps runs ps2pdf before dvips
   Deal with quoted filenames in log file
   Correct problem with invocation of MSWin start command
   -c and -C now also delete fdb_latex file
   For home directory (where user's .latexmkrc is located, 
      when $ENV{'HOME'} does not exist, use $ENV{USERPROFILE}
      (suitable for MS-Win).
   Correct treatment of -e option
   Fix possibility that unwrapping of lines in log_file is done
      incorrectly 
   Correct parsing of log file
   Improve diagnostics of reasons for rerun of external program.
   Fix problems when using both latex and pdflatex
   Configurable extensions for finding cusdep
   Change to a nicer #! line
   Safer use of % in placeholders in commands

From v. 4.05 to v. 4.07
   In preview-continuous mode, arrange that ctrl/C used to stop the
      processing loop does not automatically kill a script used to
      call latexmk
   Better handling of situation when a run of (pdf)latex does not
      produce a dvi or pdf file, or when the opposite type of output
      is produced than expected (e.g., pdf instead of dvi by latex)
   Deal better with case that file is written and read by (pdf)latex
      during a run

From v. 4.07 to v. 4.10
   Binmode for log file under MSWin to avoid problem with ctrl/Z
      written by Miktex 2.7 giving spurious end-of-file.
   Deal with issues in depedency structure caused by epstopdf, which
      automatically creates pdf files from eps files during run of
      pdflatex. 
   Correct problem with determining use of custom dependencies, when
      file-not found-report has extensionless filename, but
      corresponding .tex file exists.  
   Preview-continuous mode now doesn't bomb out if there are errors
      during first run of (pdf)latex.  (Previously that caused the
      previewer not to run even if viewed file exists.)

From v. 4.10 to v. 4.11
   Corrects a long-standing bug that when the main file uses
      bibtex, and uses \include for subdocuments, changes in 
      bibliography citations did not always trigger a rerun of bibtex.
   Fixed a problem that latexmk did not detect changed aux files etc
      on a small document when the run of (pdf)latex was within the
      1-second granularity of filetimes. 
   Improved start-up times on some large documents by avoiding
      unnecessary recalculations of md5 checksums.
   Deals better with eps-to-pdf conversions reported by epstopdf
      package.
   -silent option now causes suppression of certain messages about 
      non-existent files
   When view files are make via a temporary file (not-yet-documented
      feature), delete old view file before moving the temporary file.
      (To avoid reported bug in kpdf and okular.)
   Corrects a problem that with an error introduced at v. 4.08 that
      on finding an error in processing one file latexmk exits rather
      than continuing processing other requested files.  The exit code
      returned by latexmk was also incorrect in this situation

From v. 4.11 to v. 4.12
    Added an option not to run bibtex (to deal with situations
       where a bbl file is available but not the bib file from which
       it was made). 
    Corrected misprints in documentation.

From v. 4.12 to v. 4.13
    Corrected clean_up so aux file is deleted.
    Default for running bibtex: Only when .bib file exists.
    Correction insertion of bbl into list of generated extensions.

From v. 4.13 to v. 4.13a
    Corrected a problem that clean-up option (-C) failed to delete
       certain generated files.

From v. 4.13a to v. 4.15
    Change defaults on $latex_silent_switch and $pdflatex_silent_switch
       to make them always TeXLive compatible.
    To avoid problems with apparent source files that are incorrectly
       determined from the log file: (a) Make sure md5 calc doesn't
       bomb out on directory.  (b) In parsing log file: if apparent
       dependent file is directory, remove it from list of dependent
       files.
    Better diagnostics at end of run with multiple files: list
       applications of latex and pdflatex that failed.
    Fixed problem that with -pvc when (pdf)latex failed, latexmk kept
       doing dvips, dvipdf, etc.  

From v. 4.15 to v. 4.15b
    Changed default location of system rc files for cygwin to include
       both Unix-like and MSWindows paths.
    Changed use of Digest module to use of Digest::MD5 module, to give
       compatibility with the limited installation of perl shipped
       with TeX Live.

From v. 4.15b to v. 4.15c
    Solved problem that occasionally latexmk failed to detect a
       dependent file when it analyzed a .log file.  (It incorrectly
       treated some lines of length 79 as being wrapped.)

From v. 4.15b to v. 4.16
    Solved another problem with misparsed log files.  Some versions of
      pdflatex fail to preceed some warning messages by a new line.
      Thus these warning messages sometimes appear to be part of a
      filename. 
    Updated documentation to mention previously undocumented feature
      about the use of temporary files in making ps and pdf files. 

From v. 4.16 to v. 4.16a
    Sanity check on $sleep_time.  (Negative times and times between 0
       and 1 are replaced by 1.)
    Corrected problem under preview-continuous mode that some
      previewers would not see the changed file on an NFS file
      system. 

From v. 4.16a to v. 4.17
    Deal with bug about misparsing log file with non-space-containing
      filename that is followed by a space and a message on same line.
      Previously, the filename would not be detected as a dependent. 
    With $force_mode on, do a better job of completing processing.
    Remove long-unused options -F and -F-

From v. 4.17 to v. 4.18
    Only produce "Removing no-longer-needed dependent" messages
        when diagnostics are on.
    In analysis of log file, add test for natbib's citation-undefined
        warning.
    Correct misprint in documentation.

From v. 4.18 to v. 4.20
    Fix problem that when bibtex finds no citations, this is treated
        by bibtex as an error.  Previously latexmk respected this and
        did not continue processing.  Now if the only bibtex error is
        the finding of no citations, then latexmk now treats it as
        only a warning and continues processing (by latex/pdflatex) as
        appropriate. 
    Get .bst file in source file list for bibtex.  (So an update to
        the bst file provokes a rerun of the relevant programs.)
    Allow clean-up to delete destination files of custom-dependencies
        Configuration variable $cleanup_includes_cusdep_generated to
        configure whether this is done.  (Default is off, for backward
        compatibility.) 
    Remove use of --width option on $pscmd on linux.  It's no longer
        needed.
    Remove double quotes (if any) surrounding output filename read
        from .log file, to avoid wrong diagnostic message.
    Allow a more general pattern for files to clean up (when the -c,
        or -C option is used).  For details, see the explanation of
        the $clean_ext variable in the latexmk documentation.
    Options to set commands used for latex and pdflatex, as in
            -latex=special_latex_replacement_command
            -pdflatex=special_pdflatex_replacement_command
        (This is not yet documented.)

From v. 4.20 to v. 4.21
    Fix some problems with parsing quoted filenames in log file.
        These prevented latexmk working correctly with latest version
        of asymptote.sty.
    Corrected potential bug in locating graphics files.

From v. 4.21 to v. 4.22
    Support use of biber (with the biblatex package) for generating
        bibliographies, with automatic selection of bibtex or biber. 

From v. 4.22 to v. 4.22b
    Compatibility with biber 0.7.2.  (Latexmk failed to detect .bib
    files used by biber 0.7.2.)

From v. 4.22b to v. 4.22c
    Biber support is now compatible with MikTeX.

From v. 4.22c to v. 4.22d
    Fix compatibility problem MiKTeX v. 2.8, that latexmk didn't
    always detect use of makeindex. 

From v. 4.22d to v. 4.22e
    Fix incorrect error handling in reading initialization files.
    (Sometimes an error was incorrectly detected, after which latexmk
    stopped.)

From v. 4.22e to v. 4.23
    Deal with problem that if maximum number of runs of (pdf)latex is
      exceeded, -pvc mode infinitely repeats (pdf)latex
    Fix problem that changes in generated files during run of
      (pdf)latex may not be detected if the run is shorter than the
      granularity  of file times.
    Corrections of comments and messages. Documentation improvement.
    Correctly parse blg files of biber 0.8
    Correct handling of errors given by rc files
    Enhancements for convenient use of latexmk with Makefiles (options
      -deps, -deps-out, -use-make)
    -recorder option for improved detection of input and output files.
    
From v. 4.23 to v. 4.23a
    Correct bug in detection of source files listed in .fls file

From v. 4.23a to v. 4.24
    When running biber, find locations of source files when they
    aren't in the current directory (by use of kpsewhich).  This was
    previously done for bibtex but not biber.

From v. 4.24 to v. 4.25
    Fix to evade apparent cygwin bug that prevented system
       rc-file from being read.
    Diagnostic for unreadable rc-file.
    Add deps output file to target part of dependency information

From v. 4.25 to v. 4.26
    Make compatible with biber 0.9.4.
    Fix some bugs in error reporting.

From v. 4.26 to v. 4.27a
    Deal with problem that making of ps or pdf file via a temporary
       file fails if the command making it has no %D placeholder
    Add png to list of graphics extensions for pdflatex
    Add -norc option that prevents auto reading of rc files.
    Options -aux-directory -output-directory like those of (pdf)latex, 
       to set the output directories of (pdf)latex.  (-aux-directory
       is MiKTeX only).  Corresponding configuration variables, and
       placeholders for command specification.

From v. 4.27a to 4.28
    Correct handling of situations where some file(s) needed by bibtex
       (or biber) don't exist.  Previously latexmk incorrectly stopped
       with an error message instead of continuing.

From v. 4.28 to 4.28a
    Correct duplicate making of view file

From v. 4.28a to 4.28c
    When biber doesn't find the bib file, latexmk treats this as a
       warning rather than a fatal error, so further processing
       can continue normally.
    Latexmk now parses correctly error messages from biber v. 0.9.7.

From v. 4.28c to 4.29a
    Latexmk now works with the feynmp package and mpost,
       provided a suitable custom dependency is defined.  (See the
       example latexmkrc fragment mpost_latexmkrc in the
       example_rcfiles directory in the latexmk distribution.)
    If output directory is set, arrange that dvips can find files
      there.
    In  searching for cus-deps that can make a missing file, look in
      $out_dir.
    Solves problem that sometimes dvips and dvipdf weren't run when
      they should have been.  (The problem only arose with certain 
      changes in eps files being made within a minute of the previous
      run.)

From v. 4.29a to 4.30a
    Fix use of bibtex so that it works correctly when $aux_dir and/or
       $out_dir are set.
    Use OS-dependent search path separator when when manipulating
       TEXINPUTS, etc. Then use of -output-directory and
       -aux-directory options should work on MSWin systems.
    Documentation of $search_path_separator variable.

From v. 4.30a to 4.31
    Add -M -MP and -MF options, like gcc.
    Recorder option is now on by default.
    Add options reproducing most options of (pdf)latex (list from both
       TeXLive and MikTeX versions).  
       Options NOT implemented by latexmk at all:
           -ini and -initialize  since they refer to operations
                                 not supported by latexmk
           -includedirectory=dir its support needs extra code in
                                 latexmk, not currently written
      Options differently processed by latexmk:
           -help
           -version
           -quiet
      Options that are passed to (pdf)latex but that also have special
      processing by latexmk
           -aux-directory=dir
           -output-directory=dir
           -recorder
    Add -latexoption=... option to latexmk
    Add -xelatex option for use of xelatex
    Change OS-X default for pdf previewer command to open
    Command specification string can start with "include routine" to
       invoke a Perl subroutine instead of an external cmd.
    Viewers are detached by default.  (The start keyword is now normally
      superfluous in command specifications.)
    Keyword nostart added in command specification.
    Add configuration variables $compiling_cmd, $success_cmd,
      $failure_cmd.  These specify external commands (if any) to be
      executed during latexmk's continuous preview mode at the
      following points: $compiling_cmd at the start of compilation,
      $success_cmd at the end of a successful compilation, and
      $failure_cmd at the end of an unsuccessful compilation.  They
      can be used, for example, to show the progress of compilation by
      setting the titles of editor and/or previewer windows.
    If aux and/or output directories are specified but don't exist,
      make them.
    Remove excessive repetition of tests for changes of source files
      (improves performance of latexmk in some situations).
    Documentation improvements.
    Minor bug corrections.

From v. 4.31 to 4.33a
   Improve operation under MSWindows: substitute "\" for "/" for
     directory separator in command lines, deal consistently with
     directory separator, which can be both "\" and "/".
   Correct some bugs that interfered with use of auxiliary directory
     and output directory for files generated by (pdf)latex,
     especially with MiKTeX.
   Fix problems caused because in the log and fls files MiKTeX writes
     absolute path for many filenames at and below current directory,
     and is inconsistent in its use of "/" vs. "\" as directory
     separator. 
   Add $dvipdf_silent_switch configuration variable.
   Improve handling of errors in (pdf)latex; previously latexmk would
     give up processing in some situations continuing is correct.
   Documentation corrections/improvements.
   Reduce number of warnings in silent operation.
   Cure slowness of v. 4.33 under Cygwin.

From v. 4.33a to 4.33b
   Documentation improvements.
   Improve text displayed by using -showextraoptions option.

From v. 4.33b to 4.33c
   Correct infinite loop when maximum passes through latex/pdflatex
      are exceeded

From v. 4.33c to 4.34
   Correct non-optimality that if (pdf)latex reads a file only after
      it has been written in the same run, the file is not a true
      source file, but nevertheless latexmk treats it as a source
      file.  Thus changes in the file sometimes caused latexmk to make
      unnecessary (but otherwise innocuous) extra runs of (pdflatex).

From v. 4.34 to 4.35
   Correct bug in parsing fls file from native MS-Windows LaTeX (e.g.,
      MiKTeX) when latexmk is run under cygwin.  (The names of some
      files used by latexmk incorrectly contained a CR character.)
   Correct bug that when the --gg option is used, the rule database
      from the old fdb file was used instead of being cleared.

From v. 4.35 to 4.37
   Correct failure that happens when name of current directory
     contains characters with special meaning in regular expression.
   -rules option now works with -pvc
   Add -lualatex option, like -xelatex.
   File specifications in $clean_ext and $clean_full_ext are allowed
     to contain wildcards.
   Warnings are given when rc file is a directory instead of a file.
   Correct bug that if revtex4-1.cls is used, footnotes are set to
     be in the bibliography, and latexmk's aux_dir or out_dir is set,
     then latexmk fails to run bibtex when needed, because the
     relevant bib file is not found.
   Other minor corrections and code improvements.
   Documentation updates and corrections.

From v. 4.37 to 4.39
  Automatic creation of necessary subdirectories of auxdir when needed
    for writing aux files. 
  Add error diagnostics to if_source 
  Allow $print_type = 'auto', and make this the default, so that
    when the -p option to latexmk is used to print the file, the
    default is to determine the type of file to be printed, rather
    than always requiring postscript.
  Fix the failures when dealing with directories whose names contained
    certain special characters in them (notably '[', ']' and space).
    [Technical issue: these characters had special meaning when 
    previously interpreted as metacharacters in a glob operation.]
    This gives dependency on Perl's File::Glob module, which is a
    standard module in normal installations of Perl. 
  When an output directory is a subdirectory of a directory, ensure
    that it is correctly created, if it has to be created.
    Previously, the creation of the output directory when it does not
    exist only worked for one level.
    This gives dependency on Perl's File::Path module with v. >= 2.08,
    which is a standard module in normal installations of Perl.
  In output of dependencies, include pathname of target file(s) in the
    rule. 
  In -pvc mode, writing of deps file (caused by the -M and related
    options) is per make not per overall run. 

From v. 4.39 to 4.39 documentation update of 2 Dec 2013
  Correct two errors in documentation and in the file COPYING.

From v. 4.39 to 4.40
  Fix failure to clean up correctly when root filename contains [,
    which is a glob metacharacter.

From v. 4.40 to 4.41
  -c also deletes $deps_file if it is used
  Quote jobname when needed.
  Change maintainer's preferred e-mail
  Attempt to improve handling of errors from (pdf)latex.
  Fix up for the making of -eps-converted-to.pdf
  Improve listing of warning lines from log file.
  Fix failure when using both -cd and -output-directory
  If user's home directory can't be determined, then don't read ~/.latexmkrc
  Introduce configuration variable $silence_logfile_warnings
  In setting $pscmd, allow for non-existent environment variable USER
  Correct subroutine Run for internal cmd w/o arguments
  Experimental: Add analysis hook for aux file.
  System initialization files: allow them to be named latexmkrc as
    well as LatexMk, for more consistency with user directory names.
    Keep both cases, to preserve backward compatibility.
  Change sign-on message.  Bug report info with help.

From v. 4.41 to 4.42
  Fix bugs associated with the -cd option
  Add missfont.log and the generated synctex.gz to standard cleaned-up files

From v. 4.42 to 4.43a
  Fix problem that source files are not correctly detected under
    MiKTeX when name of current working directory contains non-ASCII
    characters.
  On cleanup, synctex.gz files are deleted only by -C, not by -c.

From v. 4.43a to 4.43c
  Correct normalization of filenames, so that initial "./" is always
  removed.  This prevents custom dependencies being run twice on the
  same file.
  Documentation correction on use of @BIBINPUTS.
  Diagnostic correction.
  Example rc file for using texinfo (thanks to Vincent Bela\"iche).
  Additions to documentation concerning advanced configuration.

From v. 4.43c to 4.44
  Correct bug in use of %hash_calc_ignore_pattern
    (Previously it only had its documented effect when a targetted
    file hadn't changed in size.)
  Correct error handling when biber finds a malformed .bcf file.

From v. 4.44 to 4.45
  Fix problem of -C not always working correctly when compilation was
  with -pdf and clear was default. 
  Fix bug in limiting number of passes when $max_repeat >= 10
  Fix bug in finding id of viewer process id under OS-X

From v. 4.45 to 4.46
  Correct creation of output and aux directories to correctly handle
  relative paths when -cd is used.
  Minor documentation corrections.

From v. 4.46 to 4.48
  Correct documention: default value of $recorder is 1
  Add routines rdb_list_source, rdb_set_source for manipulating
    dependency lists of a rule.  Add these to the documentated
    interface, in addition to the already documented rdb_ensure_file,
    rdb_remove_files.
  Update webpages in documentation.

From v. 4.48 to 4.52
  Optimize number of calls to kpsewhich.  This often gives a
    considerable savings of run time when a document includes many
    graphics files that are in a texmf tree.
  Fix bug that if an .aux file is deleted and latexmk is run, the
    wrong number of runs of (pdf)latex was made.
  Fix related problem that latexmk sometimes does too few runs of
    (pdf)latex because of the incorrect detection that a file is only
    read after being written.
  Implement direct support for xelatex and lualatex.  Previously these
    programs were used by configuring the $pdflatex so that the desired
    program is run instead of pdflatex.  There are now configuration
    variables $xelatex and $lualatex to specify the commands used, and
    extra command line options -pdfxe and -pdflua.
  In the case of xelatex, considerable improvement in run time is
    given for documents containing large graphics files.  This is
    because compilation is made first to an xdv file instead of direct
    to a pdf file.  Only when this file is finalized is a single
    conversion to a pdf file made.  (This last step can be especially
    time-consuming for documents that bring in large graphics files.)
  Correct detection for missing graphics files with xelatex.
  Work around LuaTeX line-wrapping bug.
  Update documentation.
  Minor improvements in code and diagnostics.