Anzeige:
Seite 1 von 9 123 ... LetzteLetzte
Ergebnis 1 bis 15 von 122

Thema: Zwei Verzeichnisse mit Nomenclature

  1. #1
    toehroeh
    Gast

    Zwei Verzeichnisse mit Nomenclature

    Hallo,
    ich bin gerade in der Endphase meiner diplomarbeit und stehe vor einem scheinbar unüberwindbaren Problem. Mein Symbolverzeichnis habe ich mit nomenclature erzeugt, hat wunderbar geklappt. Jetzt brauch ich allerdings noch ein Verzeichnis für meine Abkürzungen und ich habe null Ahnung wie ich mit nomenclature ein zweites Verzeichnis anlege.

    Der Vorschlag aus dem Forum mit der Partitionierung der Nomenclature geht bei mir nicht, da beide Verzeichnisse im Inhaltsverzeichnis und auf getrennten Seiten stehen müssen.

    Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet.

    Gruß,
    Martina

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Martina,
    Du könntest auf gloss umsteigen, wenn's denn nicht zu viel Arbeit macht - da sind mehrere Dateien zumindest vorgesehen.
    Oder Du könntest Dir behelfen, indem Du wie bei dem partitioniertem nomencl vorgehst, d.h. alle Symbole werden z.B. zusätzlich mit [s] ausgestattet, dann könntest Du etwa so:
    Code:
    \documentclass[12pt,a4paper]{scrreprt}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[german]{babel}
    \usepackage[intoc]{nomencl}
    \usepackage{ifthen}
    \makenomenclature
    \begin{document}
    \renewcommand{\nomname}{Abkürzungsverzeichnis}
    \tableofcontents
    \chapter{Test}
    Ein MB\nomenclature{MB}{Minimalbeispiel} eignet sich \emph{bestens} dazu, anderen eigene Probleme zu übermitteln bzw.\nomenclature{bzw.}{beziehungsweise} eine Lösung zu einem spezifischem Problem im Forum zu posten\dots
    Ein Symbol koennte so aussehen: $\eta$\nomenclature[s]{$\eta$}{wieder mal griechisch\dots}
    
    Es bleibt trotzdem ratsam, zunächst die FAQ\nomenclature{FAQ}{Frequently Asked (\& answered) Questions} zu konsultieren.
    \nomenclature[r]{}{\protect\chapter*{\protect\hspace*{-\nomlabelwidth}Symbolverzeichnis}\protect\markboth{Symbolverzeichnis}{Symbolverzeichnis}\protect\addcontentsline{toc}{chapter}{Symbolverzeichnis}}\printnomenclature
    \end{document}
    LaTeX dazu überreden, ein zweites Verzeichnis anzulegen. Den \hspace* mußt Du ggf. noch anpassen (oder kannst ihn gar weglassen), aber das brauchst Du ja nur einmal zu erledigen.
    getestet mit nomencl v4.2 (2005/09/22)
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    toehroeh
    Gast
    Funktioniert wunderbar. Vielen Dank

  4. #4
    toehroeh
    Gast

    Noch eine Frage zur Nomenclature

    So dank dem Tipp von rais ist meine Nomenclature jetzt fertig gebaut, allerdings bin ich mit der Sortierreihenfolge noch nicht ganz zufrieden.

    $G$ wird z.B. wo ganz anders eingeordnet wie $\vec{G})$, ich möchte aber das die hintereinander aufgelistet werden.

    Gibts da irgendwelche Möglichkeiten die Nomenclature zu manipulieren?

    Thanks,
    Martina

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Martina,
    da Du bereits den optionalen Parameter benutzt, um zwischen den Verzeichnissen zu wählen, könntest Du den auch erweitern, also z.B.
    \nomenclature[sg]{$G$}{..}, \nomenclature[sg]{$\vec{G}$}{..}
    Das hat aber den Haken, daß dann ein evtl. vorhandenes
    \nomenclature[s]{$H$}{..} dann _vor_ diesen beiden G's erscheint, d.h. da müsstest Du dann nochmal Hand anlegen und [s] durch [sh] ersetzen.
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer
    Registriert seit
    14.12.2005
    Ort
    Braunschweig
    Beiträge
    219
    Hallo!
    Ich hab das obere Beispiel auch ausprobiert und finde es SPITZE
    Nun hab ich nur noch das Probelm, dass ich das anpassen von hspace bzw vspace nicht ganz hinbekomme - sowohl horizontal, als auch vertikal passt der Abstand nicht

    bei mir steht gerade:
    Code:
    \nomenclature[r]{}{\protect\chapter*{\protect\hspace*{-\nomlabelwidth}\vspace*{-\topskip}Symbolverzeichnis}\protect\markboth{Symbolverzeichnis}{Symbolverzeichnis}\protect\addcontentsline{toc}{chapter}{Symbolverzeichnis}}
    Ich setz ja meine Chapterüberschriften mit dem Befehl
    Code:
    \renewcommand*{\chapterheadstartvskip}{\vspace*{-\topskip}}
    quasi an die Kopfzeile nach oben...

    was muss ich nun hier machen????? DANKE
    Geändert von oscarspatz (15-01-2006 um 23:32 Uhr)

  7. #7
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Marcus,
    ich hab das Ganze mal ein wenig erweitert
    Code:
    \documentclass[a4paper]{scrreprt}
    \usepackage[T1]{fontenc}
    \usepackage[latin1]{inputenc}
    \usepackage{amsmath,amssymb,nomencl,ifthen}
    \makenomenclature
    \newcommand{\nomaltname}{Symbole}
    \newcommand{\nomaltpreamble}{}
    \newcommand{\nomaltpostamble}{}
    \newcommand{\usetwonomenclatures}{\nomenclature[\switchnomitem]{}{}}
    \newcommand{\switchnomitem}{R}
    \renewcommand{\nomgroup}[1]{%
      \ifthenelse{\equal{#1}{\switchnomitem}}{\switchnomalt}{}}
    \newcommand{\switchnomalt}{%
    \end{thenomenclature}
    \renewcommand{\nomname}{\nomaltname}
    \renewcommand{\nompreamble}{\nomaltpreamble}
    \renewcommand{\nompostamble}{\nomaltpostamble}
    \begin{thenomenclature}
    }
    \begin{document}
    Ein MB\nomenclature{MB}{Minimalbeispiel} ist's gerade nicht geworden\dots
    ein Symbol \nomenclature[s]{$\eta$}{Wirkungsgrad}\dots
    \usetwonomenclatures
    \printnomenclature
    \end{document}
    Damit sollte die zweite Überschrift wie die erste gesetzt werden - und nicht mehr innerhalb einer List-Umgebung.
    Bei der intoc-Option für das nomencl-Paket tauchen dann auch beide Überschriften im TOC auf.
    Einen Haken hat das aber noch: das zweite Verzeichnis beginnt mit einem Leereintrag (dieser Leereintrag war vorher der letzte Eintrag im ersten Verzeichnis), also entweder, man nimmt den in Kauf und setzt einfach mit
    \nomenclature[a]{}{}
    auch so einen Leereintrag an den Beginn des ersten Verzeichnisses, d.h. eigentlich war der Beginn des zweiten Verzeichnisses ein Teil dieses "Leereintrags" - oder man läßt ihn gar nicht erst in die .nls-Datei, z.B.
    Code:
    latex foo.tex
    makeindex foo.nlo -s nomencl.ist -o dummy
    grep -v {} dummy > foo.nls
    latex foo.tex && latex foo.tex
    rm dummy
    makeindex schreibt dabei in eine (temporäre) Datei 'dummy', anschließend listet grep alle Zeilen der Datei 'dummy', die die Zeichenfolge '{}' _nicht_ (-v) enthalten, was Dank Ausgabeumleitung (>) in der Datei foo.nls dann gespeichert wird - und besagter Leereintrag enthält diese {} Zeichenfolge.
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  8. #8
    Registrierter Benutzer
    Registriert seit
    14.12.2005
    Ort
    Braunschweig
    Beiträge
    219
    Zitat Zitat von rais
    Hallo Marcus,
    ich hab das Ganze mal ein wenig erweitert
    was soll ich sagen und schreiben - bin sprachlos, es klappt und ist einfach
    S E N S A T I O N E L L....

    VIELEN, VIELEN DANK

    Zitat Zitat von rais
    makeindex schreibt dabei in eine (temporäre) Datei 'dummy', anschließend listet grep alle Zeilen der Datei 'dummy', die die Zeichenfolge '{}' _nicht_ (-v) enthalten, was Dank Ausgabeumleitung (>) in der Datei foo.nls dann gespeichert wird - und besagter Leereintrag enthält diese {} Zeichenfolge.
    MfG,
    Wenn mir das nun noch einer in Windows erbasteln könnte, wäre ich glücklich - ich habs nicht hinbekommen, weil "grep" ja eigentlich nen Befehl für unix ist....
    meine Bat-Datei sieht ja so aus:
    Code:
    @echo off
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\bibtex zentraldokument
    C:\Programme\Latex\miktex\bin\makeindex zentraldokument.idx -g -r -s meins.ist -o zentraldokument.ind
    C:\Programme\Latex\miktex\bin\makeindex zentraldokument.nlo -s nomencl.ist -o zentraldokument.nls
    HIER FEHLT DER GREP-BEFEHL
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\dvips -o zentraldokument.ps zentraldokument.dvi

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.12.2005
    Ort
    Braunschweig
    Beiträge
    219
    ich hab gegoogelt und bin auf Grep for Windows gestossen

    es klappt!!!!!!!

    es müssen nur zusätzlich noch die unten auf der HP angegebenen Pakete mit installiert werden....

    hier der CODE:
    @echo off
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\bibtex zentraldokument
    C:\Programme\Latex\miktex\bin\makeindex zentraldokument.idx -g -r -s meins.ist -o zentraldokument.ind
    C:\Programme\Latex\miktex\bin\makeindex zentraldokument.nlo -s nomencl.ist -o dummy
    c:\Programme\GnuWin32\bin\grep -v {} dummy >zentraldokument.nls
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\latex zentraldokument.tex
    C:\Programme\Latex\miktex\bin\dvips -o zentraldokument.ps zentraldokument.dvi
    del dummy
    Geändert von oscarspatz (21-01-2006 um 10:48 Uhr)

  10. #10
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo Marcus,
    ich mein', ich bin ja voll für grep, und es war ja auch schon spät (oder besser "schon wieder früh"?), aber hätte es unter windos nicht auch ein
    Code:
    find /V "{}" dummy > foo.nls
    für den entsprechenden grep getan?
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  11. #11
    Registrierter Benutzer
    Registriert seit
    14.12.2005
    Ort
    Braunschweig
    Beiträge
    219
    MANN RAINER!!!!!!
    Hätteste dich nicht mal früher dazu äussern können?????
    shit, JA DAS GEHT AUCH....
    und ich hau mir fast die ganze Nacht damit um die Ohren...

  12. #12
    Registrierter Benutzer
    Registriert seit
    29.03.2006
    Beiträge
    11
    Ich muss mich an dieser Stelle auch mal bedanken. Find die Möglichkeit die hier aufgezeigt wurde, wirklich spitze und benutz sie selber in meiner Diplomarbeit. Allerdings hab ich ein kleines Problem. Das normale Nomencl-Verzeichnis wird sauber alphabetisch sortiert, das Symbolverzeichnis leider nicht. Kann mir jemand verraten wie ich die Sortierung hin bekommen?

  13. #13
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    erstmal Herzlich Willkommen
    schau Dir bitte nochmal posts 4 & 5 hier im thread an
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  14. #14
    Registrierter Benutzer
    Registriert seit
    29.03.2006
    Beiträge
    11
    Wer lesen kann ist klar im Vorteil. Vielen Dank nochmal.

  15. #15
    Registrierter Benutzer
    Registriert seit
    29.03.2006
    Beiträge
    11
    Ich hab das Beispiel von Rais nochmal etwas erweitert, so dass nun insgesamt drei Verzeichnisse möglich sind

    \renewcommand{\nomname}{Abkürzungsverzeichnis mit Begriffserklärung}
    \makenomenclature
    \newcommand{\nomaltname}{Symbolverzeichnis zu Kapitel 4}
    \newcommand{\nomaltpreamble}{}
    \newcommand{\nomaltpostamble}{}
    \newcommand{\nomaltthreename}{Symbolverzeichnis zu Kapitel 3}
    \newcommand{\nomaltthreepreamble}{}
    \newcommand{\nomaltthreepostamble}{}
    \newcommand{\usetwonomenclatures}{\nomenclature[\switchnomitem]{}{}}
    \newcommand{\usethreenomenclatures}{\nomenclature[\switchnomitemthree]{}{}}
    \newcommand{\switchnomitem}{R}
    \newcommand{\switchnomitemthree}{B}
    \renewcommand{\nomgroup}[1]{%
    \ifthenelse{\equal{#1}{\switchnomitem}}{\switchnom alt}{}
    \ifthenelse{\equal{#1}{\switchnomitemthree}}{\swit chnomaltthree}{}}
    \newcommand{\switchnomalt}{%
    \end{thenomenclature}
    \newpage
    \lhead[]{SYMBOLVERZEICHNIS ZU KAPITEL 4}
    \renewcommand{\nomname}{\nomaltname}
    \renewcommand{\nompreamble}{\nomaltpreamble}
    \renewcommand{\nompostamble}{\nomaltpostamble}
    \begin{thenomenclature}
    }
    \newcommand{\switchnomaltthree}{%
    \end{thenomenclature}
    \newpage
    \lhead[]{SYMBOLVERZEICHNIS ZU KAPITEL 3}
    \renewcommand{\nomname}{\nomaltthreename}
    \renewcommand{\nompreamble}{\nomaltthreepreamble}
    \renewcommand{\nompostamble}{\nomaltthreepostamble }
    \begin{thenomenclature}
    }
    An der Stelle wo das Verzeichnis dann erscheinen soll, folgendes schreiben:

    \lhead[]{ABKÜRZUNGSVERZEICHNIS MIT BEGRIFFSERKLÄRUNG}
    \usetwonomenclatures
    \usethreenomenclatures
    \printnomenclature[4.0cm]
    Mit lhead lässt sich mit eingebundenem \usepackage{fancyhdr} die Kopfzeile abändern.

    Mit \nomenclature[D]{}{} wird in das Symbolverzeichnis zu Kapitel 3 geschrieben, mit \nomenclature[S]{}{} in das Symbolverzeichnis zu Kapitel 4

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •