PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [imakeidx] Überschrift von Index-Einträgen, die mit einer Ziffer beginnen



Thomas D
17-02-2019, 20: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}

u_fischer
19-02-2019, 09:52
1 als heading geht glaube ich nicht, makeindex kennt nur a-Z und Symbols und Numbers. Numbers unterdrücken kann man mit numhead_positive "" in der index.ist.

Ich würde dir ansonsten empfehlen, ein anderes Forum zu verwenden. Das hier ist ziemlich tot.

Thomas D
19-02-2019, 10:32
Vielen Dank für den Tipp mit
numhead_positive "" in der index.ist. Habe diesen noch um
symhead_positive "" erweitert und nun wird bei Einträgen, die mit einer Zahl oder ein Symbol beginnen, einfach nichts angezeigt. Bin mit dieser Lösung eigentlich recht zufrieden.

Sollte ich wieder eine Frage haben, werde ich diese in einem anderen Forum stellen. Hier ist wirklich nicht mehr allzu viel los :D