Fehler beim Erstellen des Symbolverzeichnisses mit bib2gls

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Wowa93
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 2. Nov 2020, 21:53

Fehler beim Erstellen des Symbolverzeichnisses mit bib2gls

Beitrag von Wowa93 »

Guten Abend,
ich schreibe aktuell meine Masterarbeit und habe eine Latex-Vorlage von meinem Betreuer erhalten. Es funktioniert auch fast alles bis auf das Erstellen des Symbolverzeichnisses (wird zwar angezeigt, aber es ist leer).
Die Verzeichnisse (Abkürzungen, Symbole und Konstanten) werden, soweit ich das sehe, mit bib2gls erstellt. Ich habe alle notwendigen Updates bzw. die neuesten Versionen der Packages bei Miktex runtergeladen.
In diversen Foren habe ich alles dazu nachgelesen und führe Latex immer mit:

pdflatex main
bib2gls main
pdflatex main

aus, wobei main meine Tex ist.

Ich weiß wirklich nicht mehr weiter..

Code: Alles auswählen

\RequirePackage[l2tabu, orthodox]{nag}		%checks for obsolete LaTeX packages and outdated commands
\documentclass[
	fontsize=11pt,%				Schriftgroesse 11pt
	paper=a4,%					Layout fuer Din A4
	twoside=false,%				Layout fuer beidseitigen Druck %semi %true
	twocolumn=false,%			zweispaltiger Satz
	headsepline=true,%			horizontale Linie unter Kolumnentitel
	footsepline=false,%			Trennline zum Seitenfuß
	headinclude=true,%			Kopfzeile wird Seiten-Layouts mit beruecksichtigt
	footinclude=false,%			Fußzeile wird Seiten-Layouts mit beruecksichtigt
	chapterentrydots=false,%	Inhaltsverzeichnis dotfill für Kapitel
	parskip=false,%				Der erste Absatz eines Abschnitts wird nicht eingezogen
	BCOR=12mm,%					Korrektur fuer die Bindung
	DIV=15,%					DIV-Wert fuer die Erstellung des Satzspiegels, siehe scrguide	%calc
	parskip=half,%				Absatzabstand statt Absatzeinzug
	footnotes=multiple,%		Fußnotenmarkierungen %nomultiple
	headings=openany,%			Kapitel können auf geraden und ungeraden Seiten beginnen %openleft %openright
	index=default,%				Index im Inhaltsverzeichnis %totoc %numbered
	bibliography=totoc,%		Literaturverz. Wird ins Inhaltsverzeichnis eingetragen
	listof=totoc,%				Tabellen und Abbildungs. Wird ins Inhaltsverzeichnis eingetragen
	numbers=noendperiod,%		Kapitelnummern immer ohne Punkt	%endperiod %autoendperiod
	draft=false,%				Keine Bilder in der Anzeige, overfull hboxes werden angezeigt
	titlepage=true,%			Titlei auf erster Seite	%firstiscover
	chapterprefix=false,%		Kapitelprefix für mainmatter
	appendixprefix=true,%		Kapitelprefix für Anhang
	bibliography=oldstyle,%		Formatierungsstil des Literaturverzeichnisses %openstyle
	cleardoublepage=plain,%		Leere seiten plain
	pagesize=auto,%				Ausgabetreiber %pdftex
	]{scrbook}%					scrbook 2019/02/01 v3.26b

\usepackage{scrhack}
\usepackage{ifluatex}
\ifluatex \else \usepackage{scrwfile} \fi

\usepackage{IEEEtrantools}%							provides several commands from the IEEEtran.cls

\usepackage[onehalfspacing]{setspace}%				Zeilenabstand anpassen
	\recalctypearea%									Seiten spiegel durch setspace nicht verändern
\usepackage[markcase=noupper]{scrlayer-scrpage}%	Kopf und Fußzeile
\usepackage{microtype}%								Optimal white space distribution in text
\RequirePackage[all]{nowidow}

\usepackage[american, main=ngerman, headfoot=ngerman]{babel}%		Sprache wählen
\usepackage[utf8]{luainputenc}%				Nötig um Umlaute zu tippen. Alternativ: latin1
\ifluatex
	%% if using luatex and not using latexmk, this can be use for executing bib2gls
	 \directlua{
	 	local t = os.execute("bib2gls --tex-encoding UTF-8 --group " .. status.filename:sub(1, -5))
	 	print(t)
	 }
\else
	\usepackage[T1]{fontenc}%				font encoding
\fi

