PDA

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



xinurm
05-11-2013, 20:54
Hallo Zusammen,
ich möchte ein Symbolverzeichnis mit dem nomencl-Paket als longtable erstellen, wie es im Abschnitt 5.3 der nomencl-Doku (Using a Long Table instead of a List) erläutert ist.
Ich möchte die drei Spalten Symbol, Beschreibung und Einheit mit diesen jeweiligen Überschriften (jeweils fett) haben.
Funktioniert. Leider siehts nicht ao aus wie ich es haben will (s. Bild, Anhang):
1. Breite der Beschreibung-Spalte soll begrenzt werden, wenn zu lang, dann Seitenumbruch
2. Einheiten sollen rechtsbündig untereinander stehen

Also zuerst:


item_0 ""
delim_t " \\\\\n"

in nomencl.ist einfügen, dann das makeindex-Gedöns durchlaufen lassen, anschließend den folgenden Code erstellen:


\documentclass[a4paper]{scrreprt}


%---Paketeinbindung--------------------
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage[german]{nomencl}
\usepackage{color}
\usepackage{colortbl}
\usepackage{longtable}


\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}}
\makeatletter
\def\@@@nomenclature[#1]#2#3{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @{\nom@verb\@tempa}&%
\begingroup\nom@verb\@tempb\protect\nomeqref{\thee quation}%
|nompageref}{\thepage}}%
\endgroup
\@esphack}
\def\thenomenclature{%
\@ifundefined{chapter}{\section*}{\chapter}{\nomna me}%
\nompreamble
\begin{longtable}[l]{@{}ll@{}}}
\def\endthenomenclature{%
\end{longtable}%
\nompostamble}
\makeatother
\makenomenclature

\begin{document}

\nomenclature[0]{\textbf{Symbol}}{\textbf{Beschreibung}\nomunit{\t extbf{Einheit}}}
\printnomenclature

\end{document}

%
% EOF
%

Symbole einfügen:


\nomenclature{$\lambda{}(t)$}{Ausfallrate\nomunit{[fit]}}
\nomenclature{$k_{\mathrm{SP}}$}{Größe des Zählpunkt-Sendespools\nomunit{[B]}}

Vermute mal, dass es über eine Veränderung der Zeilen


\renewcommand{\nomentryend}{\hspace*{\fill}#1}}

und


\begin{longtable}[l]{@{}ll@{}}}

werden könnte, aber wie müssen diese angepasst werden?
Wer kann mir helfen?
Vielen Dank

Gruß

XiNurM

klops
06-11-2013, 07:10
Nur ein paar Hinweise, keine fertige Lösung:

Mit einer zweispaltigen Tabelle wird das schwierig. Immerhin den Umbruch innerhalb der Tabellenzelle könnte man mit einer X-Spalte erreichen. Dazu müsste man beispielsweise ltxtable verwenden, um tabularx mit longtable zu vereinen. Die dritte Spalte bekommt man eventuell irgendwie über Umdefinierung von \nounit und \noentryend hingetrickst. Da müsste ich aber erst einmal gründlich experimentieren, wozu mir heute morgen die Zeit fehlt.

Einfacher dürfte das ganze mit glossaries statt nomencl werden. Dort gibt es auch mehrspaltige Darstellungen.

xinurm
06-11-2013, 17:57
Ok, wenn das mit dem Zeilenumbruch schwierig wird, lass Ich das und versuche kurze Beschreibungen zu verwenden. Aber wie siehts mit
damit aus die Einheiten nach rechts zu schieben? Mit dem fill scheint's ja net zu funzen?!

klops
06-11-2013, 18:14
Für den Umbruch kannst Du notfalls statt einer X-Spalte auch eine p-Spalte verwenden. Dass in l-Spalten kein Umbruch möglich ist, sollte in jeder LaTeX-Einführung zu finden sein. In l-Spalten funktioniert (im Gegensatz zu p-Spalten) auch kein \hfill. Aber, warum nimmst Du nicht glossaries? Zur glossaries-Anleitung gehören auch jede Menge Beispiele mit unterschiedlichen Darstellungen.

xinurm
06-11-2013, 19:35
Also wie gesagt, ich möchte nur noch die Einheiten untereinander oder rechtsbündig. In
http://www.mrunix.de/forums/archive/index.php/t-38774.html
steht, dass dafür das Paket colortbl verantwortlich ssei. Das brauche ich aber unbedingt.

xinurm
09-11-2013, 10:01
Keiner? :(

klops
09-11-2013, 14:50
Verwendest Du denn inzwischen X- oder p-Spalte, wie von mir angemerkt?

xinurm
11-11-2013, 18:04
Hallo klops, es hat tatsächlich mit der p-Spalte gefunzt. Vielen Dank dafür.

xinurm
17-11-2013, 15:25
wie kann ich noch die Abstände zwischen den einzelnen Einträgen vergrößern? Also die vertikalen?
Danke.

Grüße

Xi

klops
17-11-2013, 16:00
Schon \arraystretch probiert?

Im Zweifelsfall kann man natürlich auch bei delim_t das optionale Abstandargument von \\ mit einfügen. Ich würde aber erst einmal \arraystretch probieren.

xinurm
19-11-2013, 17:47
Juhu, das funzt.
Vielen Dank klops.