
Ich versuche, mit dem Paket ein kleines spanisches Wörterbuch zu erstellen glossaries
. Ich habe versucht, Gruppenüberschriften als Abschnitte neu zu definieren. Dies ist ein MWE ( polyglossia
scheint notwendig zu sein, da keine PDF-Ausgabe erfolgt, wenn ich es weglasse):
%!TEX program = xelatex
\documentclass[a4paper,12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{hyperref}
\usepackage[automake,style=long,xindy={language={spanish-modern}}]{glossaries-extra}
\newcommand{\entrada}[4][]{%
\renewcommand*{\glsgroupheading}[1]{%
\section{\glsgetgrouptitle{##1}}
}
\newglossaryentry{#2}%
{%
name=#2,%
symbol=#3,%
description=#4,%
#1%
}%
\glsadd{#2}%
}
\newglossarystyle{entrada}%
{%
\renewenvironment*{theglossary}{}{}
\renewcommand*{\glossaryentryfield}[5]{%
\par\vspace{0.25\baselineskip}%
\noindent{}##4\textbf{##2.} {##3}%
}%
}%
\makeglossaries
\begin{document}
\tableofcontents
\entrada{Pollo}{}{Ave}
\entrada{Carne}{}{Parte blanda de los animales}
\entrada{Cosa}{}{Objeto de}
\printglossary[style=entrada]
\end{document}
Was ich bekomme, sind die folgenden Problemzeilen
Undefined control sequence. \glsgroupheading{C}
Undefined control sequence. \glsgroupheading{P}
Darüber hinaus werden im Inhaltsverzeichnis Zahlen anstelle tatsächlicher Abschnitte angezeigt:
Ich habe auch versucht, nicht nummerierte Abschnitte zu verwenden, indem ich sie manuell über zum Inhaltsverzeichnis hinzugefügt habe \addcontentsline
, allerdings ohne Erfolg. Gibt es eine Möglichkeit, diese Fehler zu beheben?
Antwort1
Das Problem ist die Verwendung \glsgetgrouptitle
im Argument von \section
, da dies ein sogenanntes verschiebbares Argument ist, d. h. es wird an verschiedenen Stellen im Dokument ausgeführt. Da \glsgetgrouptitle
nicht erweiterbar ist und nirgends im Dokument funktioniert, kann dies nicht funktionieren.
Da in Ihrem Beispiel \glsgetgrouptitle
eigentlich nichts passiert, können Sie es einfach weglassen. Beachten Sie, dass Sie es \glsgroupheading
im Glossarstil und nicht in neu definieren sollten \entrada
.
%!TEX program = xelatex
\documentclass[a4paper,12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{hyperref}
\usepackage[automake,style=long,xindy={language={spanish-modern}}]{glossaries-extra}
\makeglossaries
\newcommand{\entrada}[4][]{%
\newglossaryentry{#2}%
{%
name=#2,%
symbol=#3,%
description=#4,%
#1%
}%
\glsadd{#2}%
}
\newglossarystyle{entrada}%
{%
\renewenvironment*{theglossary}{}{}%
\renewcommand*\glossaryheader{}%
\renewcommand*\glsgroupheading[1]{%
\section{##1}%
}%
\renewcommand*\glsgroupskip{}%
\renewcommand*{\glossaryentryfield}[5]{%
\par\vspace{0.25\baselineskip}%
\noindent{}##4\textbf{##2.} {##3}%
}%
}%
\begin{document}
\tableofcontents
\entrada{Pollo}{}{Ave}
\entrada{Carne}{}{Parte blanda de los animales}
\entrada{Cosa}{}{Objeto de}
\printglossary[style=entrada]
\end{document}