\usepackage[centertags]{amsmath}%	AMS-Mathematik, %centertags zentriert Nummer bei split, %fleqn
\interdisplaylinepenalty=2500
\usepackage{amsthm}
\usepackage{amsfonts}%				Standard fonts
\usepackage{amssymb}%				Standard fonts
\usepackage{gensymb}
\usepackage{array}
\usepackage{mathtools}%				Multiline and split equations
\usepackage{relsize}
\usepackage{physics}
\usepackage{mleftright}%
	\mleftright%
\ifluatex
	\usepackage{lualatex-math}%		patches a few commands of the LaTeX2ε kernel and the amsmath and mathtools packages
\fi

\ifluatex
	\usepackage[luatex]{graphicx}%			Package um grafiken zu includieren
	\RequirePackage[svgnames, table, luatex]{xcolor}
\else
	\usepackage[pdftex]{graphicx}%
	\RequirePackage[svgnames, table, pdftex]{xcolor}
\fi
\usepackage{textcomp}%						verschiedene Symbole
\usepackage{xstring}
\usepackage[hang, bf, font=small, textformat=period]{caption}%	Captions für figures und tables
\usepackage{subcaption}%							Package um subfigure zu erstellen
\usepackage[svgnames, table]{xcolor}%				Farbkonversion etc.
\usepackage{colortbl}%								Support for colors in tables
\usepackage{ltxtable}%								longtable + tabularx
\usepackage{multirow}%								Zelle einer Tabelle über mehrere Zeilen ausdehnen
\usepackage{booktabs}%								Tabellenformatierung
\usepackage{rotating}%								Rotation von tables und figures
\usepackage{tikz}%									Zeichnen direkt in Latex
\usepackage[siunitx, RPvoltages]{circuitikz}%		Zeichnen von elektrischen Schaltbildern direkt in Latex
%\usepackage{pgfplots}
%	\pgfplotsset{
%		compat=newest,%						% TODO: set to current version of pgfplots, when starting your work (2018/01/23: compat=1.15)
%		width=0.8\textwidth,%
%		colormap={blackwhite}{gray(0cm)=(0); gray(1cm)=(1)},%
%	}
\usepackage{siunitx}
	\sisetup{
		locale = DE,%
		detect-all,%
% 		scientific-notation = engineering,%
		list-final-separator = { und },%
		list-pair-separator = { und },%
		range-phrase = { bis },%
		per-mode = symbol,%
		binary-units = true,%
		quotient-mode = fraction,%
		output-complex-root = j,%
	}
	\DeclareSIUnit[]\dBm{dBm}
	\DeclareSIUnit[]\dBW{dBW}
\usepackage{calc}%							Hilfspaket um mit Latex variablen zu rechnen
\usepackage{listings}%						Paket um sourcecode zu publizieren

\lstnewenvironment{matlab}[1][]{
	\lstset{
		backgroundcolor=\color{white}, %\color{TUgreen!20}, %\color{gray!20}
		fillcolor=,% %\color{black},
		captionpos=t,% b
		tabsize=4,%
		rulecolor=\color{black},%
		rulesepcolor=\color{gray!30},%
		language=Matlab,%
		basicstyle=\small,%
		numbers=left,%
		numberfirstline=true,%
		numberblanklines=true,%
		stepnumber=1,%
		numbersep=5pt,%
		numberstyle=\scriptsize,%
		upquote=true,%
		aboveskip={0\baselineskip},%
% 		belowskip=\baselineskip,%
		columns=flexible,% %fixed,
		showstringspaces=false,%
		extendedchars=true,%
		breaklines=true,%
		breakatwhitespace=true,%
		prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\color{black}\hookleftarrow}},%
		breakautoindent=true,%
		frame=single,% %tblr, %shadowbox, %tblrTBLR,
		frameround=ffff,% %tttt,
		showtabs=false,%
		showspaces=false,%
		showstringspaces=false,%
		identifierstyle=\ttfamily,%
		basicstyle=\ttfamily\color{black},%
		keywordstyle=\ttfamily\bfseries\color{MidnightBlue},%
		commentstyle=\color{tudark},% %\color{MediumTurquoise},
		stringstyle=\color{DarkOrchid},%
		mathescape=true,%
		showlines=true,%
		escapechar=§,%							escape to latex
		abovecaptionskip=0\smallskipamount,%
		belowcaptionskip=3\smallskipamount,%
		xleftmargin=1.25\baselineskip,%
		xrightmargin=0pt,
		#1,%									add more options from the optional parameter
	}}{}
\usepackage[%
	pdfpagelabels,%
	colorlinks=false,%
	plainpages=false,%
	pdfborder={0 0 0},%
	]{hyperref}%						Automatische Kreuzreferenzierungen (auch URLs) im PDF
