PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nomenclatur



Piola-Kirchhoff
09-12-2005, 08:50
Hallo.

Da ich mir meine Frage über die Suchfunktion nicht selbst beantworten konnte und auch im web nichts gefunden hab, würde es mich freuen, wenn
mir jemand helfen könnte.

Für meine Doktorarbeit muss ich eine Nomenclatur erstellen.
Wie ich hier an einigen Stellen gelesen habe, muss man dazu irgendwie
kompilieren, danach irgendwelche Dateien ändern und anschliessend
neu kompillieren.....

Genau das ist der Punkt, den ich nicht begreife.

Es wäre sehr nett wenn jemand mal den Ablauf beschreiben könnte,
wie eine Nomenclatur erstellt wird - am besten in Schritten.

Ein Minimalbeispiel hierzu wäre auch nicht schlecht.

Wenn jemand dazu schon Doku's hat wäre das auch sehr gut.


Für die Mühe bedanke ich mich jetzt schon :rolleyes:

rais
10-12-2005, 02:01
Hallo und Herzlich Willkommen,
mein nomencl-Paket ist zwar schon etwas älter - wenn dieses Beispiel bei Dir eine Fehlermeldung der Art "undefined control sequence: \makeglossary" hervorrufen sollte, dann hast Du vermutlich bereits die aktuellere Version. In dem Fall ersetze bitte
\makeglossary -> \makenomenclature
\printglossary -> \printnomenclature
datei.glo -> datei.nlo und
datei.gls -> datei.nls


\documentclass{scrreprt}
\usepackage{nomencl}
\makeglossary
\begin{document}
\chapter{Bla}
Dies ist ein MB\nomenclature{MB}{Minimalbeispiel} bla bla
\printglossary
\end{document}

zum Ablauf:

latex datei.tex
makeindex datei.glo -s nomencl.ist -o datei.gls
(bzw. makeindex datei.nlo -s nomencl.ist -o datei.nls)
latex datei.tex
latex datei.tex

Durch den \makeglossary (bzw. \makenomenclature) Aufruf werden die \nomenclature - Befehle im ersten LaTeX-Lauf gesammelt und in die Datei datei.glo (.nlo) geschrieben.
Der \printglossary (\printnomenclature) Aufruf will nun seine Liste - dem \tableofcontents vom Ablauf her nicht unähnlich - aus der Datei datei.gls (.nls) seine Daten beziehen - die muß aber erst erzeugt werden... und das geschieht im zweiten Schritt mit dem makeindex-Befehl, der so etwa lautet: nimm die unsortierte Liste aus datei.glo (.nlo), sortiere sie nach dem Stil nomencl, und pack das Ergebnis in datei.gls (.nls)
Im nächsten LaTeX-Lauf wird dann die nun vorhandene Liste auch eingebunden.
Der folgende LaTeX-Lauf ist meist für korrekte Referenzierung unumgänglich, so er in diesem Beispiel eigentlich überflüssig ist.
Anstatt latex kannst Du natürlich auch pdflatex für die direkte pdf-Ausgabe verwenden.

Übrigens:
Die Doku zum nomencl-Paket solltest Du auf Deiner Kiste haben, idR unter ...texmf/doc/latex/nomencl/nomencl.dvi bzw. pdf, also vermutlich unter /usr/share/...
einfach mal ein

find /usr/share/texmf -name "*.dvi" -print | less bzw. mit "*.pdf" wagen;)

MfG,

Piola-Kirchhoff
12-12-2005, 08:36
Hallo rais,

besten Dank für deine Ausführung.
Funktioniert bestens!

War ja doch einfacher, als ich dachte.

Eine kleine Frage habe ich noch:
Kann man die Überschrift "Nomenclature" vielleicht noch in "Nomenklatur"
ändern?
Ist wirklich nicht so wichtig - rein interessehalber :)

rais
12-12-2005, 16:15
Gern geschehen:)


\renewcommand{\nomname}{was-auch-immer}

am Besten gleich nach \begin{document} einfügen (sonst kann's von z.B. babel wieder umgeschrieben werden, wenn's normal in der Präambel steht).
Eine Übersicht für die ganzen Namen findest Du auch in der l2tabu in Tabelle2 - nomname ist da allerdings nicht dabei, weil dieser erst durch das nomencl-Paket definiert wird.
MfG,

Piola-Kirchhoff
13-12-2005, 06:44
Danke rais,

auch das klappt wunderbar.

Vielleicht kann ich aber doch noch eine Frage stellen:

Der Befehl \nomenclature{} ist ziemlich lang.
Kann man ihn nicht umformulieren z.B. nach \nc{}.
Ich habe sowas schon im Forum gesehen - finde es nur nicht wieder. :cool:

Grüsse

rais
13-12-2005, 08:42
Moin moin,
klar geht das;)


\let\nc\nomenclature

dürfte das Einfachste sein. Alternativ hieße das in etwa


\newcommand{\nc}[3][a]{\nomenclature[#1]{#2}{#3}}

In beiden Fällen kann dann \nc alternativ zu \nomenclature benutzt werden - es sei denn natürlich, ein anderes Paket hat \nc bereits definiert, weshalb die untere Methode die sicherere der beiden ist, da es dann wenigstens eine Fehlermeldung gibt. Nichtsdestotrotz findet sich häufig die obere Alternative (meist mit \abbrev o. Ä.), da sie wesentlich einfacher zu merken ist (man braucht sich schließlich nicht um die Parameterliste zu kümmern) - hat aber wie gesagt den Haken, daß ein etwaiger bereits bestehender \nc (mit völlig anderer Bedeutung) überschrieben werden kann.
MfG,

Piola-Kirchhoff
13-12-2005, 09:55
Jo, klappt auch. :)

Vielen Dank rais.

Ich denke, das war es ersteinmal.....

rais
13-12-2005, 10:03
Gern gescheh'n:)
By the way... nice sig:D
MfG,