Thomas D
17-02-2019, 21:16
Hallo
Ich habe einen Code für die Erstellung eines Stichwortverzeichnisses/Index. Es funktioniert soweit alles, wie es soll. Wenn ich allerdings einen Index habe, der mit einer Zahl beginnt (z.B.: 1792), dann erscheint als Heading nicht 1, sondern Numbers, womit die Formatierung zusammengehauen wird.
Was muss ich tun, dass bei Zahlen die erste Ziffer verwendet wird oder, dass zumindest statt Numbers lieber gar nichts als Überschrift angezeigt wird.
Ausgabe (der direkte Bild-Upload im Forum hat bei mir nicht funktioniert):
https://www.dropbox.com/s/gxvg6awmhz70nxi/LatexIndexNumber.jpg?dl=0
Code:
\documentclass[11pt,ngerman,hyphens]{scrbook}
\usepackage{fontspec}
\usepackage{babel}
\makeatletter
\usepackage{imakeidx}
\usepackage{booktabs}
\usepackage{filecontents}
\usepackage{multicol}
\begin{filecontents*}{index.ist}
headings_flag 1
heading_prefix "\\indexheading{"
heading_suffix "}"
delim_0 " "
delim_1 " "
group_skip "\n"
preamble "\\begin{theindex}\\starttheindex"
postamble "\n\\stoptheindex\\end{theindex}"
\end{filecontents*}
\newcommand{\indextitle}{Index}
\makeindex[
columns=2,
intoc,
title=\indextitle,
options=-s index
]
\newcommand*{\indexheading}[1]{
\indexrule
\textbf{#1}\par
\nopagebreak
\vskip-\baselineskip
}
\newcommand*{\indexrule}{
\par\nopagebreak
\vskip-\ht\strutbox
\hrulefill\par\pagebreak[3]
\vskip -\baselineskip
\hrulefill\par\nobreak
}
\newcommand*{\starttheindex}{\raggedcolumns}
\newcommand*{\stoptheindex}{\indexrule}
\makeatletter
\renewcommand*{\@idxitem}{\par\hangindent 1.5em\hskip 1.5em}
\makeatother
\AtBeginDocument{
\def\labelitemi{ }
}
\makeatother
\begin{document}
\index{Affe!Anton} \index{Baum!Bernhard} \index{Baum!Barbara} \index{1792}
\begin{flushleft}
\printindex
\par\end{flushleft}
\end{document}
Ich habe einen Code für die Erstellung eines Stichwortverzeichnisses/Index. Es funktioniert soweit alles, wie es soll. Wenn ich allerdings einen Index habe, der mit einer Zahl beginnt (z.B.: 1792), dann erscheint als Heading nicht 1, sondern Numbers, womit die Formatierung zusammengehauen wird.
Was muss ich tun, dass bei Zahlen die erste Ziffer verwendet wird oder, dass zumindest statt Numbers lieber gar nichts als Überschrift angezeigt wird.
Ausgabe (der direkte Bild-Upload im Forum hat bei mir nicht funktioniert):
https://www.dropbox.com/s/gxvg6awmhz70nxi/LatexIndexNumber.jpg?dl=0
Code:
\documentclass[11pt,ngerman,hyphens]{scrbook}
\usepackage{fontspec}
\usepackage{babel}
\makeatletter
\usepackage{imakeidx}
\usepackage{booktabs}
\usepackage{filecontents}
\usepackage{multicol}
\begin{filecontents*}{index.ist}
headings_flag 1
heading_prefix "\\indexheading{"
heading_suffix "}"
delim_0 " "
delim_1 " "
group_skip "\n"
preamble "\\begin{theindex}\\starttheindex"
postamble "\n\\stoptheindex\\end{theindex}"
\end{filecontents*}
\newcommand{\indextitle}{Index}
\makeindex[
columns=2,
intoc,
title=\indextitle,
options=-s index
]
\newcommand*{\indexheading}[1]{
\indexrule
\textbf{#1}\par
\nopagebreak
\vskip-\baselineskip
}
\newcommand*{\indexrule}{
\par\nopagebreak
\vskip-\ht\strutbox
\hrulefill\par\pagebreak[3]
\vskip -\baselineskip
\hrulefill\par\nobreak
}
\newcommand*{\starttheindex}{\raggedcolumns}
\newcommand*{\stoptheindex}{\indexrule}
\makeatletter
\renewcommand*{\@idxitem}{\par\hangindent 1.5em\hskip 1.5em}
\makeatother
\AtBeginDocument{
\def\labelitemi{ }
}
\makeatother
\begin{document}
\index{Affe!Anton} \index{Baum!Bernhard} \index{Baum!Barbara} \index{1792}
\begin{flushleft}
\printindex
\par\end{flushleft}
\end{document}