\makeatletter
\AtBeginDocument{\hypersetup{
		pdftitle = {\@documentnumber},%
		pdfsubject = {\@title},%
		pdfauthor = {\@author},%
		pdfkeywords = {},%
		bookmarksopen = {true},%
		bookmarksdepth = 3,%			up to subsubsection titles will be included into PDF structure
		bookmarksopenlevel = 1,%		... up to section titles
		bookmarksnumbered = {true},%
	}
}
\makeatother

\usepackage[%
	record=only,%			use bib2gls
% 	automake=true,%			slow, but may be activated if makeglossaries should not be working for you
	acronym=true,%			enable acronyms
	symbols=true,%			enable symbols
	section=chapter,%
	translate=babel,%
	shortcuts=none,%
	nonumberlist=true,%
	nopostdot=false,%		dot at end of description
	nogroupskip=true,%
	toc=true]{glossaries-extra} % Glossar, Abkürzungsverzeichnis etc.
	\makeatletter
\setabbreviationstyle[\acronymtype]{long-short}
\@ifpackagewith{glossaries-extra}{record=only}{}{\makeglossaries}
\newglossarystyle{tab_style}{
	\renewenvironment{theglossary}{\begin{longtable}[l]{llp{0mm}}}{\end{longtable}}
	\renewcommand*{\glsgroupheading}[1]{}
	\renewcommand*{\glossentry}[2]{\glsentryitem{##1}\glstarget{##1}{\textbf{\glossentryname{##1}}} & \glossentrydesc{##1} & ##2 \tabularnewline[3px]}
	\renewcommand*{\subglossentry}[3]{\glossentry{##2}{##3}}
	\renewcommand*{\glsgroupskip}{}
}
\newglossarystyle{tab_style_sym}{ 
	\renewenvironment{theglossary}{\begin{longtable}[l]{llp{0mm}}}{\end{longtable}}
	\renewcommand*{\glsgroupheading}[1]{}
	\renewcommand*{\glossentry}[2]{\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1} & ##2 \tabularnewline[3px]}
	\renewcommand*{\subglossentry}[3]{\glossentry{##2}{##3}}
	\renewcommand*{\glsgroupskip}{}
}
\makeatother

\newignoredglossary{ignored}
\glscategory{importantacronym}
\glssetcategoryattribute{acronym}{glossdesc}{firstuc}
\glssetcategoryattribute{symbol}{glossdesc}{firstuc}
\glssetcategoryattribute{number}{glossdesc}{firstuc}
\GlsXtrLoadResources[src={backmatter/constants}, group={Constants}, sort={letter-upperlower}, selection={all}, save-locations=false]
\GlsXtrLoadResources[src={backmatter/acronyms}, sort={doc}, type={\acronymtype}, selection={recorded and deps and see}, match-action={add}, match={category=importantacronym}]
\GlsXtrLoadResources[src={backmatter/symbols}, group={Symbols}, sort={letter-upperlower}, type={symbols}, selection={all}, save-locations=false]

\glsaddall[types={\acronymtype,symbols}]%				add all acronyms and symbols

% *** CITATION PACKAGES ***
\usepackage[style=ieee, citestyle=numeric-comp, backref=false, dashed=false, doi=false, isbn=false, backend=biber, autolang=hyphen]{biblatex}
\usepackage[autostyle=true, german=quotes]{csquotes}
\addbibresource{literatur.bib}

\DeclareBibliographyDriver{standard}{%
	\usebibmacro{bibindex}%
	\usebibmacro{begentry}%
	\usebibmacro{author/editor+others/translator+others}%
	\setunit{\labelnamepunct}\newblock
	\usebibmacro{maintitle+title}%
	\newunit\newblock
	\printfield{version}%
	\newunit\newblock
	\printfield{series}%
	\newunit\newblock
	\printfield{number}%
	\iffieldundef{number}{%
		\newunit\newblock
		\printfield{type}%
	}{%
		\setunit{\addspace}\newblock
		\printfield[parens]{type}%
	}
	\newunit\newblock
	\printfield{note}%
	\newunit\newblock
	\usebibmacro{organization+location+date}%
	\newunit\newblock 
	\usebibmacro{chapter+pages}% 
	\newunit 
	\printfield{pagetotal}% 
	\newunit\newblock
	\iftoggle{bbx:isbn}
		{\printfield{isbn}}
		{}%
	\newunit\newblock
	\iftoggle{bbx:url}
		{\usebibmacro{url+urldate}}
		{}%
	\newunit\newblock 
	\usebibmacro{addendum+pubstate}%
	\setunit{\bibpagerefpunct}\newblock
	\usebibmacro{pageref}%
	\newunit\newblock
	\usebibmacro{related}%
	\usebibmacro{finentry}}

\DeclareLanguageMappingSuffix{} % there is no ieee style language custumization

\usepackage[german]{cleveref}

% WASSERZEICHEN
% \usepackage{draftwatermark}
% \SetWatermarkText{Draft}
% \SetWatermarkLightness{0.9}
% \SetWatermarkScale{1}

% Schrift
\ifluatex
	% Arial
% 	\setmainfont{Arial}
% 	\setsansfont{Arial}
% 	\usepackage[italic]{mathastext}
	% or Calibri
% 	\setmainfont{Calibri}
% 	\setsansfont{Calibri}
% 	\usepackage[italic]{mathastext}
	
\usepackage[math-style=ISO, bold-style=ISO]{unicode-math}% lädt fontspec
\setmainfont{TeX Gyre Heros}
\setsansfont{TeX Gyre Heros}
\setmathfont{Cambria Math}
\usepackage[italic,LGRgreek,nosmalldelims]{mathastext}
\usepackage{selnolig}
\else
	\usepackage{helvet}
	\renewcommand{\familydefault}{\sfdefault}
	\usepackage[helvet]{sfmath}
	\usepackage{sansmathaccent}
\fi

% 
\xdefinecolor{tugreen}{RGB}{132, 184, 24}%		0
\colorlet{tulight}{tugreen!20!white}%			1
\colorlet{tudark}{tugreen!60!black}%			2
\xdefinecolor{tuorange}{RGB}{227, 105, 19}%		3
\xdefinecolor{tuyellow}{RGB}{242, 189, 0}%		4
\xdefinecolor{tucitron}{RGB}{249, 219, 0}%		5

% Nummerierung in den Überschriften bis Ebene...
% \setcounter{secnumdepth}{4}
% \setcounter{tocdepth}{4}

% Fußnoten mit Buchstaben
% \renewcommand{\thefootnote}{\alph{footnote}}

% Verzeichnisnamen
% \renewcommand{\contentsname}{}
% \renewcommand{\listfigurename}{}
% \renewcommand{\listtablename}{}
% \renewcommand{\refname}{}
% \renewcommand{\abstractname}{}
\renewcommand*{\lstlistingname}{Quellcode} % Listings umbenennen
\renewcommand{\lstlistlistingname}{Quellcodeverzeichnis} % Listingsverzeichnis umbenennen

% Todo environment
\newenvironment{TODO}[1]{\textcolor{red}{\textbf{TODO: #1}}}

% Bilder
\graphicspath{./images/}
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps}

% Titelei
\usepackage{kt_title}
\usepackage{lipsum}	% TODO: remove. This is for dummy text only

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\thesistitle{Tasty Kanalmodell\\ für die drahtlose Kommunikation\\ zwischen Gebäuden und\\ Außeninstallationen} % Titel der Abschlussarbeit % no more than 4 lines here
\documentnumber{B\ 14-2015}%				MXX-20XX
\documenttype{Bachelorarbeit}%				Masterarbeit
\documenttypeenglish{Bachelor's thesis}%	Master’s* thesis
\authorfirstname{Käpt'n Kevin}%				Name des Autors
\authorsurname{Blaubär}%					Nachname des Autors
\matrikelnumber{123456}%					Matrikelnummer des Autors
\date{20. Oktober 2019}%					Abgabedatum

\makeatletter
\newcommand{\removelinebreaks}[1]{%
	\begingroup\def\\{}#1\endgroup}
\title{\removelinebreaks{\@thesistitle}}
\author{\@authorfirstname\space\@authorsurname}
\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\frontmatter
\pagestyle{empty}
\maketitle
% \include{frontmatter/acknoledgement}
\pagestyle{headings}
% \include{frontmatter/abstract}
\tableofcontents%			Inhaltsverzeichnis

\mainmatter
\include{mainmatter/einleitung}
\include{mainmatter/grundlagen}
\include{mainmatter/implementierung}
\include{mainmatter/auswertung}
\include{mainmatter/zusammenfassung}

\appendix
\include{mainmatter/anhangA}

\backmatter
\include{backmatter/nomenclature}
\listoffigures%				Abbildungsverzeichnis
\listoftables%				Tabellenverzeichnis
\lstlistoflistings%			Listingsverzeichnis

% \nocite{*}%				es wird alles zitiert
\printbibliography [title=Literaturverzeichnis]%			Literaturverzeichnis

\include{backmatter/eidesstattliche_versicherung}
\end{document}

Das hier ist die nomenclature.tex:

Code: Alles auswählen

\cleardoublepage

\printunsrtglossary[type=\acronymtype, style=tab_style, nonumberlist=true, title={Abkürzungsverzeichnis}]
\printunsrtglossary[type=symbols, style=tab_style_sym, title={Symbolverzeichnis}]

Die Glossaries, welche ich habe sind:

symbols.bib:

Code: Alles auswählen

% Encoding: UTF-8
%
@symbol{ohm,
	category={symbol},
	name={\ensuremath{\Omega}},
	description={unit of electrical resistance}
}
@symbol{area,
	category={symbol},
	name={\ensuremath{A}},
	symbol={\ensuremath{\text{m}^2}},
	description={Flächeninhalt, just here to demonstrate sorting}
}
@symbol{eta,
	category={symbol},
	sort={\ensuremath{\eta}},
	name={\ensuremath{\eta}},
	description={modulation index}
}
@symbol{Ts,
	category={symbol},
	name={\ensuremath{T_{\mathrm{s}}}},
	description={symbol duration}
}
@symbol{dvec,
	category={symbol},
	sort={\ensuremath{\boldsymbol{d}}},
	name={\ensuremath{\vb*{d}}},
	description={bipolar data sequence, \ensuremath{\gls{dvec}(i) \in \qty{-1,1}}}
}
@symbol{h,
	category={symbol},
	name={\ensuremath{h}},
	description={filter impulse response}
}
@symbol{phi0,
	category={symbol},
	sort={\ensuremath{\varphi_0}},
	name={\ensuremath{\varphi_0}},
	description={initial phase of a signal}
}

acronyms.bib:

Code: Alles auswählen

% Encoding: UTF-8
%
@acronym{led,short={LED},long={\textbf{l}ight-\textbf{e}mitting \textbf{d}iode}}
@acronym{ieee,short={IEEE},long={Institute of Electrical and Electronics Engineers}}
@acronym{ic,short={IC},long={integrated circuit}}
@acronym{abc,short={abc},long={test}}
@acronym{eeprom,short={EEPROM},long={electrically erasable programmable read-only memory}}
@acronym{fsk,short={FSK},long={frequency\iflanguage{english}{-shift keying}{}\iflanguage{ngerman}{-Shift Keying}{}}}

@acronym{ISI,
  long  = {Intersymbolinterferenz},
  short = {ISI},
}

@acronym{cpfsk,
  long  = {continuous \iflanguage{english}{phase}{}\iflanguage{ngerman}{Phase}{}\glsps{fsk}},
  short = {CPFSK},
}

@acronym{RRC,
long = {Root-Raised-Cosine-Filter},
short = {RRC-Filter}
}

@acronym{SNR,
long = {Signal-Rauschabstand},
short = {SNR}
}

@Comment{jabref-meta: databaseType:bibtex;}

und constants.bib:

Code: Alles auswählen

% Encoding: UTF-8
%
@number{pi,
	type={symbols},
	category={number},
	sort={\ensuremath{\pi}},
	name={\ensuremath{\uppi}},
	description={Archimedes' constant, \ensuremath{\gls{pi} \approx 3.14159}}
}
@number{c0,
	type={symbols},
	category={number},
	name={\ensuremath{c_{0}}},
	symbol={\si{\meter\per\second}},
	description={speed of light in vacuum, \ensuremath{\gls{c0} = \num{299792458}\,\glssymbol[hyper=false]{c0}}}
}

Der Hauptfehler ist folgender:

! Undefined control sequence.
<argument> \uppi
l.4 ...e=tab_style_sym, title={Symbolverzeichnis}]
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., \hobx'), typeI' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

Es sieht m.M.n. so aus, dass type=symbols nicht funktioniert in der nomenclature.tex, wieso auch immer.

Ich bin wirklich für jede Art von Hilfe dankbar.


Gast

Beitrag von Gast »

Laut Comprehensive LaTeX Symbol List (comprehensive) braucht \uppi das Paket upgreek.


Wowa93
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 2. Nov 2020, 21:53

Re:

Beitrag von Wowa93 »

Gast hat geschrieben:
Mo 2. Nov 2020, 23:14

Laut Comprehensive LaTeX Symbol List (comprehensive) braucht \uppi das Paket upgreek.

Vielen lieben Dank!

Das war tatsächlich das Problem, du hast mir so viel Arbeitszeit in paar Sekunden gespart :oops: :D


Antworten