Listings-Paket: Automatische Indizierung

Listings-Paket: Automatische Indizierung

Ich habe die Dokumentation studiert, war aber nicht schlau genug, um zu verstehen, wie man mehrere Arten von Schlüsselwörtern automatisch indexiert. Ich gebe unten einen MWE an. Wenn ich das Dokument ausführe, erscheinen nur Schlüsselwörter der Klasse [1] im Index; Schlüsselwörter der Klasse [2] nicht.

\documentclass{book}
\usepackage{makeidx}\makeindex 
\usepackage{listings}
\begin{document}
\lstset{
classoffset=0,
morekeywords=[1]{
    False   },
morekeywords=[2]{
    AssertionError  },
index=[1][keywords],
index=[2][keywords],
}
\lstinline!False! makes an index entry, but
\lstinline!AssertionError! does not.
\printindex
\end{document}

Antwort1

Die Zahl im ersten optionalen Argument indexbezieht sich nicht auf die Klassennummer der Schlüsselwörter, sondern auf die Klassennummer des Indexes. Dadurch können verschiedene Indizes angelegt werden. Die Klassennummern der Schlüsselwörter werden mit Ausnahme der ersten Klasse an den Namen angehängt: keywords, keywords2, keywords3, ...

Folgende Werke:

\documentclass{book}
\usepackage{makeidx}\makeindex
\usepackage{listings}
\begin{document}
\lstset{
  classoffset=0,
  morekeywords=[1]{
    False          
  },
  morekeywords=[2]{        
    AssertionError
  },
  index=[1][keywords],
  moreindex=[1][keywords2],
}
\lstinline!False! makes an index entry, but
\lstinline!AssertionError! does not.
\printindex
\end{document}

Index

verwandte Informationen