Fehler bei der Verwendung der „Symbolliste“ für eine Abschlussarbeit mit BIB-Dateien?

Fehler bei der Verwendung der „Symbolliste“ für eine Abschlussarbeit mit BIB-Dateien?

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.bibHier. Die Dateien glossary.bib, symbols-latin.bibund symbols-greek.bibsehen 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 acronymnicht 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-widestOption versucht zu ermitteln, welcher Eintrag den breitesten Namen hat, bib2glskennt aber die nameAbkü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 alttreeStil 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, treeder 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 \glsmit einem der short-nolongStile.¹ (Wenn Sie die Kurzform für Bildunterschriften oder Überschriften sicherstellen möchten, verwenden Sie \glsfmtshort.) Die Verwendung \glsvon anstelle von \glstexthilft dabei, sicherzustellen, dass der Abkürzungsstil korrekt ist.


¹Es gibt einen Fehler im Stil, der in v1.39 short-nolong-descbehoben wurde .glossaries-extra

verwandte Informationen