summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/latexmk/example_rcfiles/glossaries_latexmkrc
blob: 7e8dfab3ac2e85c644d3634a924e497e0e5b02bc (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
# This shows how to use the glossaries package
# (http://www.ctan.org/pkg/glossaries) and the glossaries-extra package
# (http://www.ctan.org/pkg/glossaries-extra) with latexmk.

# N.B. There is also the OBSOLETE glossary package
# (http://www.ctan.org/pkg/glossary), which has some differences.  See item 2.

# 1. If you use the glossaries or the glossaries-extra package, then you can use:

   add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
   add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
   $clean_ext .= " acr acn alg glo gls glg";

   sub makeglossaries {
        my ($base_name, $path) = fileparse( $_[0] );
        my @args = ( "-q", "-d", $path, $base_name );
        if ($silent) { unshift @args, "-q"; }
        return system "makeglossaries", "-d", $path, $base_name; 
    }

# 2. The above will tend to run makeglossaries more often than needed, since
#    each out of date file will trigger the use of makeglossaries, even
#    though makeglossaries makes all the glossaries.  The following solution
#    solves this, but at the expense of not having the convenience that
#    makeglossaries can change how it makes the glossaries depending on the
#    settings of the glossaries package.
#    A better solution will need more advanced work.
#
#   add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
#   add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
#   $clean_ext .= " acr acn alg glo gls glg";
#
#   sub makeglossaries {
#       my @args = ( "-s", "$_[0].ist", "-t", "$$Psource.ilg",
#                    "-o", $$Pdest, $$Psource );
#       if ($silent) { unshift @args, "-q"; }
#       return system "makeindex", @args;
#   }