Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


DontWalk_Dance
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 16. Apr 2022, 08:45

Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Beitrag von DontWalk_Dance »

Servus zusammen, ich habe Probleme bei der Implementierung einer Parent-Struktur für ein Symbolverzeichnis. Er kompiliert zwar und es sieht auch alles so aus, wie ich das möchte, er zeigt aber zwei Mal die Fehlermeldung "Something's wrong--perhaps a missing \item. \end{theglossary}" an. Hat jemand eine Idee, woran das liegen könnte? Vielen Dank im Voraus :)

\documentclass[a4paper,11pt,headsepline]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{xfrac}
\usepackage{siunitx}    \sisetup{detect-all}
\usepackage{xltabular}
\usepackage{booktabs}
\usepackage{hyperref}
\usepackage[symbols,nogroupskip, xindy={language=german-din} ,toc]{glossaries}

\makeglossaries

\newcommand*{\newformulasymbol}[5][]{%
	\newglossaryentry{#2}{%
		type=symbols,%
		name={#3},%
		description={\nopostdesc},%
		symbol={\ensuremath{#4}},%
		user1={\ensuremath{\mathrm{#5}}},%
		sort={#2},%
		#1%
	}%
}

\newglossaryentry{greekletters}{%
	type=symbols,%
	name={Griechische Symbole},%
	description={\nopostdesc},%
	sort={a}%
}
\newglossaryentry{romanletters}{%
	type=symbols,%
	name={Lateinische Symbole},%
	description={\nopostdesc},%
	sort={b}%
}

\newglossarystyle{mystyle}{%
			\renewenvironment{theglossary}{%
							\xltabular[l]{\linewidth}{ccXl}%
							}{%
					\endxltabular%
					}%
				
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glsgroupskip}{}%
\newcommand*\symbolhead{%
	\toprule
	\bfseries Symbol & \bfseries Einheit &
	\bfseries Bezeichnung & \bfseries Seite(n)
	\tabularnewline\midrule
}%
\renewcommand*{\glossaryheader}{%
	\endfirsthead%
	\symbolhead\endhead%
	\bottomrule\endfoot%
	\gdef\symbollevel{-1}%
}%
\renewcommand*{\glossentry}[2]{%
	\ifglshaschildren{##1}{%
		\ifnum\symbollevel>0\relax%
		\tabularnewline\bottomrule\tabularnewline[\smallskipamount]%
		\fi
		\gdef\symbollevel{0}%
		\tabularnewline[%
		\arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax%
		]%
		\multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}%
	}{%
		\GlossariesWarning{%
			Keine Parentzuweisung für ##1.\MessageBreak
		}%
	}%
}%
\renewcommand*{\subglossentry}[3]{%
	\ifnum\symbollevel=0\relax%
	\tabularnewline[\medskipamount]\symbolhead%
	\else%
	\tabularnewline
	\fi%
	\gdef\symbollevel{##1}%
	\glsentryitem{##2}% Entry number if required
	\glstarget{##2}{\glossentrysymbol{##2}} &
	\glsentryuseri{##2} &
	\glossentryname{##2} &
	##3%
	}%
}
\defglsentryfmt[symbols]{%
	\ifmmode%
	\glssymbol{\glslabel}%
	\else%
	\glsgenentryfmt~\glsentrysymbol{\glslabel}%
	\fi%
}

\newformulasymbol[parent=greekletters]{l}{Länge}{l}{m}
\newformulasymbol[parent=greekletters]{m}{Masse}{m}{kg}
\newformulasymbol[parent=greekletters]{a}{Beschleunigung}{a}{\sfrac{m}{s^2}}
\newformulasymbol[parent=greekletters]{t}{Zeit}{t}{s}
\newformulasymbol[parent=greekletters]{f}{Frequenz}{f}{s^{-1}}
\newformulasymbol[parent=romanletters]{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}}

\begin{document}
	Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den
	SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet.
	Und dann gibt es noch die Grundgleichung der Mechanik, welche für den
	Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer
	Punktmasse lautet:
	\[\gls{F} = \gls{m} \cdot \gls{a}\]
	\printsymbols[style=mystyle]
	
\end{document}

Fehlermeldungen:
Zeile 42: Something's wrong--perhaps a missing \item. \end{theglossary}
Zeile 42: Something's wrong--perhaps a missing \item. \end{theglossary}
: Size substitutions with differences(Font) up to 2.90001pt have occurred.

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Re: Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Beitrag von Rolli »

Hi, schau mal in Nicola's FAQ: https://www.dickimaw-books.com/faq.php?action=view&category=glossaries#glsmissingitem
Einige Glossary-Stile verwenden intern eine Listenumgebung, welche den Fehler hervorruft. Da hilft es, einen anderen Stil zu verwenden.
Dein Beispiel übersetzt hier allerdings ohne die Fehlermeldung?

Gruß vom Rolli

DontWalk_Dance
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 16. Apr 2022, 08:45

Re: Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Beitrag von DontWalk_Dance »

Hallo Rolli,

danke für deine Antwort! Da hatte ich auch schon nachgeschaut, allerdings kommt es bei mir wie gesagt nur zu den zwei Fehlermeldungen. Auch habe ich alles nochmal neu angelegt, der Fehler bleibt bestehen. Hast du noch eine andere Idee?

Viele Grüße, Alex

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Beitrag von KOMA »

Das Problem ist:
		\multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}%
\minisec ist eine Überschrift. Du kannst eine Überschrift nicht in einer l-Spalte einer Tabelle setzen. Einfaches Minimalbeispiel:
% Achtung! Das funktioniert nicht!
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{xltabular}
\begin{document}
\begin{xltabular}[l]{\linewidth}{ccXl}
  \multicolumn{4}{@{}l@{}}{\minisec{Test}}\tabularnewline
\end{xltabular}
\end{document}
Du musst also hier entweder die Tabelle beenden, dann die \minisec setzen und dann die Tabelle neu beginnen, oder aber auf \minisec verzichten.

Gefunden habe ich die im langen Code gut versteckte, problematische Zeile übrigens, indem ich die von makeglossaries erzeugte sls-Datei, in der ja der Fehler gemeldet wird, gemäß Minimalbeispiel-Anleitung minimiert habe.

DontWalk_Dance
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Sa 16. Apr 2022, 08:45

Re: Makeglossaries - Something's wrong--perhaps a missing \item. \end{theglossary}

Beitrag von DontWalk_Dance »

Hallo KOMA,

vielen Dank! Das löst das Problem! Die Meldungen in der .sls Datei hatte ich mir angesehen, konnte damit aber nicht viel anfangen...

Frohe Ostern, Alex

Antworten