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} Headinggefragt 07 Apr '18, 22:14 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} beantwortet 08 Apr '18, 04:08 Henri |
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 beantwortet 09 Apr '18, 17:10 Ulrike Fischer Sehr gut, klappt und liefert schöne Ergebnisse.
(09 Apr '18, 21:49)
gepe9
|
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.