Hallo! Ich dachte, ich frage einfach mal die Experten...

Ich habe einiges gelesen, könnte ggf. in Richtung BibTeX gehen (?). Oder sollte man dafür besser das Paket nomencl verwenden? (Letzteres könnte ggf. mit einem Formelzeichenverzeichnis konkurieren.)

Beispiel (die Wörter in Anführungszeichen sollten im alphabet. Index unter Angabe der Seitenzahl stehen):

Open in writeLaTeX
\documentclass{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}
%=========
\begin{document}
%=========

%\tableofcontents

\chapter{Kapitelname}
\section{Abschnitt}
... \par
Die ''Dreiecke'' lassen sich in Gruppen aufteilen (''Haus der Dreiecke''): \par
...

\section{Der ''Satz des Pythagoras''}
(nach ''Pythagoras'' von Samos, ca.  570 v.u.Z.)
%=========
\end{document}
%=========

gefragt 17 Mai '14, 20:00

cis's gravatar image

cis
9.5k74452491
Akzeptiert-Rate: 29%

bearbeitet 17 Mai '14, 20:48

Sehe ich das richtig, dass Du einen Index haben möchtest?

(17 Mai '14, 20:10) cgnieder

Ja, daher die neutrale Bezeichnung 'ABC Inhaltsvberzeichnis', im Unterschied zu Glosar o.ä. - ich habe noch einen Edit vorgenommen.

(17 Mai '14, 20:13) cis

Standard

Die Standard-Methode zur Erzeugung eines Stichwortverzeichnisses (oder Index) ist die Verwendung des makeidx-Pakets. Präambel:

Open in writeLaTeX
\usepackage{makeidx}
\makeindex

Im Dokument verwendet man \index{Eintrag} oder auch \index{Eintrag!Untereintrag}. Dort, wo das Stichwortverzeichnis später stehen soll, verwendet man

Open in writeLaTeX
\printindex

Übersetzt wird das ganze durch

  1. pdfLaTeX, XeLaTeX oder LuaLaTeX
  2. makeindex
  3. pdfLaTeX, XeLaTeX oder LuaLaTeX

Der zweite Schritt lautet für ein Dokument test.tex

Open in writeLaTeX
makeindex test

Beschrieben wird das ganze in der makeindex Dokumentation.

Ein Beispiel:

Open in writeLaTeX
% arara: pdflatex
% arara: makeindex
% arara: pdflatex
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage[ngerman]{babel}

\usepackage{makeidx}
\makeindex

\begin{document}

\section{Abschnitt}
Die ``Dreiecke''\index{Dreieck} lassen sich in Gruppen aufteilen (``Haus der
Dreiecke''\index{Dreieck!Haus der Dreiecke}\index{Haus der Dreiecke}):

\section{Der ``Satz des Pythagoras''}
\index{Satz des Pythagoras}\index{Pythagoras!Satz des}
(nach ``Pythagoras''\index{Pythagoras} von Samos, ca.~570~v.u.Z.)

\printindex

\end{document}

alt text

Automatisierung

Etwas bequemer wird es, wenn man imakeidx verwendet, weil dann makeindex automatisch aufgerufen wird. Außerdem stellt das Paket eine bequeme Schnittstelle zur Formatierung bereit:

Open in writeLaTeX
% arara: pdflatex
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage[ngerman]{babel}

\usepackage{imakeidx}
\makeindex

\begin{document}

\section{Abschnitt}
Die ``Dreiecke''\index{Dreieck} lassen sich in Gruppen aufteilen (``Haus der
Dreiecke''\index{Dreieck!Haus der Dreiecke}\index{Haus der Dreiecke}):

\section{Der ``Satz des Pythagoras''}
\index{Satz des Pythagoras}\index{Pythagoras!Satz des}
(nach ``Pythagoras''\index{Pythagoras} von Samos, ca.~570~v.u.Z.)

\printindex

\end{document}

alt text

Formatierung

Um die Formatierung der Spalten im Index zu ändern, muss man sich eine Index-Stil-Datei mit der Endung ist erstellen. Diese kann man makeindex als Option mitteilen. Für eine Datei mystyle.ist:

Open in writeLaTeX
makeindex -s mystyle

oder mit arara:

Open in writeLaTeX
% arara: makeindex: { style: mystyle }

oder mit imakeidx:

Open in writeLaTeX
\makeindex[options=-s mystyle]

Eine Stildatei hat eine eigene Syntax, wie das folgende Beispiel gleich verdeutlichen wird:

Open in writeLaTeX
% arara: pdflatex
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage[ngerman]{babel}

\usepackage{imakeidx}
\makeindex[columns=3, options=-s mystyle]

\usepackage{filecontents}
\begin{filecontents}{mystyle.ist}
headings_flag  1 % wir benutzen Überschriften
heading_prefix "{\\bfseries " % und setzen sie fett
heading_suffix "\\hfil}\\nopagebreak\n"% und links, nach ihnen kein Seitenumbruch
delim_0 "\\dotfill" % Punktzeile zwischen Einträgen und Seitenzahlen (Ebene 0)
delim_1 "\\dotfill" % Punktzeile zwischen Einträgen und Seitenzahlen (Ebene 1)
delim_2 "\\dotfill" % Punktzeile zwischen Einträgen und Seitenzahlen (Ebene 2)
delim_r "--" % Trenner zwischen Start und Ende eines Seitenbereiches
suffix_2p "\\,f." % Suffix bei einem bereich aus 2 Seiten
suffix_3p "\\,ff." % Suffix bei einem bereich aus 3 Seiten
\end{filecontents}

\begin{document}

\section{Abschnitt}
Die ``Dreiecke''\index{Dreieck} lassen sich in Gruppen aufteilen (``Haus der
Dreiecke''\index{Dreieck!Haus der Dreiecke}\index{Haus der Dreiecke}):

\newpage
\section{Der ``Satz des Pythagoras''}
\index{Satz des Pythagoras}\index{Pythagoras!Satz des}
(nach ``Pythagoras''\index{Pythagoras} von Samos, ca.~570~v.u.Z.)

\index{foo}

\section{Abschnitt}
Die ``Dreiecke''\index{Dreieck} lassen sich in Gruppen aufteilen (``Haus der
Dreiecke''\index{Dreieck!Haus der Dreiecke}\index{Haus der Dreiecke}):

\newpage
\section{Abschnitt}
Die ``Dreiecke''\index{Dreieck} lassen sich in Gruppen aufteilen (``Haus der
Dreiecke''\index{Dreieck!Haus der Dreiecke}\index{Haus der Dreiecke}):

\newpage
\section{Der ``Satz des Pythagoras''}
\index{Satz des Pythagoras}\index{Pythagoras!Satz des}
(nach ``Pythagoras''\index{Pythagoras} von Samos, ca.~570~v.u.Z.)

\printindex

\end{document}

alt text

Alle Optionen, die makeindex versteht, sowie die Anweisungen, die man in einer Stildatei verwenden kann, sind z.B. in makeindex.hlp (eine reine Textdatei, lässt sich also durch den bevorzugten (TeX-) Editor öffnen) beschrieben.


Auf der LaTeX-Seite gibt es da auch eine Reihe Pakete, z. B. idxlayout

Permanenter link

beantwortet 17 Mai '14, 20:26

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 17 Mai '14, 21:30

Aja, schnelle AW und gleich mit arara-Automatisierung! 👍 Aber das braucht man ja scheints beim 2. Bsp.'imakeidx' nimmer. Ich muß mal schauen, wie man den imakeidx-Style konfiguriert, z.B. "S. 1", statt "1"; es ist ja denkbar, daß ein Wort auf mehreren Seiten zu finden ist.

(17 Mai '14, 20:47) cis

Ah, super! Jetzt hat es richtig Gestalt angenommen.

(17 Mai '14, 21:18) cis

Neben den von @Clemens genannten Paketen und dem genannten Index-Prozessor gibt es übrigens eine Reihe von Alternativen. Vor allem die Verwendung von Xindy ist durchaus sinnvoll, da dieser Index-Prozessor weit flexibler ist als makeindex. Das beginnt schon bei der Sortierung von Wörtern mit Umlauten oder allgemein mit diakritischen Zeichen.

(18 Mai '14, 10:43) Bes

Ich muss mich bei Gelegenheit wirklich mal in xindy einarbeiten. Danach werde ich die Antwort ergänzen....

(18 Mai '14, 12:18) cgnieder

@Clemens Ich muss zugeben: Da ich mit vielen über Jahre gewachsenen Build-Prozessen arbeiten, verwende ich auch fast ausschließlich makeindex. In einigen Gemeinschaftsprojekten war allerdings xindy das Mittel der Wahl, wobei ich die zusätzlichen Sortierangaben etc. nicht selbst erstellt, sondern nur verwendet habe und beeindruckt war, wie einfach das aussah. Meine ganzen Hacks zur Vor- und Nachbearbeitung mit perl sind dagegen extrem kompliziert und anfällig.

(18 Mai '14, 12:36) Bes

GANZ AM RANDE:

@Clemens: Ich finde es gut, daß Du in Deinen Beiträgen oft den arara-Kopf angibst. Weil ich so ggf. nicht erst groß im Thread rumlesen muß und ohne viel Trara Information über die Komplilierungsreihenfolge erhalte. Ich fände es gut, wenn das Schule machen würde. Es stört m.E. arara-Nichtnutzer auch nicht weiter (die ggf. kleine Ablenkung wird man wohl, ohne völlige Verwirrung, verschmerzen können), da ja dieser Teil für LaTeX auskommentiert ist. Ich werde es künftig, wenn möglich, auch machen.

(18 Mai '14, 22:00) cis

@cis hier habe ich es bewusst gemacht. Wenn beim Kompilieren nichts besonderes zu beachten ist, lasse ich es üblicherweise weg.

(18 Mai '14, 22:15) cgnieder

Ja, meinte auch nicht: immer sowas wie arara: pdflatex dazuschreiben - das wäre übertrieben.

(18 Mai '14, 22:27) cis
Ergebnis 5 von 8 show 3 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×77
×16

gestellte Frage: 17 Mai '14, 20:00

Frage wurde gesehen: 11,930 Mal

zuletzt geändert: 18 Mai '14, 22:27