PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abkürzungsverzeichnis erscheint als Tabellenverzeichnis



Abraxas
14-08-2007, 11:48
Hallo zusammen!

Ich hab' schon ein bißchen im Forum gesucht, aber nix passendes gefunden. Folgender LaTeX-Code:

% Inhaltsverzeichnis
\tableofcontents
% Abbildungsverzeichnis
\listoffigures
% Tabellenverzeichnis
\listoftables
%Abkürzungsverzeichnis
\cleardoublepage
\addcontentsline{toc}{chapter}{Abkürzungsverzeichn is}
\printnomenclature

Wird auch soweit korrekt dargestellt - eine Abkürzung zum Testen hatte ich mal ins Dokument eingefügt.

In meinem Kolumnentitel erscheint allerdings jetzt auf der zweiten Seite des Abkürzungsverzeichnisses die Überschrift "Tabellenverzeichnis". In der PDF-Datei führt ein Klick auf Abkürzungsverzeichnis dann auch auf das Tabellenverzeichnis.

Weiß jemand zufällig, wie man sich mit LaTeX so ein Abkürzungsverzeichnis oder auch einen Glossar als eigenständige Rubrik korrekt und automatisch erstellen lassen kann?

Die Liste sollte dann ja auch alphabetisch sortiert sein.

Abraxas
15-08-2007, 10:44
Also gut, mein Abkürzungsverzeichnis funktioniert jetzt.

Auf http://www.danny4.de/archives/2005/02/25/latex-notizzettel-abkurzungsverzeichnis/ habe ich auch das passende Ausgabeprofil für TexNicCenter gefunden.

Mit dem Befehl
\usepackage[intoc]{nomencl} läßt sich das Abkürzungsverzeichnis auch ganz einfach ins Inhaltsverzeichnis aufnehmen. Den Befehl
\addcontentsline{toc}{chapter}{Abkürzungsverzeichn is} braucht man also gar nicht.

Allerdings habe ich in der Doku zum Paket keine Hinweise dafür gefunden, wie man den lebenden Kolumnentitel entsprechend anpassen kann. Wie gesagt, bei mir läuft das immernoch unter "Tabellenverzeichnis".

Kann mir da bitte jemand weiterhelfen?

countbela666
15-08-2007, 13:48
Allerdings habe ich in der Doku zum Paket keine Hinweise dafür gefunden, wie man den lebenden Kolumnentitel entsprechend anpassen kann.Dann sieh dir Seite 9 der Doku mal noch etwas genauer an... ;)

Grüße
Marcel

Abraxas
16-08-2007, 08:34
Danke Marcel - hab's jetzt doch gefunden:
\cleardoublepage
\markboth{\nomname}{\nomname}
\printnomenclature

Jetzt habe ich nur noch ein Problem. Auf Seite 14 der Doku - Punkt 5.5 - steht, wie man sein Glossar im "Kopka Stil" darstellen kann.

Ich habe den Code kopiert und in mein LaTeX-Dokument eingefügt:
\def\@@@nomenclature[#1]#2#3{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
\nompageref{\begingroup\nom@verb\@tempb\protect\no meqref{\theequation}}}%
{\thepage}}%
\endgroup
\@esphack}

\def\nompageref#1#2{%
\if@printpageref\pagedeclaration{#2}\else\null\fi
\linebreak#1\nomentryend\endgroup}

\def\pagedeclaration#1{\dotfill\nobreakspace#1}
\def\nomentryend{.}
\def\nomlabel#1{\textbf{#1}\hfil}

\let\abbrev\nomenclature Bei "nompageref{\begingroup\nom..." habe ich das Pipe-Zeichen am Zeilenanfang mal durch einen Backslash ersetzt.

Im Text sind die Abkürzungen folgendermaßen eingetragen:
\abbrev{CAN}{Controller Area Network - ein Bus-System, welches nach dem CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) Verfahren arbeitet.}

Allerdings erhalte ich nach Vorkompilieren und mehrmaligem "makeindex" und anschließendem nochmaligen Kompilieren, stets die Fehlermeldung:
! LaTeX Error: \begin{thenomenclature} on input line 1 ended by \end{document}.

Mit den Standardeinstellungen funktioniert aber alles problemlos...

Abraxas
17-08-2007, 07:18
...mit drei auskommentierten Zeilen, erscheint das Abkürzungsverzeichnis mit gepunkteter Linie und Seitenzahl am rechten Seitenrand. Allerdings werden die Erklärungen nicht in die Zeile darunter gesetzt.

