Diese Frage ist eine Fortsetzung und Präzisierung der Frage Index: Zeilenumbruch für Seitenzahl verhindern

Die dortige Lösung funktioniert leider nicht, wenn es im Register Lemmata mit vielen Seitenangaben gibt. In diesem Fall gibt es mit der mbox natürlich auch für diese Einträge keinen Umbruch mehr und die Zahlen ragen über die Zeile hinaus. Ich modifziere daher das erste Beispiel und ergänze ein Lemma mit vielen Seitenangaben, wo ein Zeilenumbruch nötig ist.

Mein Frage bleibt die gleiche. Ich möchte das Lemma bearbeiten, in dem die letzte Seitenangabe in die nächste Zeile geschoben wird, obwohl in der gleichen Zeile Platz für alle Zahlen wäre. Derzeit erhalte ich:

Albert von Wagenfurt (Albertus von Wagen-

furt) ........................................... 1, 124, 256,

389

Ich hätte gern, dass alle Zahlen in einer Zeile stehen, nämlich so:

Albert von Wagenfurt (Albertus von Wagen-

furt) ................................... 1, 124, 256, 389

Dabei soll der Umbruch bei anderen Lemmata erhalten bleiben.

Öffne in Overleaf
\begin{filecontents*}{testlayout.ist}
 delim_0 "{\\def\\hfill{\\hskip 10pt plus 1fill}\\dotfill} " 
\end{filecontents*}

\documentclass[ngerman]{scrbook}
\usepackage{imakeidx}
\makeindex[options={-s testlayout.ist},name=person,title=Personenregister,columns=2]

\usepackage[font=footnotesize, itemlayout=relhang, indentunit=1mm, hangindent=6mm]{idxlayout}

\begin{document}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{124}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{256}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{389}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{468}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{10756}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{15235}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{45360}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{46872}
 Euklid\index[person]{Euklid}
 \clearpage
 \printindex[person]
\end{document}

gefragt 08 Apr, 06:30

gepe9's gravatar image

gepe9
313
Akzeptiert: 0%

bearbeitet 09 Apr, 15:37

Es ist interessant, dass das nur beim ersten ein Problem zu sein scheint.

(08 Apr, 22:28) Henri

Immerhin habe ich das Problem mal identifizert. Es liegt an footnotesize (small ist auch kaputt). Wenn ich das entferne sieht alles gut aus.

(08 Apr, 22:51) Henri

In der Tat, wenn ich footnotesize entferne, klappt auch mein eigentliches Dokument. Wahrscheinlich ist es überflüssig zu erwähnen, dass eine kleinere Schriftgröße für die Register vorgegeben ist und ich deshalb leider nicht darauf verzichten kann...

(09 Apr, 07:37) gepe9

Das ist ein Problem mit der Definition von \indexjustific in idxlayout. Normalerweise ist das:

Öffne in Overleaf
\renewcommand*{\indexjustific}{%
  \setlength{\parindent}{\z@}%
  \setlength{\parfillskip}{\z@ \@plus 1fil}%
}%

Das halte ich aber nur für bedingt sinnvoll, wenn die Zeile mit Pünktchen bis zur Seitenzahl gefüllt werden soll. Ich würde da eher zu

Öffne in Overleaf
\renewcommand*{\indexjustific}{%
  \setlength{\parindent}{\z@}%
  \setlength{\parfillskip}{\z@}%
}%

greifen bzw. in der Dokumentpräambel entsprechend:

Öffne in Overleaf
\begin{filecontents*}{testlayout.ist}
 delim_0 "{\\def\\hfill{\\hskip 10pt plus 1fil}\\dotfill} "
\end{filecontents*}

\documentclass[ngerman]{scrbook}
\usepackage{imakeidx}
\makeindex[options={-s testlayout.ist},name=person,title=Personenregister,columns=2]

\usepackage[font=footnotesize, itemlayout=relhang, indentunit=1mm, hangindent=6mm]{idxlayout}
\renewcommand*{\indexjustific}{%
  \setlength{\parindent}{0pt}%
  \setlength{\parfillskip}{0pt}%
}

\begin{document}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{124}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{256}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{389}
 Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
 Galileo Galilei\index[person]{Galilei, Galileo}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{468}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{10756}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{15235}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{45360}
 Euklid\index[person]{Euklid}
 \clearpage
 \setcounter{page}{46872}
 Euklid\index[person]{Euklid}
 \clearpage
 \printindex[person]
\end{document}

Seitenzahlen rechtsbündig mit Pünktchen

Permanenter link

beantwortet 09 Apr, 08:57

Ijon%20Tichy's gravatar image

Ijon Tichy
7.8k11019

bearbeitet 09 Apr, 08:58

1

Mir gefällt es ja nicht sonderlich, wie parfillskip=0pt die Mehrzahl der Einträge von Euklid in die zweite Zeile zwingt, ich würde (wie in der Parallelfrage erwähnt) \finalhyphendemerits=0 setzen.

(09 Apr, 11:21) Ulrike Fischer

@Ulrike Ich verstehe das Füllen mit Pünktchen so, dass eben der gesamte Abstand vor den Seitenzahlen sein soll (egal ob in einer oder mehreren Zeilen). Aber darüber kann man trefflich streiten (oder einfach das nehmen, was einem besser gefällt).

(09 Apr, 14:27) Ijon Tichy

Vielen Dank an alle Beteiligten! Ich habe mich für die Lösung \finalhyphendemerits=0 entschieden, weil sie für mein Dokument die (meiner Meinung nach) schöneren Ergebnisse beim Buchsatz liefert.

Die Umdefinition von \indexjustific bewirkt unter anderem, dass bei manchen Lemmata

  • alle Zahlen in der zweiten Zeile stehen und die erste Zeile hinter dem Wort mit Punkten aufgefüllt wird (bzw. nur eine einzige Zahl in der ersten Zeile steht).

  • die Abstände zwischen Komma und nachfolgender Zahl gelegentlich deutlich vergrößert sind, vor allem bei Zahlen in zweiten Zeilen.

(09 Apr, 15:34) gepe9
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×35
×17
×11
×6

Frage gestellt: 08 Apr, 06:30

Frage wurde angeschaut: 686 Mal

Zuletzt aktualisiert: 09 Apr, 15:44