diff options
Diffstat (limited to 'macros/xetex/latex/hithesis/latexmkrc')
-rw-r--r-- | macros/xetex/latex/hithesis/latexmkrc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/macros/xetex/latex/hithesis/latexmkrc b/macros/xetex/latex/hithesis/latexmkrc new file mode 100644 index 0000000000..e8cd866595 --- /dev/null +++ b/macros/xetex/latex/hithesis/latexmkrc @@ -0,0 +1,40 @@ +# vim: set ft=perl: +@default_files = ('main.tex'); + +$pdf_mode = 1; +$bibtex_use = 2; +$recorder = 1; +$preview_continuous_mode = 1; +$clean_ext = "synctex.gz acn acr alg aux bbl bcf blg brf fdb_latexmk glg glo gls idx ilg ind lof log lot out run.xml toc pdf thm toe ist idx"; +$pdflatex = "xelatex -file-line-error --shell-escape -src-specials -synctex=1 -interaction=nonstopmode %O %S;cp %D %R.pdf"; +$pdf_update_method = 0; +$makeindex = 'internal splitindex'; +sub splitindex { + # Use splitindex instead of makeindex. + # The splitindex programe starts from an .idx file, makes a set of + # other .idx files for separate indexes, and then runs makeindex to + # make corresponding .ind files. + # However, it is possible that the document uses the splitindex + # package, but in a way compatible with the standard methods + # compatible with makeindex, i.e., with a single index and with the + # use of the \printindex command. + # Then we need to invoke makeindex. + # In addition, latexmk assumes that makeindex or its replacement makes + # an .ind file from an .idx file, and latexmk gives an error if it + # doesn't exist, we need to make an .ind file. + # Both problems are solved by running makeindex and then splitindex. + # Note: errors are returned by makeindex and splitindex for things + # like a missing input file. No error is returned for lines in an + # input file that are in an incorrect format; they are simply + # ignored. So no problem is caused by lines in the .idx file + # that are generated by splitindex in a format incompatible with + # makeindex. + my $ret1 = system( "makeindex", $$Psource ); + my $ret2 = system( "splitindex", $$Psource ); + return $ret1 || $ret2; +} +@cus_dep_list = (@cus_dep_list, "idx ind 0 makenomenclature"); +sub makenomenclature { + system("splitindex $_[0] -- -s $_[0].ist"); } +@generated_exts = (@generated_exts, 'glo'); + |