将 tocloft 与 titlesec 结合使用

将 tocloft 与 titlesec 结合使用

我正在使用 tocloft 来修改目录的外观。但它会禁用使用 titlesec 修改的目录标题的样式。

如果我禁用 \usepackage{tocloft} 和两个 renew 命令,我的标题将会被加下划线。

我怎样才能解决这个问题?

%! TEX program = lualatex
% minimal.tex
\documentclass[a4paper, 10pt]{article}

\usepackage{titlesec}
\usepackage{tocloft}

\begin{document}

\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\renewcommand{\cftdotsep}{1}

\titleformat{\section}
  {\normalfont\Large\bfseries}{\thesection}{1em}{}[{\titlerule[0.2pt]}]

  \tableofcontents

  \newpage

  \section{Content}
  Write something
\end{document}

答案1

既然,你加载了,titlesec为什么不使用titletoc?你可以删除内容标题下的规则,方法是为未编号的部分定义一个特定的格式,关键是numberless

\documentclass[a4paper, 10pt]{article}

\usepackage{titlesec}
\usepackage{titletoc}

\titleformat{\section}
  {\normalfont\Large\bfseries}{\thesection}{1em}{}[{\titlerule[0.2pt]}]
%
\titleformat{name=\section, numberless}
 {\normalfont\Large\bfseries}{}{0em}{}

 \titlecontents{section}[0em]{\medskip\bfseries}%
 {\thecontentslabel.\enspace}%numbered
 {}%numberless
 {\titlerule*[0.4pc]{.}\contentspage}%

\begin{document}

  \tableofcontents

  \newpage

  \section{Content}
  Write something

\end{document} 

在此处输入图片描述

答案2

或者,您可以tocloft使用该titles选项加载;另请参阅手册:http://mirrors.ctan.org/macros/latex/contrib/tocloft/tocloft.pdf

(从这里:https://tex.stackexchange.com/a/308414

相关内容