Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nomenclature - Stil umdefinieren mit \renewenvironment{\thenomenclature}

103 views
Skip to first unread message

arian

unread,
Jul 12, 2008, 8:30:25 PM7/12/08
to
Liebe LaTeX-Profis,

nun habe ich noch ein kleines Problem, mit dem ich mangels Erfahrung
leider nicht weiterkomme. Vielleicht kann mir ja einer von Euch
helfen.

Ich verwende das Paket nomenclature. Erfolgreich soweit (mit MikTeX,
über Winedt ausgeführt mit dvi->ps->pdf, zwischendurch wird makeindex
ausgeführt für diesen speziellen Index, wie in der Doku beschrieben).

Allerdings muss ich die Formatierung der Ausgabe verändern.
Insbesondere möchte ich, dass sich die Ausgabe durch
\printnomenclature nicht die Freiheit nimmt, ein schönes neues Kapitel
auf neuer Seite zu starten, sondern schlicht und einfach seinen Inhalt
preisgibt. Ohne Kapitelüberschrift. Vortexte, Nachtexte etc. kann man
alle schön einstellen, nur die Überschrift abschalten, das
funktioniert leider mal wieder nicht.

Ich habe nun auf Anregung der nomenclature Dokumentation versucht,
\thenomenclature umzudefinieren. Das würde wohl mein Problem lösen.
Dazu habe ich aus jener Doku die entsprechenden Zeilen kopiert und in
meinem Header ein \renewenvironment{\thenomenclature}{...} eingefügt.
Die Details entnehmt bitte dem Minimalbeispiel, das ansonsten
funktioniert und basierend auf der schönen Paketdoku erstellt wurde.

Und da hakt es. Es ist das erste mal, dass ich ein Environment neu zu
definieren versuche... und ich scheine einen Fehler zu machen. Wäre
große Klasse, wenn Ihr mir helfen könntet.
Die Doku zum Paket liegt unter: ftp://ftp.dante.de/tex-archive/macros/latex/contrib/nomencl/nomencl.pdf
Der betreffende Codeabsatz wird dokumentiert auf S. 20 unten.

Minimalbeispiel:
_______________________
\documentclass{article}
\usepackage{nomencl}
\renewenvironment{\thenomenclature}{{%
\@ifundefined{chapter}%
{
\section*{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\fi%
}%
{
\chapter*{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\fi%
}%

\nompreamble
\list{}{%
\labelwidth\nom@tempdim
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\itemsep\nomitemsep
\let\makelabel\nomlabel}}
\def\endthenomenclature{%
\endlist
\nompostamble}}


\makenomenclature
\makeindex
\begin{document}
\nomenclature{$A$}{The area of the needle point}%
follows easily.
\printnomenclature
\end{document}
___________________________
Viele Grüße

Arian

Paul Ebermann

unread,
Jul 14, 2008, 6:06:48 AM7/14/08
to
"arian" skribis:

> Ich habe nun auf Anregung der nomenclature Dokumentation versucht,
> \thenomenclature umzudefinieren. Das würde wohl mein Problem lösen.
> Dazu habe ich aus jener Doku die entsprechenden Zeilen kopiert und in
> meinem Header ein \renewenvironment{\thenomenclature}{...} eingefügt.
> Die Details entnehmt bitte dem Minimalbeispiel, das ansonsten
> funktioniert und basierend auf der schönen Paketdoku erstellt wurde.
>
> Und da hakt es. Es ist das erste mal, dass ich ein Environment neu zu
> definieren versuche... und ich scheine einen Fehler zu machen.

Ja, renewenvironment funktioniert leicht anders:

\renewenvironment{thenomenclature}{Anfang-Code}{Ende-Code}

(Das heisst, ohne \, und mit End-Code.)
Oder (ohne \renewenvironment):

\def\thenomenclature{Anfang-code}
\def\endthenomenclature{Ende-Code}

(Die beiden Varianten sind aequivalent, die erste ueberprueft
nur, dass die Umgebung schon existiert.)

Und ausserdem brauchst du ein \makeatletter ... \makeatother
drumrum, damit TeX nicht ueber die @ in Kommandonamen stolpert.


Gruesse
Paul (der auch vor ein paar Tagen thenomenclature umdefiniert
hat)
--
Nun ludigxas: : ()

arian

unread,
Jul 14, 2008, 7:57:28 AM7/14/08
to
Wunderbar. Vielen Dank für die Hilfe, insbesondere vielen Dank für den
Tipp \makeatletter und \makeatother zu verwenden. :-) Wieder etwas
gelernt.
Es funktioniert jetzt genauso wie ich das wollte :-)
0 new messages