我想出版一本书,我们的出版中心风格指南建议目录采用以下样式规则:
- 书籍的每个章节和部分都必须在目录中有其条目。
- 如果书中章节没有任何部分,则必须在目录中显示页码,前面加上点,
- 如果书中章节有嵌套部分,则目录中必须只有其名称而没有页码。
因此,我想隐藏已编号章节的页码,只显示未编号章节的页码,例如简介和结论。
MWE 如下:
\documentclass[paper=a4,
fontsize=14pt,
DIV=calc,
twoside=false,
headings=small,
numbers=endperiod,
chapterentrydots=true,
]{scrbook}
\begin{document}
\tableofcontents
\chapter*{Introduction}\addcontentsline{toc}{chapter}{Introduction}
\newpage
\newpage
\chapter{Chapter without page number}
\section{Section One}
\end{document}
答案1
更新
使用 KOMA 3.20 版(或更新版本),可以为未编号的章节定义自己的目录样式。因此,这里有一个新建议,即隐藏所有编号章节的页码,并为目录中未编号的章节条目插入虚线。
\documentclass[paper=a4,
fontsize=14pt,
DIV=calc,
twoside=false,
headings=small,
numbers=endperiod,
]{scrbook}[2016/05/10]% needs version 3.20 or newer
\RedeclareSectionCommand[
tocpagenumberbox=\blankbox
]{chapter}
\newcommand\blankbox[1]{}% do nothing
\DeclareTOCStyleEntry[
level=\chaptertocdepth,
indent=0pt,
numwidth=1.5em,
linefill=\TOCLineLeaderFill
]{chapter}{unnumberedchapter}
\makeatletter
\def\toclevel@unnumberedchapter{\chaptertocdepth}% needed if hyperref is used
\makeatother
\usepackage{xpatch}
\xpatchcmd{\addchaptertocentry}
{\addtocentrydefault{chapter}{#1}{#2}}
{\IfArgIsEmpty{#1}
{\addtocentrydefault{unnumberedchapter}{#1}{#2}}
{\addtocentrydefault{chapter}{#1}{#2}}%
}{}{\PatchFailed}
%\usepackage{hyperref}
\begin{document}
\tableofcontents
\addchap{Introduction}
\chapter{Chapter}
\section{Section One}
\end{document}
原始答案
使用 KOMA-Script 类,您可以使用
\addchap{Introduction}
反而\chapter*{Introduction}\addcontentsline{toc}{chapter}{Introduction}
。
以下是隐藏页码的建议全部目录中的编号章节:
\documentclass[paper=a4,
fontsize=14pt,
DIV=calc,
twoside=false,
headings=small,
numbers=endperiod,
]{scrbook}
\setkomafont{chapterentrypagenumber}{\nullfont}
\renewcommand\addchaptertocentry[2]{%
\IfArgIsEmpty{#1}
{\addtocontents{toc}
{\protect\begingroup
\protect\setkomafont{chapterentrypagenumber}{}%
\protect\KOMAoptions{chapterentrydots}%
}%
\addtocentrydefault{chapter}{}{#2}%
\addtocontents{toc}{\protect\endgroup}%
}
{\addtocentrydefault{chapter}{#1}{#2}}%
}
\begin{document}
\tableofcontents
\addchap{Introduction}
\chapter{Chapter without page number}
\section{Section One}
\end{document}