Ist es möglich, ein Wort in den Glossaren groß, im Text jedoch klein zu schreiben? Ich könnte \glslink
anstelle von verwenden \gls
, aber gibt es keine bessere Lösung?
Hier ist ein Beispiel, um zu verdeutlichen, was ich möchte:
\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{lowercase}{name={lowercase}, description={In the glossary, this word should be capitalized}}
\newglossaryentry{uppercase}{name={Uppercase}, description={This word is capitalized}}
\begin{document}
Should both be lowercase: \gls{lowercase}, \gls{uppercase}.
Workaround: \gls{lowercase}, \glslink{uppercase}{uppercase}.
\printglossaries
\end{document}
Dies ergibt:
Should both be lowercase: lowercase, Uppercase.
Workaround: lowercase, uppercase.
Glossary
lowercase In the glossary, this word should be capitalized. 1
Uppercase This word is capitalized. 1
Antwort1
Es gibt eine einfache Lösung. Sie können den Text, der im Glossar erscheint, und den Text, der im ...-Text erscheint, separat festlegen.
\newglossaryentry{uppercase}{
name={Uppercase},
text={uppercase},
description={Appears uppercase in the glossary and lowercase in the text}
}
Antwort2
Für zukünftige Benutzer mit denselben Problemen:
Ich bin selbst auf das Problem gestoßen und habe diese Frage und ihreDuplikat. Die Lösung von @Nitram war im Fall eines als Makro definierten ersten Wortes nützlich. Allerdings:
- Ich wollte nicht alle Namenseinträge duplizieren,
- Ich wollte die Kontrolle darüber behalten, was großgeschrieben wird und was nicht (Fall von mathematischen Symbolen als erste Buchstaben),
- Ich wollte das übliche Verhalten beibehalten, wenn nicht ausdrücklich danach gefragt wird.
Aus einer Antwort von @nicola-talbotDorthabe ich eine einfache Neudefinition gefunden, die den Zweck erfüllt:
\usepackage{mfirstuc}
\renewcommand{\glsnamefont}[2][]{\capitalisewords{#1}\xspace#2}
Beispiele:
Verwendung: gibt „Erstes Wort großgeschrieben“ im Glossar aus, und \gls{firstexample} gibt im Text „Erstes Wort großgeschrieben“ aus:
\newglossaryentry{firstexample}{
name={first}{word capitalized}
}
Dies funktioniert nicht mit einem Makro (das ganze Wort wird groß geschrieben), daher die Verwendung eines Textfelds:
\newglossaryentry{boite}{
name={\Boite de valeurs},
text={\boite de valeurs}
}
Ich habe Mathe zuerst, normale Verwendung des Namens: Sowohl im Glossar als auch im Text gibt \gls{firstexample} "$i$-tes blabla" aus:
\newglossaryentry{iblabla}{
name={$i$-th blabla}
}
Antwort3
Ich habe verwendetNicolas Antwort, da keine der Antworten hier für mich funktioniert hat.
Das glossaries-extra
Paket ermöglicht es, die Großschreibung einfach mit einzurichten firstuc
. Ich musste weder an meinem Vorschaucode noch an den Aufrufen viel ändern. Ändern Sie einfach das Paket und fügen Sie den folgenden Code hinzu:
\setglossarystyle{long}
\setabbreviationstyle[acronym]{long-short}
\glssetcategoryattribute{acronym}{glossdesc}{firstuc}
Antwort4
Es ist möglich, im Text Groß- und Kleinschreibung zu verwenden; \Gls{}
wird das großgeschriebene Wort oder den großgeschriebenen Begriff angeben, wie am Satzanfang. An anderen Stellen \gls{}
kann auch die Kleinschreibung verwendet werden. Siehe Abschnitt 3 derRatgeber für Anfänger. Ich bin nicht sicher, ob dies genau die gestellte Frage beantwortet, aber es ist eine gängige Verwendung, aufgrund derer Leute diese Frage finden könnten.