goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 100203
Top-Poster: Johannes_B (5063)

Wir begrüßen unseren neuesten Benutzer Quintina Dolly.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Erster Index-Eintrag nicht bündig

 

Thomas D
Forum-Anfänger
Forum-Anfänger

Beiträge: 28
Anmeldedatum: 15.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2019, 14:27     Titel: Erster Index-Eintrag nicht bündig
  Antworten mit Zitat      
Hallo

Ich habe mit imakeidx ein Stichwortverzeichnis erstellt. Es klappt soweit auch alles, wie es soll. Einzig der erste Eintrag im Stichwortverzeichnis ist nicht bündig mit dem Eintrag in der zweiten Spalte (auf den Folgeseiten passt wieder alles). Die Ausgabe siehe Anhang.

Das Minimalbeispiel schaut wie folgt aus:

Code

\documentclass[11pt,ngerman,hyphens]{scrbook}
\usepackage{fontspec}
\usepackage{babel}

\makeatletter

\usepackage{imakeidx}
\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}
\indexsetup{level=\section*}

\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
  \hfill
\par\pagebreak[3]
  \vskip -\baselineskip
  \hfill
\par\nobreak
}
\newcommand*{\starttheindex}{\raggedcolumns\begin{footnotesize}}
\newcommand*{\stoptheindex}{\indexrule\end{footnotesize}}
\makeatletter
\renewcommand*{\@idxitem}
{\par\hangindent 1.5em\hskip 1.5em}
\renewcommand{\subitem}{\par\hskip 2.5em}
\makeatother


\AtBeginDocument{
  \def\labelitemi{
}
}

\makeatother

\begin{document}
\index{Affe!Anton} \index{Baum!Bernhard} \index{Baum!Carbara}
\index{Affe!Bnton} \index{Baum!Cernhard} \index{Baum!Darbara}
\index{Affe!Cnton} \index{Baum!Dernhard} \index{Baum!Earbara}
\index{Affe!Dnton} \index{Baum!Eernhard} \index{Baum!Farbara}
\index{Affe!Enton} \index{Baum!Fernhard} \index{Baum!Garbara}
\index{Affe!Fnton} \index{Baum!Gernhard} \index{Baum!Harbara}
\index{Affe!Gnton} \index{Baum!Hernhard} \index{Baum!Iarbara}
\index{Affe!Hnton} \index{Baum!Iernhard} \index{Baum!Jarbara}
\index{Affe!Inton} \index{Baum!Jernhard} \index{Baum!Karbara}
\index{Affe!Jnton} \index{Baum!Kernhard} \index{Baum!Larbara}
\index{Affe!Knton} \index{Baum!Lernhard} \index{Baum!Marbara}

\begin{flushleft}
\printindex
\par\end{flushleft}
\end{document}
 


Latex Index Number2.png
 Beschreibung:

Download
 Dateiname:  Latex Index Number2.png
 Dateigröße:  77.08 KB
 Heruntergeladen:  129 mal
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2019, 15:04     Titel:
  Antworten mit Zitat      
Ich würde damit anfangen, den Code zu vereinfachen und dann auf die richtige Hierarchieebene für den Index achten:
Code
\documentclass[ngerman]{scrbook}
\usepackage{fontspec}
\usepackage{babel}

\makeatletter

\usepackage{imakeidx}
\usepackage{filecontents}

\begin{filecontents*}{index.ist}
headings_flag 1
heading_prefix "\\indexheading{"
heading_suffix "
}"

delim_0 " "
delim_1 " "

group_skip "\n"
preamble "\\begin{theindex}\\raggedright\\footnotesize"
postamble "\n\\end{theindex}"
\end{filecontents*}

\newcommand{\indextitle}{Index}
% \indexsetup{level=\section*}% Sorry, aber das ist Unfug, weil es zu einer
                              % inkosistenten Gliederung führt!

\makeindex[
columns=2,
intoc,
title=\indextitle,
options=-s index
]

\newcommand*{\indexheading}[1]{%
  \vskip \baselineskip
  \textbf{#1}%
  \vskip-\baselineskip
}
\makeatletter
\renewcommand*{\@idxitem}
{\par\hangindent 1.5em\hskip 1.5em}
\renewcommand{\subitem}{\par\hskip 2.5em}
\makeatother


\AtBeginDocument{%
  \def\labelitemi{ }%
}

\makeatother

\begin{document}
\chapter{Test}
\index{Affe!Anton} \index{Baum!Bernhard} \index{Baum!Carbara}
\index{Affe!Bnton} \index{Baum!Cernhard} \index{Baum!Darbara}
\index{Affe!Cnton} \index{Baum!Dernhard} \index{Baum!Earbara}
\index{Affe!Dnton} \index{Baum!Eernhard} \index{Baum!Farbara}
\index{Affe!Enton} \index{Baum!Fernhard} \index{Baum!Garbara}
\index{Affe!Fnton} \index{Baum!Gernhard} \index{Baum!Harbara}
\index{Affe!Gnton} \index{Baum!Hernhard} \index{Baum!Iarbara}
\index{Affe!Hnton} \index{Baum!Iernhard} \index{Baum!Jarbara}
\index{Affe!Inton} \index{Baum!Jernhard} \index{Baum!Karbara}
\index{Affe!Jnton} \index{Baum!Kernhard} \index{Baum!Larbara}
\index{Affe!Knton} \index{Baum!Lernhard} \index{Baum!Marbara}

\printindex

\end{document}
 

Thomas D
Forum-Anfänger
Forum-Anfänger

Beiträge: 28
Anmeldedatum: 15.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2019, 17:07     Titel:
  Antworten mit Zitat      
Das mit dem Verschlanken des Codes hat gut funktioniert. Eine Ergänzung bei \indexheading war noch notwendig, damit nicht der Fall eintritt, dass eine Überschrift auf einer Seite beginnt und die Einträge erst auf der nächsten Seite weitergehen (s. Beispiel im Anhang mit der Überschrift "S").

Durch die Ergänzung mit \nopagebreak ist dieser Fall nun aber auch abgehandelt.

Code

\newcommand*{\indexheading}[1]{
 \vskip \baselineskip
  \textbf{#1
}
  \nopagebreak %war noch notwendig
  \vskip-\baselineskip
}
 


Latex Index Number3.png
 Beschreibung:

Download
 Dateiname:  Latex Index Number3.png
 Dateigröße:  60.62 KB
 Heruntergeladen:  117 mal
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2019, 17:50     Titel:
  Antworten mit Zitat      
Da der \vskip danach negativ ist, wundert mich das zwar etwas, aber es soll mir recht sein.

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de