如何使目录中的点号适应页码数字?

发布于 2023-02-10 14:33:02

目前在LaTeX中排出来的效果是这样的
image.png
有什么办法能够变成下面这样吗?
image.png
代码示意如下

\documentclass{ctexart}
\usepackage[titles]{tocloft}
\begin{document}
\renewcommand{\cftsecdotsep}{0.5}
\renewcommand{\cftsubsecdotsep}{0.5}
\renewcommand{\cftdot}{$\cdot$}
\renewcommand{\cftsecpagefont}{\rmfamily}
\cftsetpnumwidth{1em}
\tableofcontents
\setcounter{page}{9}
\section{示例}
\clearpage
\subsection{示例}
\end{document}

查看更多

关注者
1
被浏览
1.5k
雾月
雾月 2023-02-11
这家伙很懒,什么也没写!

tocloft 中,是由 \cftpartfillnum \cftchapfillnum \cftsecfillnum \cftsubsecfillnum 等命令输出页码的。
要实现第二种效果,需要重定义对应的 \cft..fillnum 命令:

\makeatletter
\renewcommand{\cftsecfillnum}[1]{%
  {\cftsecleader}\nobreak
  \makebox{\cftsecpagefont #1}\cftsecafterpnum\par
}
\makeatother

image.png

\documentclass{ctexart}
\usepackage[titles]{tocloft}
\begin{document}
\renewcommand{\cftsecdotsep}{0.5}
\renewcommand{\cftsubsecdotsep}{0.5}
\renewcommand{\cftdot}{$\cdot$}
\renewcommand{\cftsecpagefont}{\rmfamily}
\cftsetpnumwidth{1em}
\makeatletter
\renewcommand{\cftsecfillnum}[1]{%
  {\cftsecleader}\nobreak
  \makebox{\cftsecpagefont #1}\cftsecafterpnum\par
}
\makeatother
\tableofcontents
\setcounter{page}{9}
\section{示例}
\clearpage
\subsection{示例}
\end{document}
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览