Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Symbolverzeichnis

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.10.2008
    Beiträge
    39

    Symbolverzeichnis

    Hallo zusammen,

    ich möchte ein Symbolverzeichnis in einem Vorlesungsskript erstellen.
    Dazu habe ich mir einiges über glossary, glossaries und nomenclature angesehen. Leider muss man da immer diesen makeindex machen.
    Gibt es eine Möglichkeit ohne makeindex auszukommen, so dass Latex das beim "normalen" kompilieren macht (ähnlich wie das Inhaltsverzeichnis)?
    Allerdings ohne den Editor umstellen zu müssen.

    Vielen Dank
    Kleeblatt

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    nein das wird nicht gehen, zumindest nicht mit sortierung der begriffe/symbole. du kannst natuerlich immer eine tabelle machen und dort seine symbole und erklaerungen eintragen.

    makeindex wird eben zur sortierung und fuer querverweise usw. benoetigt. schreckst du vor dem aufwand des einstellens zurueck oder was ist dein grund es nicht zu versuchen?

    gruss
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.10.2008
    Beiträge
    39
    Hey,

    ich schrecke davor zurück hier mehrere Editoren einzustellen, da jeder seinen eigenen bevorzugt und viele arbeiten hier an der Vorlesung und können gerade mal den Text eintragen und kompilieren. Das wars dann aber auch und ich bin für den Rest zuständig. Wenn ich aber mal nicht da bin und vor einer Vorlesung noch schnell was geändert werden muss, gibts ein Problem. Das würde ich gerne umgehen.
    Eine Tabelle per Hand erstellen sollte nur die allerletzte Notlösung sein.
    Ich hätte einfach gerne die Möglichkeit im Text bei den erklärten Symbolen einen Befehl eizugeben: \befehl{Symbol}{Erklärung} und das soll dann am Ende gesammelt werden. Ich brauche das im Text, damit wenn ein Kapitel gestrichen wird, diese Symbole dann auch nicht mehr aufgelistet werden.
    Im Prinzip sollte das doch einfach machbar sein, \section sammelt ja auch einfach alles der Reihenfolge nach im Inhaltsverzeichnis...

  4. #4
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    ich verstehe dein problem, aber betrachte mal folgendes.

    du fuehrst in der vorlesung variablen ein z.b.
    Code:
    \befehl{beta}{die beta variable}
    und dann im anschluss
    Code:
     \befehl{alpha}{die alpha variable}
    dann wuerde in einer liste die z.b. dem inhaltsverzeichnis oder abbildungsverzeichnis nachempfunden wird "beta" vor "alpha" stehen. deshalb wird ja eben makeindex zum sortieren der eintraege verwendet.

    wenn dir die sortierung egal ist und du die reihenfolge nach auftreten im text haben willst, dann gibt es pakete die erlauben neue listen zu erstellen (aehnlich denen von toc, lof lot,...)

    ansonsten bleibt nur der makeindex umweg bzw. wuerdest du das paket glossaries verwenden, dann muesste nur auf jedem rechner ein perl-interpreter sein und es koennte das mitgelieferte makeglossaries.pl script aufgerufen werden (dieses script nimmt alle noetigen makeindex aufrufe automatisch vor).
    PHP-Code:
    makeglossaries vorlesung 
    das per hand in der eingebeaufforderung einzugeben oder im editor einzurichten ist simpel und kann im akademischen umfeld sicher zugemutet werden (oder nicht?)

    gruss
    Mein Ball ist umgefallen

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.10.2008
    Beiträge
    39
    hm ok dann komm ich wohl nicht um makeindex drum herum...
    hier mein Code:


    \documentclass[12pt,twoside]{article}
    \usepackage{german,fancyhdr,float}
    \usepackage{eurosym}
    \usepackage[latin1]{inputenc}

    \usepackage{nomencl}
    \makenomenclature

    \begin{document}

    Das ist ein Test \nomenclature{\pi}{Kreiszahl}

    \printnomenclature
    \end{document}


    beim pdflatex compilieren kommt folgendes:
    Writing nomenclature file test2.nlo
    (test2.aux)
    No file test2.nls.

    und dann geht makeindex natürlich auch nicht:
    Couldn't find input index file test2 nor test2.idx.

    was mache ich falsch?

  6. #6
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    an deiner stelle wuerde ich nicht das nomencl paket verwenden. mit diesem stoesst du bald an dessen grenzen, vor allem wenn du dein verzeichnis in griechische und sonst was symbole unterteilen willst. das geht zwar auch, aber das paket glossaries kann das viel besser!

    dazu habe ich auch mal HIER was geschrieben. das scheit am anfang etwas viel zu sein, aber wenn man mal (in windows) ueber die perl huerde gesprungen ist, dann geht es in der folge ganz zuverlaessig.

    gruss
    Mein Ball ist umgefallen

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.10.2008
    Beiträge
    39
    hi,

    das ist nicht ganz das was ich will, ich möchte im Text (und nicht vor \begin{document}) die Einträge machen.

    Wenn ich dein Minimalbeispiel aber bei mir durchlaufen lasse, bekomme ich die sehr hilfreiche Meldung:
    No file test3.gls.
    STOP

    und nach makeindex:
    Nothing written in test3.ind.
    Transcript written in test3.ilg.
    STOP

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Im Prinzip ist nicht sonderlich schwierig auf makeindex zu verzichten und einfach deine Begriffe in eine Datei zu schreiben, und anschließend wieder einzulesen:

    Code:
    \documentclass{article}
    \usepackage[ansinew]{inputenc}
    \newwrite\mysymbols
    \immediate\openout\mysymbols=\jobname.symbols
    \newcommand\writesymbol[2]{\immediate\write\mysymbols{\unexpanded{#1 & #2\\}}}
    
    \newcommand\printsymbollist{%
     \immediate\closeout\mysymbols
     \begin{tabular}{ll}
     \input{\jobname.symbols}
     \end{tabular}}
    
    \begin{document}
    \writesymbol{$\omega$}{omega}
    
    \writesymbol{$\alpha$}{alpha}
    
    \writesymbol{äöü}{Umlaute}
    
    \printsymbollist
    
    \end{document}

    oder mit caption:

    Code:
    \documentclass{article}
    \usepackage{caption}
    \DeclareCaptionType{sym}
    
    \begin{document}
    \captionof{sym}{$\gamma$: gamma symbol}
    
    \captionof{sym}{$\beta$: beta symbol}
    
    \listofsyms
    \end{document}
    Aber du kannst dann natürlich die Begriffe nicht sortieren und Doppelungen nicht vermeiden. Außerdem wird es sicherlich schnell Sonderwünsche geben: schönere Formatierung, soll auch in Überschriften funktionieren, die Symbolliste soll auch irgendwo mittendrin gedruckt werden können, Symbolliste per Kapitel ... und dann landest du doch bei einem der Profipakete für Glossare.

  9. #9
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    beim pdflatex compilieren kommt folgendes:
    Writing nomenclature file test2.nlo
    (test2.aux)
    No file test2.nls.

    und dann geht makeindex natürlich auch nicht:
    Couldn't find input index file test2 nor test2.idx.
    warum `natürlich'?
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    was mache ich falsch?
    Du rufst makeindex nicht mit korrekten Parametern auf (vgl. texdoc nomencl -> makeindex), etwa
    Code:
    makeindex test2.nlo -s nomencl -o test2.nls
    spätestens nach dem daran folgenden (pdf)LaTeX-Lauf wirst Du ferner feststellen, daß Du \pi besser im Mathemodus setzt ($\pi$ oder \ensuremath{\pi})
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    Wenn ich dein Minimalbeispiel aber bei mir durchlaufen lasse, bekomme ich die sehr hilfreiche Meldung:
    No file test3.gls.
    Ja, die Meldung ist sehr hilfreich, sie sagt Dir, daß Du bisher weder makeindex korrekt (in bezug auf glossaries) noch makeglossaries verwendet hast.
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    STOP
    Diese Meldung bekomme ich allerdings nicht.
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    und nach makeindex:
    Nothing written in test3.ind.
    Transcript written in test3.ilg.
    STOP
    (auch hier kann ich mit dem `STOP' wenig anfangen) Vllt solltest Du Dir die Punkte 2 und 4 in dem von bobmalaria verlinkten Thread genauer ansehen -- prinzipiell machst Du hier den gleichen Fehler wie bei Deinem nomencl-Beispiel: Du rufst makeindex zur Erzeugung eines Index auf, aber nicht zur Erzeugung eines Glossars -- und der Begriff `makeglossaries' (wobei Du Dir selbst keine Gedanken darüber machen müsstest, wie genau makeindex zur Erstellung Deines Glossars zu verwenden wäre) ist hier auch bereits gefallen.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  10. #10
    Registrierter Benutzer
    Registriert seit
    28.10.2008
    Beiträge
    39
    Hallo,

    vielen Dank für eure Antworten.
    Die Beispiele von u_fischer klappen einwandfrei bei mir. Danke!
    Ich versuche jetzt noch das mit makeindex hinzubekommen, damit die Einträge sortiert werden, aber sollte das demnächst nicht klappen, dann muss es eben ohne Sortierung reichen.

    Das Seltsame ist auch, dass die Ausgaben vom Editor abhängen. Ich habe hier nur die Möglichkeit WinEdt und LEd zu benutzen.

    Bei WinEdt (mein Beispiel mit nomenclature) kompiliert einwandfrei aber es tut sich nichts nach
    makeindex test3.nlo -s nomencl -o test3.nls
    Meldung: Input index file test3.nlo not found
    es wird kein Verzeichnis erstellt.

    Beim LEd beim kompilieren:
    Writing nomenclature file test3.nlo
    (test3.aux)
    No file test3.nls.
    STOP

    und dann nach makeindex...
    Input index file test3.nlo not found




    auch das Beispiel von bobmalaria kann ich nicht zum Laufen bringen.

    WinEdt:
    kompiliert einwandfrei aber es tut sich nichts nach
    makeindex test4.nlo -s nomencl -o test4.nls
    (Input index file test3.nlo not found)

    LEd:
    No file test4.gls.
    STOP
    Input index file test4.nlo not found


    also wie kann ich es schaffen, dass dieses .nlo erzeugt wird?

    Vielleicht ist es ganz simpel was ich falsch mache, aber ich bekomm es einfach nicht hin

  11. #11
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    das klingt alles sehr befremdlich ...
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    Bei WinEdt (mein Beispiel mit nomenclature) kompiliert einwandfrei aber es tut sich nichts nach
    makeindex test3.nlo -s nomencl -o test3.nls
    Meldung: Input index file test3.nlo not found
    es wird kein Verzeichnis erstellt.

    Beim LEd beim kompilieren:
    Writing nomenclature file test3.nlo
    (test3.aux)
    No file test3.nls.
    STOP

    und dann nach makeindex...
    Input index file test3.nlo not found
    siehe oben: Writing nomenclature file test3.nlo: entweder hat Dir einer diese .nlo gelöscht oder Du rufst makeindex im falschen Pfad auf oder sowas.
    Lass erstmal Deinen Editor in Ruhe, öffne eine Eingabeaufforderung, begib Dich per cd-Befehl in das Verzeichnis Deiner `test3.tex', tipp
    Code:
    latex test3
    makeindex test3.nlo -s nomencl -o test3.nls
    latex test3
    latex test3
    Zitat Zitat von Kleeblatt Beitrag anzeigen
    auch das Beispiel von bobmalaria kann ich nicht zum Laufen bringen.

    WinEdt:
    kompiliert einwandfrei aber es tut sich nichts nach
    makeindex test4.nlo -s nomencl -o test4.nls
    (Input index file test3.nlo not found)

    LEd:
    No file test4.gls.
    STOP
    Input index file test4.nlo not found


    also wie kann ich es schaffen, dass dieses .nlo erzeugt wird?
    Wenn Du statt nomencl glossaries verwendest, musst Du makeindex auch anders aufrufen, was Du besagtem Punkt 4 hättest entnehmen können.
    Also erstmal eine Eingabeaufforderung dahergenommen, per cd in das Verzeichnis mit `test4.tex' gewechselt und schon
    Code:
    latex test4
    makeindex test4.glo -s test4.ist -o test4.gls -t test4.glg
    latex test4
    latex test4
    oder eben bei vorhandenem Perl auch einfach
    Code:
    latex test4
    makeglossaries test4
    latex test4
    latex test4
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

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