PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zwei Verzeichnisse mit nomenclature im Anhang numerieren



surfdude
10-06-2010, 16:45
Hallo,

habe mir aus einem anderen Thread hier das geklaut (erstellt zwei Abkürzungsverzeichnisse):


\documentclass[12pt,a4paper]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german]{babel}
\usepackage[intoc]{nomencl}
\usepackage{ifthen}
\makenomenclature
\begin{document}
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\tableofcontents
\chapter{Test}
Ein MB\nomenclature{MB}{Minimalbeispiel} eignet sich \emph{bestens} dazu, anderen eigene Probleme zu übermitteln bzw.\nomenclature{bzw.}{beziehungsweise} eine Lösung zu einem spezifischem Problem im Forum zu posten\dots
Ein Symbol koennte so aussehen: $\eta$\nomenclature[s]{$\eta$}{wieder mal griechisch\dots}

Es bleibt trotzdem ratsam, zunächst die FAQ\nomenclature{FAQ}{Frequently Asked (\& answered) Questions} zu konsultieren.

\appendix
\nomenclature[r]{}{\protect\chapter*{\protect\hspace*{-\nomlabelwidth}Symbolverzeichnis}\protect\markboth {Symbolverzeichnis}{Symbolverzeichnis}\protect\add contentsline{toc}{chapter}{Symbolverzeichnis}}\pri ntnomenclature
\end{document}

Dazu nun zwei Fragen: was genau bewirkt der Parameter [r], konnte dazu nichts in der Doku finden?

Und wie schaffe ich es, dass Abkürzungs- und Symbolverzeichnis wie die anderen Anhänge mit Großbuchstaben numeriert werden?

Danke.

lockstep
10-06-2010, 16:55
Und wie schaffe ich es, dass Abkürzungs- und Symbolverzeichnis wie die anderen Anhänge mit Großbuchstaben numeriert werden?

Ungetestet (und nein, ich weiß nicht, was [r] tut):



\appendix
\nomenclature[r]{}{\protect\chapter{Symbolverzeichnis}%
\protect\markboth{Symbolverzeichnis}{Symbolverzeic hnis}}
\printnomenclature


lockstep

surfdude
10-06-2010, 17:26
Das Symbolverzeichnis hat jetzt einen vorgestellten Großbuchstaben, die Überschrift ist allerdings zu weit rechts verglichen mit anderen Anhängen.
Dem Abkürzungsverzeichnis fehlt allerdings weiterhin die Numerierung mit Großbuchstaben.

u_fischer
10-06-2010, 17:32
Dazu nun zwei Fragen: was genau bewirkt der Parameter [r], konnte dazu nichts in der Doku finden?

Dann sind dein Suchfähigkeiten nicht sonderlich gut.

\nomenclature:
The main command of the nomencl package has the following syntax:
\nomenclature[prefix]{symbol}{description}
where prefix is used for fine tuning the sort order, ....

surfdude
10-06-2010, 17:41
Das hab ich schon gelesen. Aber war noch nicht ganz durchgestiegen. Habe jetzt nochmal rumgespielt und folgendes ist klar geworden:
Meine Einträge mit prefix "x..." werden ins Symbolverzeichnis gelegt (x>r, ist klar). So soll es sein.
Dann wiederum habe ich Einträge ohne prefix, die werden ins Abkürzungsverzeichnis gepackt, auch wenn sie z.B. mit "u..." anfangen (wobei eigentlich u>r).
Heißt also, dass Einträge ohne prefix IMMER ins Abkürzungsverzeichnis kommen und diese mit prefix >r ins Symbolverzeichnis eingebunden werden. prefix ≺r landet im Abkürzungsverzeichnis, allerdings hinter den Einträgen ohne prefix.
Das hat mich etwas verwirrt. Aber jetzt ist etwas Licht in die Sache gekommen.

