PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abkürzungsverzeichnis mit nomenclature in einem scrbook-appendix



Froschi
13-06-2013, 15:58
Hallo,
nachdem 2 Tage googeln und probieren keine Lösung gebracht hat, frage ich euch um Rat. Ich schreibe gerade meine Doktorarbeit zusammen, möchte ein Abkürzungsverzeichnis mit Nomenclature erstellen und - zusammen mit anderen Verzeichnissen wie einem Abbildungsverzeichnis - in den Anhang einfügen. Die einzelnen Verzeichnisse sollen Überschriften bekommen.
Mich stört, dass die nomenclature-Liste nicht sofort unter der Überschrift und dem Testwort (das eigentlich überflüssig ist, aber dennoch zeigt, dass es prinzipiell möglich wäre, an der Stelle etwas einzufügen) eingefügt wird, sondern ein Seitenumbruch eingefügt wird. Die Dokumentation von nomencl konnte mir auch nicht helfen.
Weiß jemand von euch Rat?



\documentclass[a4paper,11pt]{scrbook}
\usepackage[german]{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1}
\setlength{\nomitemsep}{-\parsep}
\makenomenclature


\begin{document}
Ich bin minimal. \nomenclature[X]{[X]}{Was ist eigentlich X?}

\appendix\addchap{Appendix}
\renewcommand*{\thesection}{\Alph{section}} % Sections werden mit A, B, C ... nummeriert
\section{Abkürzungen}
test
\printnomenclature

\end{document}

u_fischer
13-06-2013, 16:29
\printnomenclature führt \chapter{\nomname} aus. Wenn du \section haben willst, musst du \thenomenclature umdefinieren.



\renewcommand{\nomname}{Abkürzungen}
\makeatletter
\def\thenomenclature{%
\section*{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\ fi%
\nompreamble
\list{}{%
\labelwidth\nom@tempdim
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\itemsep\nomitemsep
\let\makelabel\nomlabel}
}%
\makeatother

Froschi
14-06-2013, 08:31
Super, das hilft sehr, herzlichen Dank! :D
Um zu verhindern, dass die Section zweimal benannt wird, habe ich eine Zeile deines Codes auskommentiert/gelöscht werden (und zwar \section*{\nomname} zu Beginn der Umdefinition von thenomenclature), dann ist es - für mich - perfekt.



\documentclass[a4paper,11pt]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[german]{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1}
\setlength{\nomitemsep}{-\parsep}
\renewcommand{\nomname}{Abkürzungen}
\makeatletter
\def\thenomenclature{%
% \section*{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\ fi%
\nompreamble
\list{}{%
\labelwidth\nom@tempdim
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\itemsep\nomitemsep
\let\makelabel\nomlabel}
}%
\makeatother
\makenomenclature
\begin{document}
Ich bin minimal. \nomenclature[X]{[X]}{Was ist eigentlich X?}

\appendix\addchap{Appendix}
\renewcommand*{\thesection}{\Alph{section}} % Sections werden mit A, B, C ... nummeriert
\section{Abkürzungen}
\printnomenclature

\end{document}

u_fischer
14-06-2013, 08:45
Um zu verhindern, dass die Section zweimal benannt wird, habe ich eine Zeile deines Codes auskommentiert/gelöscht werden (und zwar \section*{\nomname} zu Beginn der Umdefinition von thenomenclature), dann ist es - für mich - perfekt.

Warum hast du nicht einfach \section*{Abkürzungen} aus deinem Dokument gelöscht?

klops
14-06-2013, 11:57
Ich hätte da übrigens noch einen Alternativvorschlag:

\documentclass[a4paper,11pt,headings=appendixprefix]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}% <-- Fehlte bei Dir
\usepackage[german]{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1}
\setlength{\nomitemsep}{-\parsep}
\renewcommand{\nomname}{Abkürzungen}
\makenomenclature

\usepackage{etoolbox}
\patchcmd{\thenomenclature}{\chapter*}{\chapter}{} {}

\begin{document}
\tableofcontents

Ich bin minimal. \nomenclature[X]{[X]}{Was ist eigentlich X?}

\appendix
\addtocontents{toc}{{\protect\usekomafont{disposit ion}\appendixname\par}}
\printnomenclature

\end{document}
Dabei bleiben die Kapitel des Anhangs wirklich Kapitel, es stimmt also die Nummerierungsebene mit der Gliederungsebene überein. Gleichzeitig werden die Anhänge optisch stärker als solche hervorgehoben.

Es gibt eine weitere Alternative, bei der nur über dem ersten Anhang "Anhang" steht:
\documentclass[a4paper,11pt]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}% <-- Fehlte bei Dir
\usepackage[german]{nomencl}
\let\abbrev\nomenclature
\renewcommand{\nomname}{}
\setlength{\nomlabelwidth}{.25\hsize}
\renewcommand{\nomlabel}[1]{#1}
\setlength{\nomitemsep}{-\parsep}
\renewcommand{\nomname}{Abkürzungen}
\makenomenclature

\usepackage{etoolbox}
\patchcmd{\thenomenclature}{\chapter*}{\chapter}{} {}

\begin{document}
\tableofcontents

Ich bin minimal. \nomenclature[X]{[X]}{Was ist eigentlich X?}

\appendix
\addtocontents{toc}{{\protect\usekomafont{disposit ion}\appendixname\par}}
\setchapterpreamble[o]{\usekomafont{disposition}\usekomafont{chapter}\ap pendixname}
\printnomenclature

\end{document}

Das Patchen wird in beiden Fällen mit etoolbox (http://www.ctan.org/pkg/etoolbox) erledigt, so dass weniger Wissen über den Aufbau von \thenomenclature notwendig ist.

Froschi
20-06-2013, 21:40
Warum hast du nicht einfach \section*{Abkürzungen} aus deinem Dokument gelöscht?

Hätte ich natürlich auch machen können. Ich fand es für mich persönlich übersichtlicher, wenn unten, wo der Appendix aufgerufen wird, alle Teile gleich beginnen und nicht manche ihre Überschrift/Struktur dort verpasst bekommen und andere im Vorspann.

Froschi
20-06-2013, 21:42
Klops: Interessante Alternative, danke! Teste ich, wenn ich weitestgehend durch bin mit Schreiben und besser beurteilen kann, wie es sich optisch macht, wenn ich meinen konkreten Umfang an Abkürzungen etc. als Kapitel oder Abschnitt setze.