Ich erstelle ein Personenregister mit makeindex und gestalte es mit imakeidx. Nun gibt es ein Lemma, in dem die letzte Seitenangabe in die nächste Zeile geschoben wird, obwohl in der gleichen Zeile Platz für alle Zahlen wäre. Es handelt sich um einen Registereintrag, der selbst recht lang ist und per automatischem Umbruch in der nächsten Zeile fortgesetzt wird. Der Abstand zwischen Wort und Seitenzahl ist mit dotfill gefüllt (mit Mindestlänge für dotfill, damit die Seitenzahlen an anderer Stelle nicht direkt am Lemma kleben). Ohne Berücksichtigung der Einzüge sieht es derzeit etwa so aus:

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

Kann mir jemand helfen, diesen Zeilenumbruch zu verhindern? Danke!

Ö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]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{124}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{256}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{389}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \printindex[person]
\end{document}

Heading

gefragt 07 Apr '18, 22:14

gepe9's gravatar image

gepe9
3125
Akzeptiert-Rate: 0%

Zu dieser Frage existiert noch eine Folgefrage unter Index: Zeilenumbruch für Seitenzahl verhindern II, in der es um Einträge mit deutlich mehr Seitenzahlen geht.

(08 Apr '18, 21:35) esdd

Das Problem ist die Silbentrennung im Namen: LaTeX bestraft Silbentrennungen in der vorletzten Zeile und das führt hier dazu, dass eine dritte Zeile erzeugt wird. Benutze \finalhyphendemerits=0 vor dem printindex.

Permanenter link

beantwortet 09 Apr '18, 17:10

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.6k23
Akzeptiert-Rate: 52%

Sehr gut, klappt und liefert schöne Ergebnisse.

(09 Apr '18, 21:49) gepe9

Eine wenig elegante Lösung wäre es, die Seitenzahlen einfach in eine nicht-umbrechbare Box zu packen. Dies funktioniert leider nur dann, wenn alle Seitenzahlen in eine Zeile passen, was bei sehr vielen Seitenzahlen natürlich nicht funktioniert.

Öffne in Overleaf
\begin{filecontents*}{testlayout.ist}
  delim_0 "\\dotfill\\mbox{"
  delim_t "}"
\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]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{124}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{256}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \setcounter{page}{389}
  Albert von Wagenfurt\index[person]{Albert von Wagenfurt (Albertus von Wagenfurt)}
  Galileo Galilei\index[person]{Galileo Galilei}
  Euklid\index[person]{Euklid}
  \clearpage
  \printindex[person]
\end{document}

alt text

Permanenter link

beantwortet 08 Apr '18, 04:08

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 08 Apr '18, 23:51

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×45
×25
×16
×8

gestellte Frage: 07 Apr '18, 22:14

Frage wurde gesehen: 6,439 Mal

zuletzt geändert: 09 Apr '18, 21:49