diff options
Diffstat (limited to 'support/latexmk/example_rcfiles/bib2gls_latexmkrc')
-rw-r--r-- | support/latexmk/example_rcfiles/bib2gls_latexmkrc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/support/latexmk/example_rcfiles/bib2gls_latexmkrc b/support/latexmk/example_rcfiles/bib2gls_latexmkrc new file mode 100644 index 0000000000..53f13ff30a --- /dev/null +++ b/support/latexmk/example_rcfiles/bib2gls_latexmkrc @@ -0,0 +1,35 @@ +# Implementing glossary with bib2gls and glossaries-extra, with the +# log file (.glg) analyzed to get dependence on a .bib file. + +# !!! ONLY WORKS WITH VERSION 4.54 or higher of latexmk + +push @generated_exts, 'glstex', 'glg'; + +add_cus_dep('aux', 'glstex', 0, 'run_bib2gls'); + +sub run_bib2gls { + if ( $silent ) { + my $ret = system "bib2gls --silent --group '$_[0]'"; + } else { + my $ret = system "bib2gls --group '$_[0]'"; + }; + + my ($base, $path) = fileparse( $_[0] ); + if ($path && -e "$base.glstex") { + rename "$base.glstex", "$path$base.glstex"; + } + + # Analyze log file. + local *LOG; + $LOG = "$_[0].glg"; + if (!$ret && -e $LOG) { + open LOG, "<$LOG"; + while (<LOG>) { + if (/^Reading (.*\.bib)\s$/) { + rdb_ensure_file( $rule, $1 ); + } + } + close LOG; + } + return $ret; +} |