PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Symbolverzeichnis mit nomencl



poggy
03-07-2009, 10:34
Hallo,
nach ein wenig rumprobieren habe ich es geschafft mir ein Symbolverzeichnus anzulegen, aber eine Sache möchte ich gern ändern. Wie in anderen Verzeichnissen möchte ich auch Punkte im Leerraum des Verzeichnisses stehen haben. Jedoch füllt in meinem Dokument der Befeal \dotfill nicht den ganzen Raum aus. Muss ich ihn an eine andere Position setzen? Oder gibt es eine andere Lösung?
Hier das Kurzbeispiel:

\documentclass{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{mathtools}
\usepackage{units}

%Paket für das Symbolverzeichnis
\usepackage[intoc]{nomencl}
\def\mydotfill{%
\leaders\hbox to 0.80em{.\hss}\hfill}
\setlength{\nomlabelwidth}{.168\hsize}
\renewcommand{\nomlabel}[1]{\hspace*{1.5em}#1}
\setlength{\nomitemsep}{-\parsep}
\renewcommand{\nomname}{Symbolverzeichnis}
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\mydotfill\hspace{\fil l}#1}}
\makenomenclature


\begin{document}
bla bla bla
\clearpage
\nomenclature{$Name$}{Definition \nomunit{in \lbrack Einheit\rbrack}}
\printnomenclature
\end{document}

Gruß
Poggy

rais
03-07-2009, 11:01
Moin moin,

Wie in anderen Verzeichnissen möchte ich auch Punkte im Leerraum des Verzeichnisses stehen haben. Jedoch füllt in meinem Dokument der Befeal \dotfill nicht den ganzen Raum aus. Muss ich ihn an eine andere Position setzen? Oder gibt es eine andere Lösung?

wozu noch \hspace{\fill}?


\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\mydotfill#1}%
}

BTW: Dein \clearpage sorgt hier dafür, daß der \nomenclature-Befehl auf einer leeren Seite ist und damit quasi wirkungslos (jedenfalls bei mir).

Und nutze bitte die Code-Umgebung hier im Forum, dafür ist sie da.

MfG

poggy
03-07-2009, 11:37
Danke für die schnelle Antwort.
Gute Frage ich hatte den Befehl aus der nomencl Pdf kopiert und versucht ihn so zu ändern das er noch Punkte in den Leerraum macht. Aber du hast recht ohne \hfill funktioniert es dann.
\clearpage war sicherlich der falsche Befehl, ich wollte eigentlich nur eine neue Seite anfangen. Wahrscheinlich trifft \newpage es dann besser.
Und da ich neu in diesem Forum bin hab ich das mit der Code-Umgebung nicht gesehen. Aber ich gelobe Besserung.
Hier der veränderte und nun funktionierende Code:


\documentclass{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{mathtools}
\usepackage{units}

%Paket für das Symbolverzeichnis
\usepackage[intoc]{nomencl}
\def\mydotfill{%
\leaders\hbox to 0.80em{.\hss}\hfill}
\setlength{\nomlabelwidth}{.168\hsize}
\renewcommand{\nomlabel}[1]{\hspace*{1.5em}#1}
\setlength{\nomitemsep}{-\parsep}
\renewcommand{\nomname}{Symbolverzeichnis}
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\mydotfill #1}}
\makenomenclature

\begin{document}
bla bla bla
\newpage
\nomenclature{$Name$}{Definition \nomunit{in \lbrack Einheit\rbrack}}
\printnomenclature
\end{document}


Vielen Dank nochmal
Gruß
Poggy

rais
03-07-2009, 12:02
Moin moin,


\clearpage war sicherlich der falsche Befehl, ich wollte eigentlich nur eine neue Seite anfangen. Wahrscheinlich trifft \newpage es dann besser.

funktioniert Dein Minimalbeispiel denn so bei Dir? Und wozu die neue Seite? \nomenclature erzeugt eh keinen Text auf der aktuellen Seite und \printnomenclature fängt von sich aus eine neue (rechte) Seite an, der verwendeten Klasse sei Dank.;-)

MfG

poggy
03-07-2009, 12:14
Hi,
ja es funktioniert jetzt wie gewünscht. Den Befehl hab ich aus meinem Dokument übernommen, denn bei mir hat der Befehl \printnomenclature nicht auf einer neuen rechten Seite sondern auf einer linken Seite angefangen. Daher hab ich dann \cleardoublepage eingefügt.
Gruß Poggy