KOMAscript 中溢出的 hbox toc

KOMAscript 中溢出的 hbox toc

我正在尝试修复 Latex 生成的溢出问题,该问题会占据整个页面。不过,我也遇到了类似的 ToC 消息

在此处输入图片描述 在此处输入图片描述

现在查看有问题的目录,我注意到页码略微超出了页边距。如何解决这个问题?我理解出现此问题是因为页码是粗体。我目前正在使用 KOMAscript 类。

一个最小的工作示例

\documentclass[a4paper,11pt,twoside,draft]{scrbook}

\usepackage{lipsum}
\usepackage[
    top = 3cm, 
    bottom = 3cm, 
    right = 3cm, 
    left = 3cm, 
    headsep = 25pt, 
    bindingoffset = 5mm
]{geometry}

\begin{document}

\tableofcontents

\chapter{MyOne}
\lipsum[1-250]

\chapter{MyTwo}
\lipsum[1-250]

\chapter{Mythree}
\lipsum[1-250]\lipsum[1-250]

\chapter{MyFour}
\lipsum[1-250]

\chapter{MyFive}
\lipsum[1-250]

\end{document}

答案1

正如评论中所述,您必须增加为页码保留的框的宽度。您只能对一个 ToC 级别的条目执行此操作,在您的情况下chapter,条目可以使用\DeclareTOCStyleEntry或使用\RedeclareSectionCommand

\documentclass[a4paper,11pt,twoside,draft]{scrbook}

\usepackage{lipsum}
\usepackage[
    top = 3cm, 
    bottom = 3cm, 
    right = 3cm, 
    left = 3cm, 
    headsep = 25pt, 
    bindingoffset = 5mm
]{geometry}

\DeclareTOCStyleEntry[pagenumberwidth=2em]{chapter}{chapter}
%\RedeclareSectionCommand[tocpagenumberwidth=2em]{chapter}

\begin{document}

\tableofcontents

\chapter{MyOne}
\lipsum[1-250]

\chapter{MyTwo}
\lipsum[1-250]

\chapter{Mythree}
\lipsum[1-250]\lipsum[1-250]

\chapter{MyFour}
\lipsum[1-250]

\chapter{MyFive}
\lipsum[1-250]

\end{document}

使用 \DeclareTOCStyleEntry

参见第 15.3 节和表 15.2 和图 15.3KOMA 脚本手册以获取有关\DeclareTOCStyleEntry样式的更多信息和功能tocline,并参阅第 21.8 节以获取有关\RedeclareSectionCommand以及如何使用它的更多信息,以便不仅配置分段命令,还配置相应的 ToC 条目。

如果您想要更改多个条目,您可以使用\RedeclareSectionCommands(请注意s末尾的 )代替\RedeclareSectionCommad或者\DeclareSectionTOCEntries代替\DeclareSectionTOCEntry

要更改所有条目的默认值,您只需重新定义\@pnumwidth

\documentclass[a4paper,11pt,twoside,draft]{scrbook}

\usepackage{lipsum}
\usepackage[
    top = 3cm, 
    bottom = 3cm, 
    right = 3cm, 
    left = 3cm, 
    headsep = 25pt, 
    bindingoffset = 5mm
]{geometry}

\makeatletter
\renewcommand*{\@pnumwidth}{2em}
\makeatother

\begin{document}

\tableofcontents

\chapter{MyOne}
\lipsum[1-250]

\chapter{MyTwo}
\lipsum[1-250]

\chapter{Mythree}
\lipsum[1-250]\lipsum[1-250]

\chapter{MyFour}
\lipsum[1-250]

\chapter{MyFive}
\lipsum[1-250]

\end{document}

注意:此外,更改条目的右缩进也是一个好主意。在这种情况下,请参阅 ToC 条目样式功能rightindent或默认\@tocrmarg

相关内容