Classicthesis und glossaries Thema ist als GELÖST markiert

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


SvenStähs

Classicthesis und glossaries

Beitrag von SvenStähs »

Hallo, ich habe folgendes Problem:
Ich benutze das ClassicThesis package für eine Facharbeit, und will jetzt einen Glossar einfügen. Das Package glossaries scheint aber damit nicht zu funktionieren, untenstehendes Minimalbeispiel funktioniert jedenfalls nicht. Das Auskommentieren der Zeilen \printglossaries oder \usepackage{classicthesis} compiliert beides erfolgreich zu einem PDF, einmal mit und einmal ohne Glossar. Ich habe das Glossaries-paket also richtig eingestellt und auch classicthesis läuft bisher ohne Probleme.
% KOMA-document scrreprt (required by Classicthesis)
\documentclass{scrreprt}


% Packages for classicthesis
\usepackage{natbib} 
\usepackage{scrhack}

% Classicthesis itself
\usepackage{classicthesis}		%% disable to get glossaries o work

% glossary package and definitions
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{testio}{name=Test,description={an action to verify an assumption}}
\newglossaryentry{ColoRT}{name=Colorado,description={Internal name for WinCC flexible runtime version 2005}}
\glsaddall


% generate document content
\begin{document}

\printglossaries		%% disable to get classicthesis o work

\cleardoublepage\chapter{Content}
Glossary over, Content starts now.

\end{document}
Bei diesem Code jedoch bekomme ich den Fehler:
Argument of \Qparbox has an extra }.
\par
1.5 \setnentrycounter{page}\glsnumberformat{1}}}
\glsgroupskip
Runaway argument?
{\gls@tmplen }\reserved@a \reserved@b {\@irsbox {\gls@tmplen }[]}\futurelet \ET
C.
Jetzt hätte ich natürlich gerne beides zusammen, kann mir da jemand helfen?

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Lade mal \usepackage{classicthesis} _nach_ \usepackage[...]{glossaries}.

SvenStähs

Beitrag von SvenStähs »

hm, interessant. Im Minimalbeispiel funktionierts damit. In meinem eigentlichen Projekt (wo ich das natürlich versucht hatte ;)) macht es keinen Unterschied... Die Fehlermeldung ist dort die gleiche wie im Minimalbeispiel, nur dass der Fehler nicht bei "\@parbox" auftritt, sondern bei "\glstarget" in der Zeile
\setentrycounter{page}\glsnumberformat{5}}}\glsgroupskip
in der Datei "projekt.gls".
Ganze Datei:
\glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble
\begin{theglossary}\glossaryheader
\glsgroupheading{C}\relax \glsresetentrylist %
\glossaryentryfield{Colorado}{\glsnamefont{Colorado}}{Internal name for WinCC flexible runtime version 2005}{\relax }{\glossaryentrynumbers{\relax 
		\setentrycounter{page}\glsnumberformat{5}}}\glsgroupskip
\glsgroupheading{E}\relax \glsresetentrylist %
\glossaryentryfield{evolute}{\glsnamefont{evolute}}{The locus of centers of curvature of a plane curve's normals}{\relax }{\glossaryentrynumbers{\relax 
		\setentrycounter{page}\glsnumberformat{4\delimN 5}}}%
\end{theglossary}\glossarypostamble
Vielleicht liegts an den zusätzlichen paketen, die ich verwende, dass da die use-Reihenfolge nicht stimmt. Ich versuchs mal mit der kompletten Preambel wie im Projekt und melde mich dann.

SvenStähs

gelöst

Beitrag von SvenStähs »

Hah, gefunden! Hab mich schon gewundert, dass ich dazu nirgends was online gefunden habe. Classicthesis verwendet für Überschriften \spacedlowsmallcaps{}, das verträgt sich nun überhaupt nicht mit 'ß'. Deswegen hatte ich den command \descriptionlabel{} umdefiniert und mir extra noch daneben geschrieben, dass das längst nicht so robust sei wie das von classithesis.sty ;)

Muss ich eben \ss verwenden und damit klar kommen, dass in den Überschriften dann ss verwendet wird.
Jetzt stört mich nur noch, dass die Begriffe nicht ins Glossar verlinken, wenn ich glossaries vor classicthesis (und damit hyperref) lade. Aber immerhin funktionierts jetzt, vielen Dank!

SvenStähs

Lösung mit Links

Beitrag von SvenStähs »

OK, ich denke ich habs jetzt sehr gut eingegrenzt:

Schon beim \usepackage{glossaries} wird der style "list" als Standard festgelegt, der eben \descriptionlabel{} verwendet, um die Einträge zu formatieren. \descriptionlabel{} ist nun aber wohl von classicthesis.sty so verändert worden, dass glossaries beim Versuch, das darzustellen, komplett abbricht.

Workaround:
\usepackage[style=long,nolist]{glossaries}
So wird gleich zu Beginn ein anderer style festgelegt (ohne descriptionlabels) und mit "nolist" verhindert, dass das list-Environment bei Aufruf von \printglossary[style=list] verwendet wird (bzw. es gibt dann eine aussagekräftige Fehlermeldung).
Die beiden \usepackages können jetzt auch wieder in beliebiger Reihenfolge stehen.

Hoffe, das hilft mal jemandem weiter ;)[/b]

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Danke für die Rückmeldung, auf die Idee muss man erst mal kommen...

mademyday

Beitrag von mademyday »

Danke!

Hätte ich diesen Beitrag vor einem Tag gefunden, hätte ich mir einen Tag Rumgesuche gespart... ;)

Antworten