\def\@@@nomenclature[#1]#2#3{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
|nompageref{\begingroup\nom@verb\@tempb\protect\no meqref{\theequation}}}%
{\thepage}}%
\endgroup
\@esphack}
%\def\nompageref#1#2{%
%\if@printpageref\pagedeclaration{#2}\else\null\fi
%\linebreak#1\nomentryend\endgroup}
\def\pagedeclaration#1{\dotfill\nobreakspace#1}
\def\nomentryend{.}
\def\nomlabel#1{\textbf{#1}\hfil}
Hinten im Text führt eine Anweisung der Form \abbrev{CAN}{Controller Area Network - ein Bus-System, welches nach dem CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) Verfahren arbeitet.} dazu, dass die Abkürzung CAN im Text fehlt.

Jemand eine Idee, woran das liegen könnte...?

countbela666
17-08-2007, 07:43
Bei mir funktioniert das von nomencl mitgelieferte Beispiel nur mit folgender Änderung:

\documentclass{scrartcl}
\usepackage{nomencl}
\makeatletter
\def\@@@nomenclature[#1]#2#3{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
|nompageref{\begingroup\nom@verb\@tempb\protect\no meqref{\theequation}}}%
{\thepage}}%
\endgroup
\@esphack}
\def\nompageref#1#2{%
% \if@printpageref\pagedeclaration{#2}\else\null\fi
\pagedeclaration{#2}
\linebreak#1\nomentryend\endgroup}
\def\pagedeclaration#1{\dotfill\nobreakspace#1}
\def\nomentryend{.}
\def\nomlabel#1{\textbf{#1}\hfil}
\makeatother
\makenomenclature
\begin{document}
\section*{Main equations}
\begin{equation}
a=\frac{N}{A}
\end{equation}%
\nomenclature{$a$}{The number of angels per unit area}%
\nomenclature{$N$}{The number of angels per needle point}%
\nomenclature{$A$}{The area of the needle point}%
The equation $\sigma = m a$%
\nomenclature{$\sigma$}{The total mass of angels per unit area}%
\nomenclature{$m$}{The mass of one angel}
follows easily.
\printnomenclature
\end{document}Grüße
Marcel

Abraxas
17-08-2007, 12:32
Hat geklappt - Danke Marcel!

Den Befehl \makeatother konnte ich auskommentieren. Ich habe nur das \makeatletter gebraucht.

Ich verstehe jetzt nur noch nicht, warum die Abkürzungen im Text nicht mehr im PDF angezeigt werden. An der Stelle, wo die Abkürzung steht, ist ein weißer Fleck....

sommerfee
17-08-2007, 12:39
Den Befehl \makeatother konnte ich auskommentieren. Ich habe nur das \makeatletter gebraucht.

Bitte immer beide Befehle verwenden. Es ist zwar richtig, daß man das \makeatother nicht zwingend braucht, weil es "nur" ein Schutz ist, der vor der unbedachten Verwendung oder gar Umdefinition von internen LaTeX-Befehlen schützen soll.

Aber auf diesen Schutz würde ich nicht verzichten wollen, genauso wenig wie auf einen Firewall, denn man ja auch nicht "braucht". ;)

Liebe Grüße,
Axel

Abraxas
18-08-2007, 14:33
Danke nochmal für eure Hinweise!

Die Abkürzungen vorne im Text werden allerdings immer noch nicht angezeigt. Immer, wenn ich irgendwo im Text etwas in der Form
\abbrev{CAN}{Controller Area Network} einfüge, wird zwar der Eintrag ins Verzeichnis aufgenommen, im Text selbst, wird aber nichts angezeigt.

Kann mir da wirklich niemand helfen? Ich habe auch schon eifrig im Netz gesucht. Die richtige Stelle habe ich aber noch nicht gefunden...

countbela666
18-08-2007, 22:17
Immer, wenn ich irgendwo im Text etwas in der Form
\abbrev{CAN}{Controller Area Network} einfüge, wird zwar der Eintrag ins Verzeichnis aufgenommen, im Text selbst, wird aber nichts angezeigt.:confused: Das ist das ganz normale Verhalten dieses Pakets, s. auch das Beispiel auf S. 4 der Doku. Wenn du ein verlinktes Glossar anstelle der Nomenklatur wünschst, solltest du dir vielleicht das gloss-Paket ansehen.

Grüße
Marcel

Abraxas
21-08-2007, 08:39
Mit dem gloss-Paket funktioniert das soweit ziemlich geil!

Jetzt muß ich das Glossar nur noch normgerecht zusammen mit meinem Literaturverzeichnis in den Anhang bringen (evtl. nochmal im Duden nachlesen). Bis jetzt klappt das mit den Überschriften noch nicht so ganz - wurde aber bestimmt schon gelöst, muß ich noch ein bißchen suchen.

Vielleicht finde ich dann auch noch eine Möglichkeit, das Layout von dem Glossar irgendwie so zu formatieren, daß die Seitenzahlen am rechten Seitenrand stehen - mit Punkten neben der Abkürzung - und die Erklärung eingerückt in der Zeile darunter steht (wie Kopka-Stil) - das kann aber erstmal warten.

Sobald ich was hab, werde ich's hier schreiben...