![Fehler bei der Verwendung der „Symbolliste“ für eine Abschlussarbeit mit BIB-Dateien?](https://rvso.com/image/392354/Fehler%20bei%20der%20Verwendung%20der%20%E2%80%9ESymbolliste%E2%80%9C%20f%C3%BCr%20eine%20Abschlussarbeit%20mit%20BIB-Dateien%3F.png)
Ich habe den Wunsch, mit einer effektiven Methode ein Glossar zu erstellen und die verschiedenen „Typen“ von Einträgen in verschiedenen Listen (Abkürzungen, Akronyme, Symbole, Glossar usw.) klassifizieren zu können.
Ich habe zwei Beiträge verfolgt, die fantastisch sind und die ich empfehle:
DerErsterzeigt, wie man die verschiedenen Einträge mit Hilfe von .bib-Dateien für Symbole klassifiziert. Ich habe es mit Methode 4 gemacht. Diezweiter Beitragzeigt, wie man mit dieser Methode ein Glossar mit Symbolen, Akronymen, Definitionen usw. erstellt.
Ich bin neu bei LaTex, habe aber durch das Befolgen dieser Methoden viel gelernt (vielen Dank, Nicola Talbot). Ich bin fast am Ziel, aber das Ergebnis hat noch einige Fehler. Ich habe Testdateien erstellt, um zu testen, was ich erreichen möchte.
Hier ist der Code, den ich teste:
\documentclass{report}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage[record,abbreviations,acronyms,symbols,stylemods={tree},style=treegroup]{glossaries-extra}
% always set the abbreviation style before \GlsXtrLoadResources
\setabbreviationstyle{short-long-desc}
\setabbreviationstyle[acronym]{short-long}
% Assign group titles:
\glsxtrsetgrouptitle{latin}{Latin Symbols}
\glsxtrsetgrouptitle{greek}{Greek Symbols}
\GlsXtrLoadResources[
src={no-interpret-preamble,glossary},% bib files
sort={en-US},% sort according to this locale
set-widest,% needed for 'alttree' styles
% save-locations=false % use this command to pring only the acronyms you are using
selection=all% select all entries in the .bib files
]
\GlsXtrLoadResources[
src={symbols-greek},
sort={letter-case}, % sort according Unicode value
field-aliases={
unitname=name,
unitsymbol=symbol,
measurement=description
},
symbol-sort-fallback=name,
type=symbols,
group=greek,
set-widest,% needed for 'alttree' styles
save-locations=false % pring only used symbols.
]
\GlsXtrLoadResources[
src={symbols-latin},
sort={letter-case},% sort according Unicode value
symbol-sort-fallback=name,
type=symbols,
group=latin,
set-widest,% needed for 'alttree' styles
selection=all% select all entries in the .bib files
]
\begin{document}
\section*{Examples}
In this section, I will use the following greek symbols: \gls{alpha}, \gls{alphalin} and \gls{delta}.
One acronym is for example \glstext{ad} and one abbreviation is given by \glstext{html}.
\printunsrtglossary[type=acronyms,style=alttree,title={List of Acronyms}]
\printunsrtglossary[type=abbreviations,style=alttree,title={List of Abbreviations}]
\printunsrtglossary[style=alttree,title={Glossary}] % By not specifing the type, I pring only the entries
\printunsrtglossary[type=symbols,style=alttreegroup,title={List of Symbols}]
\end{document}
Die Datei finden Sieno-interpret-preamble.bib
Hier. Die Dateien glossary.bib
, symbols-latin.bib
und symbols-greek.bib
sehen so aus (inspiriert von der Arbeit von Nicola Talbot):
glossar.bib:
% glossary.bib
% This file is public domain. See the "Examples" chapter
% in the bib2gls user manual for a more detailed description
% of this file.
% Encoding: UTF-8
@preamble{"\providecommand{\abbrvtag}[1]{#1}"}
@string{markuplang="\abbrvtag{m}arkup \abbrvtag{l}anguage"}
@entry{TeX,
name={{}\TeX},
description={a format for describing complex type and page layout
often used for mathematics, technical, and academic publications},
identifier={markuplanguage}
}
@entry{LaTeX,
name={{}\LaTeX},
description={a format of \glstext{TeX} designed to separate
content from style},
identifier={markuplanguage}
}
@entry{markdown,
name={markdown},
description={a lightweight markup language with plain text
formatting syntax},
identifier={markuplanguage}
}
@acronym{ad,
short={AD},
long={Affinity Diagram},
description={Tool that gathers large amounts of language data and organizes them into groupings based on their natural relationships},
identifier={acronym}
}
@acronym{dom,
short={DOM},
long={Document Object Model},
description={Cross-platform and language-independent application programming interface},
identifier={acronym}
}
@acronym{spa,
short={SPA},
long={Single Page Application},
description={Web applicaiton of web site that interacts with the user by dynanically rewriting the current page},
identifier={acronym}
}
@acronym{svp,
short={SVG},
long={Scalable Vector Graphics},
description={{}\glstext{xml}-based vector image format for two-dimensional graphics with support for interactivity and animation},
identifier={acronym}
}
@abbreviation{xml,
short={XML},
long={e\abbrvtag{x}tensible }#markuplang,
description={a markup language that defines a set of rules for
encoding documents},
identifier={markuplanguage}
}
@abbreviation{html,
short={HTML},
long={\abbrvtag{h}yper\abbrvtag{t}ext }#markuplang,
description={the standard markup language for creating web pages},
identifier={markuplanguage}
}
@abbreviation{mathml,
short={MathML},
long={\abbrvtag{m\NoCaseChange{ath}}ematical }#markuplang,
description={markup language for describing mathematical notation},
identifier={markuplanguage}
}
@abbreviation{xhtml,
short={XHTML},
long={e\abbrvtag{x}tensible \abbrvtag{h}yper\abbrvtag{t}ext }
# markuplang,
description={{}\glstext{xml} version of \glstext{html}},
identifier={markuplanguage}
}
symbole-griechisch.bib:
% symbols-greek.bib
% Put here all greek symbols
% Encoding: UTF-8
@symbol{alpha,
name={\ensuremath{\alpha}},
description={angular acceleration},
indentifier={mathgreek}
}
@symbol{alphalin,
name={\ensuremath{\alpha_{L}}},
description={linear coefficient of thermal expansion},
indentifier={mathgreek}
}
@symbol{delta,
name={\ensuremath{\delta}},
description={Kronecker delta},
indentifier={mathgreek}
}
@symbol{lambda,
name={\ensuremath{\lambda}},
description={Lagrange multiplier},
indentifier={mathgreek}
}
@symbol{chi,
name={\ensuremath{\chi}},
description={chromatic number},
indentifier={mathgreek}
}
@symbol{rho,
name={\ensuremath{\rho}},
description={density},
indentifier={mathgreek}
}
@symbol{zeta,
name={\ensuremath{\zeta}},
description={Riemann zeta function},
indentifier={mathgreek}
}
symbole-latein.bib:
% symbols-latin.bib
% Put here all latin symbols
% Encoding: UTF-8
@symbol{x,
name={\ensuremath{x}},
description={position},
indentifier={mathlatin}
}
@symbol{v,
name={\ensuremath{v}},
description={velocity},
indentifier={mathlatin}
}
@symbol{a,
name={\ensuremath{a}},
description={acceleration},
indentifier={mathlatin}
}
@symbol{t,
name={\ensuremath{t}},
description={time},
indentifier={mathlatin}
}
@symbol{E,
name={\ensuremath{E}},
description={Young's modulus},
indentifier={mathlatin}
}
@symbol{F,
name={\ensuremath{F}},
description={force},
indentifier={mathlatin}
}
@symbol{Tm,
name={\ensuremath{T_{m}}},
description={melting point temperature},
indentifier={mathlatin}
}
@symbol{KIC,
name={\ensuremath{K_{IC}}},
description={stress intensity factor},
indentifier={mathlatin}
}
@symbol{Z,
name={\ensuremath{Z}},
description={atomic number},
indentifier={mathlatin}
}
Das erzielte Ergebnis ist jedoch nicht zufriedenstellend.
Was mache ich falsch? Warum kann ich keine Liste der Abkürzungen erhalten? Wie kann ich die Liste der Abkürzungen lesbar machen?
Ich wäre für Ihre Hilfe sehr dankbar. Ich bin fast am Ziel ...
Antwort1
Sie sollten im Transkript einige Warnungen finden:
Package glossaries-extra Warning: Glossary type `acronyms' doesn't exist on input line 65.
Package glossaries-extra Warning: No entries defined in glossary `acronyms' on input line 65.
Die Bezeichnung für das Akronyme-Glossar lautet acronym
nicht acronyms
, Sie benötigen daher:
\printunsrtglossary[type=acronym,style=alttree,title={List of Acronyms}]
oder
\printunsrtglossary[type=\acronymtype,style=alttree,title={List of Acronyms}]
Die set-widest
Option versucht zu ermitteln, welcher Eintrag den breitesten Namen hat, bib2gls
kennt aber die name
Abkürzungen/Akronyme nicht (da sie keinen Zugriff auf die im Dokument festgelegten Stilinformationen hat). Daher geht sie standardmäßig davon aus, dass der Name nur die Kurzform ist, und berücksichtigt die Langform bei der Messung nicht. Der alttree
Stil ist jedoch nicht für Abkürzungen mit Beschreibungen geeignet, da Ihnen am Ende nur wenig Platz für die Beschreibung zur Verfügung steht. Es ist besser, einen fortlaufenden Stil (z. B. ) oder einen Stil zu verwenden, tree
der vor der Beschreibung einen Umbruch einfügt (z. B. altlist
).
Zum Beispiel:
\printunsrtglossary[type=abbreviations,style=altlist,title={List of Abbreviations}]
Übrigens sollte man es besser nicht mit Abkürzungen verwenden \glstext
. Wenn Sie nur die Kurzform angezeigt haben möchten (unabhängig davon, ob die Abkürzung verwendet wurde), verwenden Sie es \gls
mit einem der short-nolong
Stile.¹ (Wenn Sie die Kurzform für Bildunterschriften oder Überschriften sicherstellen möchten, verwenden Sie \glsfmtshort
.) Die Verwendung \gls
von anstelle von \glstext
hilft dabei, sicherzustellen, dass der Abkürzungsstil korrekt ist.
¹Es gibt einen Fehler im Stil, der in v1.39 short-nolong-desc
behoben wurde .glossaries-extra