Anzeige:
Ergebnis 1 bis 3 von 3

Thema: [imakeidx] Überschrift von Index-Einträgen, die mit einer Ziffer beginnen

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.02.2011
    Beiträge
    17

    Question [imakeidx] Überschrift von Index-Einträgen, die mit einer Ziffer beginnen

    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/gxvg6awmhz...umber.jpg?dl=0

    Code:

    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}

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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.

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.02.2011
    Beiträge
    17
    Vielen Dank für den Tipp mit
    Code:
    numhead_positive ""
    in der index.ist. Habe diesen noch um
    Code:
    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

Lesezeichen

Berechtigungen

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