lockstep
10-06-2010, 18:25
Habe mir mal den von dir erwähnten "anderen Thread" angesehen (wenn es dieser (http://mrunix.de/forums/showthread.php?t=42536) ist) - wirklichen Durchblick habe ich keinen, aber ein paar Vorschläge.

Überschrift weiter nach links im Symbolverzeichnis könnte (!) so funktionieren:



\appendix
\nomenclature[r]{}{\protect\chapter{%
\protect\hspace*{-\nomlabelwidth}Symbolverzeichnis}%
\protect\markboth{Symbolverzeichnis}{Symbolverzeic hnis}}
\printnomenclature

Modifikation des Abkürzungsverzeichnisses klappt bei mir folgendermaßen - einzufügen nach \usepackage{nomencl}:



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


Wenn das zusammen nicht funktioniert, solltest du deine Hoffnung eher darauf setzen, dass rais dir zu Hilfe kommt.

lockstep

surfdude
11-06-2010, 10:10
Danke, funktioniert aber leider nicht wie gewünscht.

Der erste Code rückt zwar die Überschrift nach links, die Numerierung ("A") jedoch nicht, siehe Bild 1. Wie das ganze im Inhaltsverzeichnis aussieht, Bild 2.

Der zweite Code numeriert das Abkürzungsverzeichnis korrekt, allerdings taucht es jetzt ein zweites mal im Inhaltsverzeichnis auf, siehe Bild 2.

lockstep
11-06-2010, 10:59
Der erste Code rückt zwar die Überschrift nach links, die Numerierung ("A") jedoch nicht

Hatte ich fast befürchtet. Tut mir leid, hier musst du auf rais oder sonstige Gurus hoffen.


Der zweite Code numeriert das Abkürzungsverzeichnis korrekt, allerdings taucht es jetzt ein zweites mal im Inhaltsverzeichnis auf

Hier eine verbesserte Lösung:



\usepackage{etoolbox}
\makeatletter
\patchcmd{\thenomenclature}{%
\chapter*{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\ fi%
}{%
\chapter{\nomname}
}{}{}
\makeatother


lockstep

surfdude
11-06-2010, 11:20
Super, das Inhaltsverzeichnis passt jetzt. Danke!

Dann hoffe ich mal, dass noch einer der "Gurus" was zur eingerückten Überschrift des Symbolverzeichnisses weiß.

lockstep
11-06-2010, 11:48
Eine Idee hätte ich noch: Klappt dieser (http://mrunix.de/forums/showpost.php?p=210422&postcount=29) spätere Vorschlag von rais bei dir? Wenn ja, was passiert, wenn du dort (wiederum unmittelbar nach \usepackage{nomencl}) meinen Codeschnipsel einfügst?

lockstep

EDIT: Funktioniert. :D

surfdude
11-06-2010, 12:19
EDIT: Funktioniert. :D

Ähm jetzt bin ich überfordert... hab versucht, es umzusetzen, jetzt ist das Symbolverzeichnis ganz weg.

Könntest du bitte mal den Quelltext von deinem Versuch posten?
Welchen Codeschnipsel meintest du? Den mit etoolbox?

Danke für deine Mühen!

lockstep
11-06-2010, 12:37
Nimm den späteren Code von rais und füge meinen etoolbox-Codeschnipsel ein. Vergiss nicht, nach dem ersten LaTeX-Lauf MakeIndex gemäß nomencl-Doku laufen zu lassen, also



makeindex (filename).nlo -s nomencl.ist -o (filename).nls


lockstep

surfdude
11-06-2010, 14:21
Mannometer, das war eine schwere Geburt... aber nach fast zwei Stunden geht es. Ausrichtung sitzt! Danke :D

Nun hab ich noch ein kleines Sortierungsproblem, aber dazu mehr morgen. Jetzt steht erstmal die WM auf dem Stundenplan :p

surfdude
13-06-2010, 15:56
Das Problem hab ich nun auch gelöst bzw. "umgangen".

Danke an lockstep für die Unterstützung hier! ;)

surfdude
21-06-2010, 17:13
Muss jetzt doch nochmal nachhaken.

Folgendes Beispiel:


\documentclass[12pt,a4paper]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german]{babel}
\usepackage[intoc]{nomencl}
\makenomenclature

\begin{document}
\chapter{Test}
Ein MB\nomenclature{MB}{Minimalbeispiel} eignet sich \emph{bestens} dazu, anderen eigene Probleme zu übermitteln bzw.\nomenclature{bzw.}{beziehungsweise} eine Lösung zu einem spezifischem Problem im Forum zu posten\dots
Ein Symbol koennte so aussehen: $\eta$\nomenclature[s]{$\eta$}{wieder mal griechisch\dots},
$\dot{V}$\nomenclature[$V$]{$\dot{V}$}{Volumenstrom}, $V$\nomenclature[V]{$V$}{Volumen},
$\dot{m}$\nomenclature[m]{$\dot{m}$}{Massenstrom}, $\dot{f}$\nomenclature[s]{$\dot{f}$}{Fluidstrom}

Es bleibt trotzdem ratsam, zunächst die FAQ\nomenclature{FAQ}{Frequently Asked (\& answered) Questions} zu konsultieren.

\appendix
\nomenclature[r]{}{\protect\chapter*{\protect\hspace*{-\nomlabelwidth}Symbolverzeichnis}\protect\markboth {Symbolverzeichnis}{Symbolverzeichnis}\protect\add contentsline{toc}{chapter}{Symbolverzeichnis}}\pri ntnomenclature
\end{document}

Es werden zwei Verzeichnisse erstellt, aber die Sortierung passt nicht.
Wie bekomme ich im Symbolverzeichnis zuerst alle griechischen Buchstaben, dann die lateinischen (egal ob mit oder ohne Punkt drauf)?
Also in dieser Reihenfolge: eta, f Punkt, m Punkt, V, V Punkt.

Wie würde ich es schaffen, f Punkt zwischen FAQ und MB einzureihen?

rais
22-06-2010, 09:58
Moin moin,
ich gehe mal davon aus, daß Du auf das etwas betagtere Beispiel zurückgegangen bist, weil's kürzer ist -- ohne noprefix-Option sollte die Sortierung auch keinen Unterschied machen ...


Es werden zwei Verzeichnisse erstellt, aber die Sortierung passt nicht.
Wie bekomme ich im Symbolverzeichnis zuerst alle griechischen Buchstaben, dann die lateinischen (egal ob mit oder ohne Punkt drauf)?
Also in dieser Reihenfolge: eta, f Punkt, m Punkt, V, V Punkt.

Das s mußt Du hier jedem Symbol beim optionalen Parameter voranstellen, etwa


Ein Symbol koennte so aussehen: $\eta$\nomenclature[s]{$\eta$}{wieder mal griechisch\dots},
$\dot{V}$\nomenclature[sV.]{$\dot{V}$}{Volumenstrom}, $V$\nomenclature[sV]{$V$}{Volumen},
$\dot{m}$\nomenclature[sm]{$\dot{m}$}{Massenstrom}, $\dot{f}$\nomenclature[sf]{$\dot{f}$}{Fluidstrom},
$\theta$\nomenclature[s]{$\theta$}{griechisch ein wenig weiter hinten}

Da das ziemlich viel Schreibarbeit (und damit auch fehleranfällig) ist, würde ich mir dafür ein, zwei Makros basteln, etwa


\makenomenclature
\newcommand*\symabk[3][s]{%
#2\nomenclature[#1#3]{#2}{#3}%
}
\newcommand*\symgreek[3][s]{%
#2\nomenclature[#1]{#2}{#3}%
}

und dann


Ein Symbol koennte so aussehen: \symgreek{$\eta$}{wieder mal griechisch\dots},
\symabk{$\dot{V}$}{Volumenstrom}, \symabk{$V$}{Volumen},
\symabk{$\dot{m}$}{Massenstrom}, \symabk{$\dot{f}$}{Fluidstrom},
\symgreek{$\theta$}{griechisch ein wenig weiter hinten}

Aber Achtung: \symabk sortiert hier nach der Beschreibung, nicht nach Symbol. Alternativ könntest Du vermutlich auch \symabk statt s ein t voranstellen lassen ...


Wie würde ich es schaffen, f Punkt zwischen FAQ und MB einzureihen?
so etwa


$\dot{f}$\nomenclature[afpunkt]{$\dot{f}$}{Fluidstrom},

sofern Du wie hier die voreingestellte prefix-Option verwendest und \nomprefix unverändert lässt, setzt \nomenclature zum Sortieren ein `a' vor den Sortierstring, wenn kein optionales Argument angegeben wird: `FAQ' wird demnach unter `aFAQ' einsortiert und `MB' unter `aMB' -- deshalb das `a' vorm `fpunkt'.;)

MfG

surfdude
22-06-2010, 10:20
Vielen Dank!!!