[nomencl] Zwischenüberschriften im Abkürzungsverzeichnis
[nomencl] Zwischenüberschriften im Abkürzungsverzeichnis
Hallo,
Bin ein Neuling im Forum und bräuchte eure Hilfe. Schreibe derzeit an einer wissenschaftlichen Arbeit und bin sehr zufrieden mit LaTaX.
Folgendes Problem stellte sich für mich heraus:
Die Nutzung des Pakets nomencl für ein Abkürzungsverzeichnis habe ich verstanden und es funktionier auch einwandfrei.
Ich würde nun gerne, wenn möglich, Überschriften im Abkürzungsverzeichnis einfügen. Alles was unter A aufgelistet wird sollte mit der Überschrift A versehen werden, alles mit B mit der Überschrift B usw. Gibt es vielleicht eine Funktion die das schnell und einfach verursacht?
Über eure Antworten bin ich Dankbar,
Gruß Marc
Bin ein Neuling im Forum und bräuchte eure Hilfe. Schreibe derzeit an einer wissenschaftlichen Arbeit und bin sehr zufrieden mit LaTaX.
Folgendes Problem stellte sich für mich heraus:
Die Nutzung des Pakets nomencl für ein Abkürzungsverzeichnis habe ich verstanden und es funktionier auch einwandfrei.
Ich würde nun gerne, wenn möglich, Überschriften im Abkürzungsverzeichnis einfügen. Alles was unter A aufgelistet wird sollte mit der Überschrift A versehen werden, alles mit B mit der Überschrift B usw. Gibt es vielleicht eine Funktion die das schnell und einfach verursacht?
Über eure Antworten bin ich Dankbar,
Gruß Marc
- Johannes_B
- Moderator
- Beiträge: 5079
- Registriert: Do 1. Nov 2012, 14:55
- Kontaktdaten:
Hast du schon in Abschnitt 5.1 der Dokumentation geschaut?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
Vielen dank für den Tip! Ich dachte es gibt eventuell eine Funktion, welche mir das automatisch ausgibt. Habe mir jetzt manuell die Überschriften wie folgt erstellt:
Soweit so gut! Habe den einzelnen Abkürzungen ihre Schlüssel zugewiesen jodoch stoße ich auf ein Problem mit den gr. Symbolen die ich verwende.
Problem 1: Anscheinen funktioniert es nicht diese mit 1 in die Gruppe Symbole einzusortieren. Da aber die Buchstaben A-Z schon verwendet werden gibt es hoffentlich eine Möglichkeit diese noch in eine eigene Gruppe einzuordnen, habe aber keine Idee wie!
Problem 2: Ich verwende dotfill der Übersichtlichkeits halber. Nun fügt mir nomencl aber auch dots bei den Überschriften A, B, C usw ein. Gibt es eine Möglichkeit die dots dort zu unterbinden?
%Abkürzungsverzeichnis \usepackage[intoc]{nomencl} \usepackage{ifthen} %Überschrift \renewcommand{\nomname}{Abkürzungsverzeichnis} %Abst. Abkürzung - Erläuterung \setlength{\nomlabelwidth}{.20\hsize} %Punkte Einfügen \renewcommand{\nomlabel}[1]{#1 \dotfill} %Abstand der Abkürzungen zueinander \setlength{\nomitemsep}{-\parsep} %Gruppierung \renewcommand{\nomgroup}[1]{% \ifthenelse{\equal{#1}{1}}{\item[\textbf{Symbole}]}{% \ifthenelse{\equal{#1}{A}}{\item[\textbf{A}]}{% \ifthenelse{\equal{#1}{B}}{\item[\textbf{B}]}{% \ifthenelse{\equal{#1}{C}}{\item[\textbf{C}]}{% \ifthenelse{\equal{#1}{D}}{\item[\textbf{D}]}{% \ifthenelse{\equal{#1}{E}}{\item[\textbf{E}]}{% \ifthenelse{\equal{#1}{F}}{\item[\textbf{F}]}{% \ifthenelse{\equal{#1}{G}}{\item[\textbf{G}]}{% \ifthenelse{\equal{#1}{H}}{\item[\textbf{H}]}{% \ifthenelse{\equal{#1}{I}}{\item[\textbf{I}]}{% \ifthenelse{\equal{#1}{J}}{\item[\textbf{J}]}{% \ifthenelse{\equal{#1}{K}}{\item[\textbf{K}]}{% \ifthenelse{\equal{#1}{L}}{\item[\textbf{L}]}{% \ifthenelse{\equal{#1}{M}}{\item[\textbf{M}]}{% \ifthenelse{\equal{#1}{N}}{\item[\textbf{N}]}{% \ifthenelse{\equal{#1}{O}}{\item[\textbf{O}]}{% \ifthenelse{\equal{#1}{P}}{\item[\textbf{P}]}{% \ifthenelse{\equal{#1}{Q}}{\item[\textbf{Q}]}{% \ifthenelse{\equal{#1}{R}}{\item[\textbf{R}]}{% \ifthenelse{\equal{#1}{S}}{\item[\textbf{S}]}{% \ifthenelse{\equal{#1}{T}}{\item[\textbf{T}]}{% \ifthenelse{\equal{#1}{U}}{\item[\textbf{U}]}{% \ifthenelse{\equal{#1}{V}}{\item[\textbf{V}]}{% \ifthenelse{\equal{#1}{W}}{\item[\textbf{W}]}{% \ifthenelse{\equal{#1}{X}}{\item[\textbf{X}]}{% \ifthenelse{\equal{#1}{Y}}{\item[\textbf{Y}]}{% \ifthenelse{\equal{#1}{Z}}{\item[\textbf{Z}]}{}}}}}}}}}}}}}}}}}}}}}}}}}}}} %Erzeugung des Abkürzungsverzeichnis \makenomenclature
Problem 1: Anscheinen funktioniert es nicht diese mit 1 in die Gruppe Symbole einzusortieren. Da aber die Buchstaben A-Z schon verwendet werden gibt es hoffentlich eine Möglichkeit diese noch in eine eigene Gruppe einzuordnen, habe aber keine Idee wie!
Problem 2: Ich verwende dotfill der Übersichtlichkeits halber. Nun fügt mir nomencl aber auch dots bei den Überschriften A, B, C usw ein. Gibt es eine Möglichkeit die dots dort zu unterbinden?
das Belegen des \nomgroup-Befehls übernimmt das makeindex-Programm.marc86 hat geschrieben: Problem 1: Anscheinen funktioniert es nicht diese mit 1 in die Gruppe Symbole einzusortieren. Da aber die Buchstaben A-Z schon verwendet werden gibt es hoffentlich eine Möglichkeit diese noch in eine eigene Gruppe einzuordnen, habe aber keine Idee wie!
Bei einem positiven Wert für headings_flag (das per nomencl.ist auf 1 gesetzt ist), bekommst Du hier A-Z, Numbers (für rein numerische Einträge) und Symbols (für alles, das nicht über A-Z und Numbers abgedeckt ist).
Bevor Du nun dabeigehst und auf "Symbols" testest, würde ich an Deiner Stelle die nomencl.ist-Datei ins Arbeitsverzeichnis (unter anderem Namen, etwa mynomencl.ist) kopieren und darin
symhead_positive "Symbole"
Dazu müsstest Du Deinen makeindex-Aufruf entsprechend anpassen (also beim -s mynomencl.ist angeben).
Theoretisch stünde so bereits der richtige String im \nomgroup, d.h. Du könntest die ganzen \ifthenelse-Befehle weglassen.
Evtl. tut es bereits, wenn Du ins \item-Argument eine \parbox packst, etwamarc86 hat geschrieben:Problem 2: Ich verwende dotfill der Übersichtlichkeits halber. Nun fügt mir nomencl aber auch dots bei den Überschriften A, B, C usw ein. Gibt es eine Möglichkeit die dots dort zu unterbinden?
\renewcommand{\nomgroup}[1]{% \item[\parbox{\nomlabelwidth}{\textbf{#1}}]~ }
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
Hey,
Ich habe den symhead Befehl in die neue mynomencl.ist hinzugefügt, es funktioniert leider immer noch nicht.
Da ich Gruppierungen haben möchte mit Überschriften A,B,C...Z und einer Gruppe für Symbole kann ich die ifthenelse Befehle nicht weglassen, sonst sind auch meine Gruppenüberschriften weg.
(Falls es nicht möglich ist mehr als 26 Gruppen zu erstellen kann ich evtl drauf hoffen, dass ich keine Abkürzung für einen Buchstaben habe und diesen dann für die Symbole benutzen kann)
Der Trick mit dem Item Argument funktioniert leider nicht. Falls dir das konkrete Beispiel fehlt, ich habe hier den wichtigen Code eingefügt:
Ich habe den symhead Befehl in die neue mynomencl.ist hinzugefügt, es funktioniert leider immer noch nicht.
Da ich Gruppierungen haben möchte mit Überschriften A,B,C...Z und einer Gruppe für Symbole kann ich die ifthenelse Befehle nicht weglassen, sonst sind auch meine Gruppenüberschriften weg.
(Falls es nicht möglich ist mehr als 26 Gruppen zu erstellen kann ich evtl drauf hoffen, dass ich keine Abkürzung für einen Buchstaben habe und diesen dann für die Symbole benutzen kann)
Der Trick mit dem Item Argument funktioniert leider nicht. Falls dir das konkrete Beispiel fehlt, ich habe hier den wichtigen Code eingefügt:
\documentclass[a4paper,12pt,onecolumn,twoside,openright,headsepline,footsepline,bibliography=totoc]{scrbook} \usepackage[a4paper, includehead, includefoot,left=2.5cm, right=2.5cm, top=2cm, bottom=2cm]{geometry} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} %Gleitobjekte \usepackage{graphicx} %Bildunterschriften caption.pdf \usepackage[format=hang,labelformat=default,labelfont=bf]{caption} \pagestyle{headings} \usepackage{booktabs} %literaturverzeichnis \usepackage[super,compress,square]{natbib} \bibliographystyle{unsrt} %Abkürzungsverzeichnis \usepackage[intoc]{nomencl} \usepackage{ifthen} %Überschrift \renewcommand{\nomname}{Abkürzungsverzeichnis} %Abst. Abkürzung - Erläuterung \setlength{\nomlabelwidth}{.22\hsize} %Punkte Einfügen \renewcommand{\nomlabel}[1]{#1 \dotfill} %Abstand der Abkürzungen zueinander \setlength{\nomitemsep}{-\parskip} %geringerer Abstand mit \parsep %Seitenzahl %\renewcommand{\pagedeclaration}[1]{\dotfill #1} bei usepackage refpage einfügen %Übereinanderliegende Punkte \renewcommand{\dotfill}{\leaders\hbox to 5pt{\hss.\hss}\hfill} %Gruppierung \renewcommand{\nomgroup}[1]{% \ifthenelse{\equal{#1}{1}}{\item[\textbf{Symbole}]}{% \ifthenelse{\equal{#1}{A}}{\item[\textbf{A}]}{% \ifthenelse{\equal{#1}{B}}{\item[\textbf{B}]}{% \ifthenelse{\equal{#1}{C}}{\item[\textbf{C}]}{% \ifthenelse{\equal{#1}{D}}{\item[\textbf{D}]}{% \ifthenelse{\equal{#1}{E}}{\item[\textbf{E}]}{% \ifthenelse{\equal{#1}{F}}{\item[\textbf{F}]}{% \ifthenelse{\equal{#1}{G}}{\item[\textbf{G}]}{% \ifthenelse{\equal{#1}{H}}{\item[\textbf{H}]}{% \ifthenelse{\equal{#1}{I}}{\item[\textbf{I}]}{% \ifthenelse{\equal{#1}{J}}{\item[\textbf{J}]}{% \ifthenelse{\equal{#1}{K}}{\item[\textbf{K}]}{% \ifthenelse{\equal{#1}{L}}{\item[\textbf{L}]}{% \ifthenelse{\equal{#1}{M}}{\item[\textbf{M}]}{% \ifthenelse{\equal{#1}{N}}{\item[\textbf{N}]}{% \ifthenelse{\equal{#1}{O}}{\item[\textbf{O}]}{% \ifthenelse{\equal{#1}{P}}{\item[\textbf{P}]}{% \ifthenelse{\equal{#1}{Q}}{\item[\textbf{Q}]}{% \ifthenelse{\equal{#1}{R}}{\item[\textbf{R}]}{% \ifthenelse{\equal{#1}{S}}{\item[\textbf{S}]}{% \ifthenelse{\equal{#1}{T}}{\item[\textbf{T}]}{% \ifthenelse{\equal{#1}{U}}{\item[\textbf{U}]}{% \ifthenelse{\equal{#1}{V}}{\item[\textbf{V}]}{% \ifthenelse{\equal{#1}{W}}{\item[\textbf{W}]}{% \ifthenelse{\equal{#1}{X}}{\item[\textbf{X}]}{% \ifthenelse{\equal{#1}{Y}}{\item[\textbf{Y}]}{% \ifthenelse{\equal{#1}{Z}}{\item[\textbf{Z}]}{}}}}}}}}}}}}}}}}}}}}}}}}}}}} %Erzeugung des Abkürzungsverzeichnis \makenomenclature %Aktualisieren des Abkürzungsverzeichnis %I: dann makeindex Diplomarbeit.nlo -s mynomencl.ist -o Diplomarbeit.nls %Chemische Formelnamen \usepackage{bpchem} \begin{document} \pagenumbering{Roman} %TITELSEITE \subject{ \includegraphics{logo} } \title{ xxx } \publishers{ \large{Durchgeführt~am}\\ \medskip \textbf{\large{xxx}}\\ \textbf{\large{xxx}}\\ \textbf{\large{xxx}}\\ \vspace{1cm} \large{xxx}\\ \medskip \textbf{\large{xxx}} } \author{ xxx\\ \\ vorgelegt von\\ \textbf{xxx}\\ aus xxx } \date{ xxx } \maketitle \include{Versicherung} %Inhaltsverzeichnis \tableofcontents \newpage \printnomenclature %\include{Einleitung} %\include{Problemstellung} %\include{Hauptteil} BLABLABLA \nomenclature[1phi]{$\phi$}{Phi, Quantenausbeute} \nomenclature[Nnmda]{NMDA}{\emph{N}-methyl-D-aspartat} \nomenclature[Ccnb]{CNB}{Carboxy-2-nitrobenzyl} \nomenclature[Ddnb]{DNB}{2,2-Dinitrobenzhydryl} \nomenclature[Ddcnb]{DCNB}{4-Dicarboxy-2-nitrobenzyl} \nomenclature[Aacn]{ACN}{Acetonitril} \nomenclature[Nnb]{NB}{2-Nitrobenzyl} \nomenclature[Ddmnb]{DMNB}{4,5-Dimethoxy-2-nitrobenzyl} \nomenclature[Mmdnb]{MDNB}{4,5-Methylendioxy-2-nitrobenzyl} %\include{Zusammenfassung} %Literatur \bibliography{literatur} \end{document}
versteh ich nicht. Welchen Sinn soll es haben, erst auf z. B. `A' zu testen, um dann eben dieses `A' (fett) auszugeben?marc86 hat geschrieben: Ich habe den symhead Befehl in die neue mynomencl.ist hinzugefügt, es funktioniert leider immer noch nicht.
Da ich Gruppierungen haben möchte mit Überschriften A,B,C...Z und einer Gruppe für Symbole kann ich die ifthenelse Befehle nicht weglassen, sonst sind auch meine Gruppenüberschriften weg.
Nicht nur sind mit dervon mir beschriebenen Methode alle Unterüberschriften (hier Symbole, A, C, D, M und N) vorhanden, die Punkte vom \dotfill tauchen auch gar nicht erst auf.
\documentclass{scrbook} \begin{filecontents}{mynomencl.ist} keyword "\\nomenclatureentry" preamble "\\begin{thenomenclature} \n"% postamble "\n\n\\end{thenomenclature}\n" group_skip "\n" delim_0 "" delim_1 "" delim_2 "" heading_prefix "\n \\nomgroup{" heading_suffix "}\n" headings_flag 1 symhead_positive "Symbole" \end{filecontents} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} %Abkürzungsverzeichnis \usepackage[intoc]{nomencl} \usepackage{ifthen} %Überschrift \renewcommand{\nomname}{Abkürzungsverzeichnis} %Abst. Abkürzung - Erläuterung \setlength{\nomlabelwidth}{.22\hsize} %Punkte Einfügen \renewcommand{\nomlabel}[1]{#1 \dotfill} %Abstand der Abkürzungen zueinander \setlength{\nomitemsep}{-\parskip} %geringerer Abstand mit \parsep %Übereinanderliegende Punkte \renewcommand{\dotfill}{\leaders\hbox to 5pt{\hss.\hss}\hfill} %Gruppierung \renewcommand{\nomgroup}[1]{% \item[\parbox{\nomlabelwidth}{\textbf{#1}}]~ } %Erzeugung des Abkürzungsverzeichnis \makenomenclature %Aktualisieren des Abkürzungsverzeichnis %I: dann makeindex Diplomarbeit.nlo -s mynomencl.ist -o Diplomarbeit.nls \begin{document} %Inhaltsverzeichnis \tableofcontents \printnomenclature BLABLABLA \nomenclature[1phi]{$\phi$}{Phi, Quantenausbeute} \nomenclature[Nnmda]{NMDA}{\emph{N}-methyl-D-aspartat} \nomenclature[Ccnb]{CNB}{Carboxy-2-nitrobenzyl} \nomenclature[Ddnb]{DNB}{2,2-Dinitrobenzhydryl} \nomenclature[Ddcnb]{DCNB}{4-Dicarboxy-2-nitrobenzyl} \nomenclature[Aacn]{ACN}{Acetonitril} \nomenclature[Nnb]{NB}{2-Nitrobenzyl} \nomenclature[Ddmnb]{DMNB}{4,5-Dimethoxy-2-nitrobenzyl} \nomenclature[Mmdnb]{MDNB}{4,5-Methylendioxy-2-nitrobenzyl} \end{document}
Ggf. poste Deine .ilg-Datei.
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
Es funktioniert! Ich versuche gerade nachzuvollziehen was da passiert ist.
Den folgenden Befehl braucht man also nur ein Mal um die mynomencl.ist auszugeben:
Wobei mir
die Gruppe "Symbole" erstellt wird und in der Präfix mit 1 zugewiesen wird.
Wenn ich nun also eine weitere Gruppe einfügen möchte, müsste ich folgende Befehlszeile in der mynomencl.ist hinzufügen:
Und mit dem folgenden Befehl fügt er die Gruppenüberschriften ein:
Vielen Dank für deine Hilfe, alleine wäre ich da nie drauf gekommen
Den folgenden Befehl braucht man also nur ein Mal um die mynomencl.ist auszugeben:
\begin{filecontents}{mynomencl.ist} keyword "\\nomenclatureentry" preamble "\\begin{thenomenclature} \n"% postamble "\n\n\\end{thenomenclature}\n" group_skip "\n" delim_0 "" delim_1 "" delim_2 "" heading_prefix "\n \\nomgroup{" heading_suffix "}\n" headings_flag 1 symhead_positive "Symbole" \end{filecontents}
Wobei mir
heading_prefix "\n \\nomgroup{" heading_suffix "}\n" headings_flag 1 symhead_positive "Symbole"
Wenn ich nun also eine weitere Gruppe einfügen möchte, müsste ich folgende Befehlszeile in der mynomencl.ist hinzufügen:
heading_prefix "\n \\nomgroup{" heading_suffix "}\n" headings_flag 2 symhead_positive "Eine weitere Gruppe"
Und mit dem folgenden Befehl fügt er die Gruppenüberschriften ein:
\renewcommand{\nomgroup}[1]{% \item[\parbox{\nomlabelwidth}{\textbf{#1}}]~ }
Vielen Dank für deine Hilfe, alleine wäre ich da nie drauf gekommen