Ich verwende TeXShop und das Skript pdflatexmk. Wenn ich mindestens einen Eintrag des Glossars mit \gls{label}
dem Glossar verknüpfe, wird es problemlos kompiliert und alles funktioniert gut (funktionierendes Codebeispiel). Ich möchte den Befehl jedoch so verwenden, \glsaddall
dass ich nicht auf alle Glossareinträge verlinken muss. Leider vernachlässigt pdflatexmk diese Option (fehlerhaftes Codebeispiel). Warum tut es das?
Ich weiß, dass ich den Befehl makeglossaries im Terminal ausführen kann, aber ich möchte, dass er mit pdflatexmk funktioniert. Wie kann ich das lösen? Gibt es ein neueres pdflatexmk-Skript, das dieses Problem behebt?
Unten sehen Sie ein funktionierendes Beispiel.
Funktionierender Code: Erwähnung von mindestens einem Glossareintrag mit \gls{label}:
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one mentioning the glossary item \gls{One}
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two mentioning the glossary item \gls{Open}
\end{document}
Fehlerhafter Code: Verwendung von \glsaddall zum Drucken von Einträgen ohne Erwähnung
% !TEX TS-program = pdflatexmk
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
\newglossaryentry{One}
{name=One, description={First number after zero}}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
Body text for chapter two NOT mentioning the glossary item
\end{document}
Antwort1
Verschieben der GlossareintragsdefinitionenVorAusgabe \glsaddall
und stellen Sie sicher, dass Sie latexmk
wissen, wie man mit Glossaren umgeht. Es gibt eineBeispieldateiim Paket, das zeigt, was Sie zu Ihrer ~/.latexmkrc
Einstellungsdatei hinzufügen sollten.
Insgesamt,
\documentclass[12pt,a4paper,titlepage,final]{report}
\usepackage[toc, nonumberlist]{glossaries}
\makeglossaries
\newglossaryentry{One}
{name=One, description={First number after zero}}
\newglossaryentry{Open}
{name=Open, description={Opposite of closed}}
\begin{document}
\title{Title}
\author{Author}
\date{\today}
\tableofcontents
\glsaddall
\printglossaries
\chapter{Chapatare Uno}
Body text for chapter one NOT mentioning the glossary item
\chapter{Chapter Deux}
Body text for chapter two NOT mentioning the glossary item
\end{document}
Und
add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
sub makeglo2gls {
system("makeindex -s \"$_[0].ist\" -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
}
oder
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
sub makeglossaries {
system( "makeglossaries \"$_[0]\"" );
}
in ~/.latexmkrc
löst Ihr Problem.