Ich habe ein Glossar im Format der Antwort von @mafp, das für meine Zwecke perfekt funktioniert.
Wenn ich diese Lösung jedoch in meine Haupt-Tex-Datei einfüge, bei der es sich um eine Abschlussarbeit handelt, erhalte ich auf der Seite, auf der die Liste gedruckt wird, immer einen Link zum Erscheinen in der Liste. Gibt es eine Möglichkeit, diesen ersten Eintrag zu entfernen?
Das gleiche Problem trat in der verwandtenFragevon @Max, aber es gibt keine Lösung.
Das funktionierende Beispiel, das @mafp gegeben hat, ist
\documentclass[a4paper,10pt]{article}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
}
\usepackage{glossaries}
\makeglossaries
\renewcommand{\glossarysection}[2][]{} % not to show word glossary
\newglossaryentry{A}{%
name={foo},%
description={bar},%
%user1={cm}%
}
\newglossaryentry{B}{%
name={AAPL},%
description={apples},%
%user1={box}%
}
\newglossaryentry{C}{%
name={BTR},%
description={books to read},%
%user1={LoC}%
}
\newglossaryentry{D}{%
name={BTRTIO},%
description={books to read that I own},%
%user1={shelf},%
%parent={C}
}
\newglossarystyle{aiaostyle}{%
% put the glossary in a longtable environment:
\renewenvironment{theglossary}%
{\begin{longtable}{lp{\glsdescwidth}cp{\glspagelistwidth}}}%
{\end{longtable}}%
% Set the table’s header: title row
\renewcommand*{\glossaryheader}{%
\bfseries Term & \bfseries Description &
\bfseries Units & \bfseries Page List
\\\endhead}%
% No table header:
%\renewcommand*{\glossaryheader}{}%
% No heading between groups:
\renewcommand*{\glsgroupheading}[1]{}%
% Main (level 0) entries displayed in a row optionally numbered:
\renewcommand*{\glossaryentryfield}[5]{%
\glstarget{##1}{##2}% Name
& ##3% Description
& \glsentryuseri{##1}% Units
& ##5% Page list
\\% end of row
}%
% Similarly for sub-entries (no sub-entry numbers):
\renewcommand*{\glossarysubentryfield}[6]{%
% ignoring first argument (sub-level)
\glstarget{##2}{##3}% Name
& ##4% Description
& \glsentryuseri{##2}% Units
& ##6% Page list
\\% end of row
}%
% Nothing between groups:
\renewcommand*{\glsgroupskip}{}%
}
\begin{document}
\null
\glsaddall
\glossarystyle{aiaostyle}
\setlength{\glsdescwidth}{0.5\textwidth}
\setlength{\glspagelistwidth}{0.1\textwidth}
\printglossaries
\newpage
test entry \gls{A}.
\end{document}
Es tut mir leid, dass ich eine neue Frage schreibe, aber ich kann die Lösung von @mapf nicht unten kommentieren, da dies mein erster Auftritt in ist TeX.SE
.
Antwort1
\glsadd{
Etikett}
ist ein Indexierungsbefehl, der der Nummernliste des Eintrags automatisch eine Position hinzufügt. \glsaddall
durchläuft alle definierten Einträge und verwendet sie \glsadd
für jeden Eintrag. Er ist für die Verwendung in Verbindung mit der nonumberlist
Option zum automatischen Einfügen aller Einträge in das Glossar vorgesehen, unabhängig davon, ob Sie sie im Dokument verwendet haben oder nicht (mit Befehlen wie \gls
). Wenn die Nummernliste nicht unterdrückt wird, \glsaddall
führt dies dazu, dass alle Einträge eine zusätzliche Position haben, die der Stelle im Dokument entspricht, an der sie \glsaddall
verwendet wurden.
Wenn Sie eine Nummernliste wünschen und dabei alle definierten Einträge berücksichtigen möchten, unabhängig davon, ob sie im Dokument verwendet wurden oder nicht, dann können Sie\glsaddallunused
am Ende des Dokumentsum alle verbleibenden Einträge hinzuzufügen, die nicht verwendet wurden.