Anzeige:
Ergebnis 1 bis 11 von 11

Thema: automatisch Index oder Glossar aus Description-Umgebung

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40

    Question automatisch Index oder Glossar aus Description-Umgebung

    Hallo,
    wie kann ich automatisch aus den Stichwörtern der Description-Umgebung einen Index oder ein Glossar erstellen? Ich will mir ersparen, daß ich da jedesmal \index{Stichwort} dazuschreiben muss. Beispiel:
    \begin{description}
    \item [Stichwort\index{Stichwort}]blabla...

    Grüße,
    ifconfig

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Versuch es vielleicht mal so:

    \documentclass[a5paper]{book}
    \usepackage[a5paper,margin=1in]{geometry}
    \usepackage{xcolor}
    \usepackage[colorlinks,linkcolor=black!60!blue!90!
    ]{hyperref}% <<<<<<<<<<<<<<<<<<<<<<<<<< muss vor glossary stehen!

    \usepackage[style=list]{glossary}
    \makeglossary

    \newcommand{\itm}[2]{%
    \item[#1:]{#2}%
    \xglossary{name=#1,description=#2}{}%
    }

    \begin{document}

    \begin{titlepage}
    \begin{flushright}
    \vspace*{64pt}\bfseries
    \huge Description with Glossary\par
    \vspace{12pt}
    \Large How to make a glossar on the fly \par by generating a list\par
    \vspace{12pt}
    Edico\par\vfill
    \normalfont\normalsize
    This page is a simple holding-ground\par
    for \LaTeX{}-related tips and tricks.
    \end{flushright}
    \end{titlepage}

    \tableofcontents

    \chapter{Compiling}
    pdflatex foo -- makeindex -s foo.ist -t foo.glg -o foo.gls foo.glo --
    pdflatex foo -- pdflatex foo -- pdflatex foo


    \chapter{Listing}
    %%% ------------------------------------------------------------------
    %%% Generate a description list
    %%% ------------------------------------------------------------------
    \begin{description}
    \itm{Berlin}{die Hauptstadt Deutschlands}
    \itm{Deutschland}{ein Staat Europas}
    \itm{Glossar}{Wortliste alphabetisch}
    \end{description}

    \appendix
    %%% ------------------------------------------------------------------
    %%% Generate a glossary
    %%% ------------------------------------------------------------------
    \printglossary

    \end{document}

    edico

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40
    Hallo Edico,
    ich bekomme leider eine Fehlermeldung vom Kile beim Compilieren deines Codes:
    [LaTeX] test.tex => test.dvi (latex)
    [LaTeX] mit Status 1 beendet
    ./test.tex:9:File `glossary.sty' not found. \makeglossary
    [LaTeX] 1 Fehler, 0 Warnungen, 0 badboxes

    Wie bekomm ich das zum Laufen?

    Grüße,
    ifconfig

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    `glossary.sty' not found.
    Du hast das package glossary,sty nicht auf Deinem Rechner -- zumindest liegt es nicht im Pfad. Zwischenzeitlich hat Nicola Talbot dieses ersetzt durch glossaries.
    Insofern kannst Du entweder das 'ältere' versuchen runter zu laden und einzubinden oder Du schreibst den command für das glossaries um. Dürfte vermutlich kein allzu grosser Unterschied sein. ;-)

    edico

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Ich schrieb im letzten posting #4
    den command für das glossaries um. Dürfte vermutlich kein allzu grosser Unterschied sein.
    Das ist nicht richtig, insofern die Schlüsselwörter für glossaries in der Präamble, für ein eListe im Dokument deklariert werden. Eine Umschreibung für glossaryentry resp. items, wie beim Vorgängermodell glossary skizziert, wird damit doch ein wenig 'komplexer'.

    Eine andere Möglichkeit ist die auch vom OP angedachte Konstellation mit Index, die ggf. so aussehen kann:

    \documentclass[a5paper,oneside,smallheadings,ngerman]{scrbook}
    \usepackage{times,graphicx,xcolor}
    \unitlength=1cm
    \usepackage[plainpages=false,colorlinks]{hyperref}

    %%% --------------------------------------------------------------------------
    %%% Index
    %%% --------------------------------------------------------------------------
    \usepackage{makeidx}
    \makeindex

    \newcommand{\itx}[2]{%
    \item[#1:]{#2} %
    \index{#1}%
    }

    \begin{document}

    %%% --------------------------------------------------------------------------
    %%% Frontmatter
    %%% --------------------------------------------------------------------------
    \frontmatter
    \begin{titlepage}
    \begin{flushright}
    \vspace*{64pt}\bfseries
    \huge Description with Index\par
    \vspace{12pt}
    \Large How to make an index on the fly \par by generating a list\par
    \vspace{12pt}
    Edico\par\vfill
    \normalfont\normalsize
    This page is a simple holding-ground\par
    for \LaTeX{}-related tips and tricks.
    \end{flushright}
    \end{titlepage}

    \tableofcontents

    %%% --------------------------------------------------------------------------
    %%% Mainmatter
    %%% --------------------------------------------------------------------------
    \mainmatter

    \chapter[Description containing index]
    {To make a description list containing index}
    \begin{description}
    \itx{Berlin}{die Hauptstadt Deutschlands}
    \itx{Deutschland}{ein Staat Europas}
    \itx{Glossar}{Wortliste alphabetisch}
    \end{description}

    %%% --------------------------------------------------------------------------
    %%% Backmatter
    %%% --------------------------------------------------------------------------
    \backmatter
    %\appendix
    \cleardoublepage % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< neue Seite
    \phantomsection % <<<<<<<<<<<<<<< generiert Anker fr \addcontentsline
    \addcontentsline{toc}{chapter}{Index}% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    \printindex

    \end{document}

    edico

  6. #6
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40

    Thumbs up

    Hallo Edico,
    vielen Dank für diesen neuen Code, der lässt sich compilieren und macht genau, was ich brauche.
    Damit spare ich künftig viel Zeit und TeXen macht dadurch noch mehr Spaß :-)

    Grüße,
    ifconfig

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40

    Question

    Hallo Edico,
    ich bekomme in Kombination mit der verbatim-Umgebung folgende Fehlermeldung beim Compilieren:
    ./ldap.tex:70:Argument of \@xverbatim has an extra }. }

    bei dem Code:
    \itx{LDAP URLs}{blabla...\begin{verbatim}
    blabla
    \end{verbatim}
    }

    Aber wenn ichs ohne verbatim mache, klappts:
    \itx{LDAP URLs}{blabla}

    Wie kann ich diesen Verbatim-Konflikt lösen?

    Grüße,
    ifconfig

  8. #8
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von ifconfig Beitrag anzeigen
    Wie kann ich diesen Verbatim-Konflikt lösen?
    Verbatim innerhalb eines Befehls scheint nicht ganz ohne Hürde zu sein, vgl. FAQ 7.3.
    Wenn es Dir nur um die Angabe von URLs geht, kannst Du es vielleicht mit dem \url-Befehl aus dem gleichnamigen Paket bereits erreichen, wenn Du die verbatim-Umgebung auch noch für was anderes brauchst, dann könntest Du z. B. den \itx-Befehl etwa so umbauen:
    Code:
    \newcommand\itx[1][]{%
      \item[#1:]%
      \index{#1}%
    }
    und dann entsprechend \item innerhalb einer description-Umgebung aufrufen, also
    Code:
    \begin{description}
    \itx[LDAP URLs] bla blubb
    \end{description}
    da sollte es dann auch mit der verbatim-Umgebung bei ``bla blubb´´ hinhauen, weil diese nun nicht mehr an den \itx-Befehl übergeben wird.
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40

    Question

    Hallo Rainer,
    dein Code lässt die Stichworte aus dem Index und aus der Description verschwinden. Im Description-Teil steht nun nur noch ein Doppelpunkt anstatt dem fettgedruckten Stichwort. Die noch vorhandenen fetten Stichwörter entstammen dem herkömmlichen Code mit \item{Stichwort}.

    Ich hab das Bildschirm-Foto dazu angehängt.

    Kannst Du das Problem lösen?

    Grüße,
    ifconfig

  10. #10
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Hallo ifconfig,
    da hab ich zuviel geändert -- oder Du zu wenig;-)
    Mit
    Code:
    \newcommand\itx[1][]{%
      \item[#1:]%
      \index{#1}%
    }
    erwartet \itx eckige Klammern (wenn überhaupt). Wenn Dir das zu umständlich ist, dann lass einfach die leere eckige Klammer in der Definition weg:
    Code:
    \newcommand\itx[1]{%<--
      \item[#1:]%
      \index{#1}%
    }
    damit hast Du dann wieder geschweifte Klammern.
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  11. #11
    Registrierter Benutzer
    Registriert seit
    14.09.2006
    Beiträge
    40

    Thumbs up

    Hallo Rainer,
    super, damit klappts nun auch mitm Verbatim.
    Vielen Dank
    Grüße,
    ifconfig

Lesezeichen

Berechtigungen

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