Seite 1 von 1

Symbolverzeichnis Fehler

Verfasst: Mi 26. Jun 2019, 09:24
von p3l4h0
Leider funktioniert mein minimalbeispiel nicht richtig :(
Es gibt kein Formelverzeichnis aus (sobald ich nur name={1+1} eintrage, und ich finde nicht heraus warum.

Mit meinem underline bekomme ich meinen altbekannten fehlerwust den ich nicht gelößt bekomme.



\begin{filecontents}{\jobname.bib}
\newglossaryentry{formel}{%
name={\underline{Y}=1+1},
description={formel},
type=formula
}
\end{filecontents}

\documentclass[12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{csquotes}

%\usepackage[
%nonumberlist=false, section]
%{glossaries}
%
\usepackage[%
stylemods=bookindex,
style=tree,nomain
]
{glossaries-extra}

\newglossary*{formula}{Formelverzeichnis}[equation]

\makeglossaries
\loadglsentries{\jobname.bib}

\begin{document}
\setglossarysection{chapter}
\printglossary[type=formula,nonumberlist=false] % Formelverzechnis ausgeben
\clearpage
Test text davor
\begin{equation}
\gls{formel}
\end{equation}
und text danach
\end{document}
Hilfe wäre toll

Verfasst: Mi 26. Jun 2019, 10:51
von Gast
Hüste: Der quote-Tag ist nicht dasselbe wie eine code-Tag! :wink:

\underline ist zerbrechlich und muss daher mit \protect geschützt werden. Außerdem sollten Formeln im Glossar mit \ensuremath wirklich in den Mathemodus gezwungen werden, sonst werden sie ggf. im Textmodus gesetzt. Theoretisch würde also
\begin{filecontents}{\jobname-gls.tex}
\newglossaryentry{formel}{%
name={\ensuremath{\protect\underline{Y}=1+1}},
description={formel},
type=formula
}
\end{filecontents}

\documentclass[12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{csquotes}

%\usepackage[
%nonumberlist=false, section]
%{glossaries}
%
\usepackage[%
automake,
stylemods=bookindex,
style=tree,nomain
]
{glossaries-extra}

\newglossary*{formula}{Formelverzeichnis}[equation]

\makeglossaries
\loadglsentries{\jobname-gls.tex}

\begin{document}
\chapter{Test}
\setglossarysection{chapter}
\printglossary[type=formula,nonumberlist=false] % Formelverzechnis ausgeben
\clearpage
Test text davor
\begin{equation}
\gls{formel}
\end{equation}
und text danach
\end{document}
funktionieren. Tut es aber nicht, weil in der glo-Datei dann:
 \glossaryentry{\ensuremath {\protect \underline {Y}=1+1}?\glossentry{formel}|setentrycounter[]{equation}\glsnumberformat}{\relax 1.1}
steht und makeindex mit dem \relax vor der Nummer ein Problem hat. Das kommt offenbar von der Definition von \theequation in KOMA-Script. Man kann das durch Umdefinieren von \thequation beheben:
\begin{filecontents}{\jobname-gls.tex}
\newglossaryentry{formel}{%
name={\ensuremath{\protect\underline{Y}=1+1}},
description={formel},
type=formula
}
\end{filecontents}

\documentclass[12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{csquotes}

%\usepackage[
%nonumberlist=false, section]
%{glossaries}
%
\usepackage[%
automake,
stylemods=bookindex,
style=tree,nomain
]
{glossaries-extra}

\newglossary*{formula}{Formelverzeichnis}[equation]

\makeglossaries
\loadglsentries{\jobname-gls.tex}

\makeatletter
\renewcommand*{\theequation}{\if@mainmatter \thechapter.\fi\arabic{equation}}
\makeatother

\begin{document}
\chapter{Test}
\setglossarysection{chapter}
\printglossary[type=formula,nonumberlist=false] % Formelverzechnis ausgeben
\clearpage
Test text davor
\begin{equation}
\gls{formel}
\end{equation}
und text danach
\end{document}
Zur verwendeten Option automake siehe die [d]glossaries[/d]-Anleitung.

BTW: Die Endung bib würde ich nur für Datenbankdateien im BibTeX-Format verwenden. Daher habe ich das mal geändert.

BTW2: Feature-Request an den KOMA-Script-Autor ist unterwegs.

Verfasst: Mi 26. Jun 2019, 11:36
von p3l4h0
Vielen Dank für die Mühe und Aufklärung.

Ich habe es einigermaßen verstanden und es funktioniert jetzt bei mir.
BTW: Die Endung bib würde ich nur für Datenbankdateien im BibTeX-Format verwenden. Daher habe ich das mal geändert.

BTW2: Feature-Request an den KOMA-Script-Autor ist unterwegs.
Auch danke dafür :)

Und um den Tag mal richtig zu gebrauchen ;)