
Diese Frage zumMemoiren Inhaltsverzeichnishat eine Antwort, die gut funktioniert, die Punkte enden jedoch (meiner Meinung nach) zu früh.
Gibt es eine Möglichkeit, die Punkte mehr wie die Standardeinstellung zu gestalten, ohne die überfüllten Hboxen auszulösen? (Das WME ist direkt der obigen Frage entnommen):
\documentclass[oneside, draft]{memoir}
\usepackage[showframe]{geometry}
\usepackage{lipsum}
\newcommand{\repeattext}[1]{#1 #1 #1 #1 #1 #1}
\makeatletter
\renewcommand{\@pnumwidth}{3em} %even adjusting this down doesn't really help
\renewcommand{\@tocrmarg}{4em}
\makeatother
\begin{document}
\tableofcontents
\chapter{Chapter 1} \lipsum
\section{Section 1.1} \repeattext{\repeattext{\lipsum[1-150]}}
\chapter{Chapter 2} \lipsum[2]
\section{Section 2.1} \repeattext{\repeattext{\lipsum[1-150]}}
\chapter{Chapter 3} \lipsum[2]
\section{Section 3.1} \lipsum[2]
\end{document}
Hier sind einige Beispielbilder (das erste hat die Punkte, die mir gefallen, aber eine überfüllte Hbox, das zweite entfernt die Hbox, hat aber nicht genug Punkte):
Ich fand dies intexdoc memman
\newcommand*{\l@section}{\@dottedtocline{1}{1.5em}{2.3em}}
Möglicherweise sind diese Größen für den Abstand relevant.
Antwort1
Dermemoir
DokumentationErwähnungen (Abschnitt9.1 Allgemeine ToC-Methoden, S. 142):
Die Seitenzahl wird rechtsbündig in einem Feld mit der Breite gesetzt
\@pnumwidth
und das Feld befindet sich am rechten Rand. Wenn die Seitenzahl zu lang ist, um in das Feld zu passen, ragt sie in den rechten Rand hinein.
Der Standardwert für \@pnumwidth
ist auf eingestellt 1.55em
und kann mit angepasst werden \setpnumwidth{<len>}
.
Hier ist ein anderer Ansatz: Geben Sie die Seitenzahl in ein Feld mit weißer Hintergrundfüllung ein:
\documentclass[oneside, draft]{memoir}
\usepackage{geometry}
\usepackage{lipsum,xcolor}
\newcommand{\repeattext}[1]{#1 #1 #1 #1 #1 #1}
\makeatletter
\newcommand{\pnumformat}[1]{{\setlength{\fboxsep}{0pt}\llap{\colorbox{white}{#1}}}}
\setpnumwidth{.5em}% Just a small enough length
\renewcommand{\cftchapterformatpnum}[1]{%
\cftchapterformatpnumhook{#1}%
\hb@xt@\@pnumwidth{\hfil\pnumformat{\cftchapterpagefont #1}}}
\renewcommand{\cftsectionformatpnum}[1]{%
\cftsectionformatpnumhook{#1}%
\hb@xt@\@pnumwidth{\hfil\pnumformat{\cftsectionpagefont #1}}}
\renewcommand{\@tocrmarg}{4em}
\makeatother
\begin{document}
\tableofcontents
\chapter{Chapter 1} \lipsum
\section{Section 1.1} \repeattext{\repeattext{\lipsum[1-150]}}
\chapter{Chapter 2} \lipsum[2]
\section{Section 2.1} \repeattext{\repeattext{\lipsum[1-150]}}
\chapter{Chapter 3} \lipsum[2]
\section{Section 3.1} \lipsum[2]
\end{document}
Antwort2
3em
ist zu viel für pnumwidth
. Es reicht, es bei2.5em
\makeatletter
\renewcommand{\@pnumwidth}{2.5em} %even adjusting this down doesn't really help
\renewcommand{\@tocrmarg}{4em}
\makeatother
Wenn Sie Seitenzahlen über 1000 haben, müssen Sie damit leben. Wenn Sie mehr Bilder haben möchten, können Sie den Abstand zwischen den Punkten anpassen, indem Sie
\renewcommand*{\cftdotsep}{2}
pnumwidth
Für Memoiren können Sie die und tocmarg
durch die Befehle ändern
\setpnumwidth{2.5em}
\setrmarg{4em}