PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sortierung bei Nomenclature



Oelle74
12-08-2009, 17:19
ich verwende das package Nomenclature zur erstellung eines symbolverzeichnisses. gibt's eine möglichkeit, dass die einträge nicht nach der ersten, sondern nach der 2. spalte (text) sortiert werden?

danke!

rais
12-08-2009, 21:40
Moin moin,

ich verwende das package Nomenclature zur erstellung eines symbolverzeichnisses. gibt's eine möglichkeit, dass die einträge nicht nach der ersten, sondern nach der 2. spalte (text) sortiert werden?

nun ja, ein Paket namens ``Nomenclature'' kenn' ich nich' (und gibt's derzeit auch nicht auf CTAN) -- ein Minimalbeispiel Deinerseits hätte etwaigen Misverständnissen vorbeugen können und wohlmöglich sogar demonstrieren können, warum Du diese etwas, hmm, eigenartige Sortierung verlangst; nicht zu sagen, daß das Fehlen eines solchen Minimalbeispiels Dir vllt die bisherige ``Flut'' an Antworten klärt -- solltest Du stattdessen das nomencl-Paket gemeint haben: klar geht das;-)


\documentclass{article}
\usepackage[noprefix]{nomencl}
\makenomenclature
\let\nomenclatureorig\nomenclature
\renewcommand*\nomenclature[3][\empty]{%
\ifx#1\empty
\nomenclatureorig[#3]{#2}{#3}%
\else
\nomenclatureorig[#1]{#2}{#3}%
\fi
}
\begin{document}
bla% ohne Text kein \nomenclature...
\nomenclature{a}{Versuch macht kluch}
\nomenclature{b}{Ein anderer Eintrag}
\nomenclature{c}{Irgendwie dazwischen\dots}
\nomenclature[a]{z}{Trotzdem ganz vorne}
\printnomenclature
\end{document}

PS) lass bitte Deine Shift-Taste kontrollieren ...

MfG

Oelle74
13-08-2009, 09:27
Hallo,

danke, die Sortierung funktioniert jetzt mal.
Ich würde aber gerne noch eine Unterteilung in 2 Gruppen machen.
Dazu habe ich folgenden u.a. Code:



\usepackage[refpage, german]{nomencl}

\let\symb\nomenclature
\renewcommand{\nomname}{Symbolverzeichnis}
\renewcommand{\pagedeclaration}[1]{, #1}

\RequirePackage{ifthen}
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{Z}}{\item[\textbf{Barwertfaktoren}]}}

\makenomenclature
\let\nomenclatureorig\nomenclature
\renewcommand*\nomenclature[3][\empty]{%
\ifx#1\empty
\nomenclatureorig[#3]{#2}{#3}%
\else
\nomenclatureorig[#1]{#2}{#3}%
\fi
}


Leider funktioniert nun die Sortierung nicht genau.
Hier 1 Beispiel, wie ich die Sortierung gerne hätte:


\nomenclature{$EW$}{Endwert}
\nomenclature[Z]{$BW1$}{Barwert1}
\nomenclature{$BW$}{Barwert}

Das Ergebnis sollte sein:


BW Barwert
EW Endwert

Barwertfaktoren
BW1 Barwert1


Danke,
mfG

Oelle74
13-08-2009, 11:03
Habe es schon selbst gelöst (vielleicht nicht das eleganteste, aber es bringt die gewünschte Lösung):



\makenomenclature
\let\nomenclatureorig\nomenclature
\renewcommand*\nomenclature[3][\empty]{%
\ifx#1\empty
\nomenclatureorig[#3]{#2}{#3}%
\else
\nomenclatureorig[#1#3]{#2}{#3}%
\fi
}

rais
13-08-2009, 22:14
Moin moin,

Habe es schon selbst gelöst (vielleicht nicht das eleganteste, aber es bringt die gewünschte Lösung):



\makenomenclature
\let\nomenclatureorig\nomenclature
\renewcommand*\nomenclature[3][\empty]{%
\ifx#1\empty
\nomenclatureorig[#3]{#2}{#3}%
\else
\nomenclatureorig[#1#3]{#2}{#3}%
\fi
}

sollte dann auch etwa so


\makenomenclature
\let\nomenclatureorig\nomenclature
\renewcommand*\nomenclature[3][]{%
\nomenclatureorig[#1#3]{#2}{#3}%
}
tun.

MfG