在章节号下方、章节标题之前添加水平线,但不将该行添加到目录中

在章节号下方、章节标题之前添加水平线,但不将该行添加到目录中

我正在尝试将报告章节标题格式化为在章节号下方但在章节名称上方有一条水平线,如下所示

章节
‘水平线’
章节名称

我可以直接使用\titlesec,但是它还会将水平线添加到目录、图片列表等中,而这些我并不需要。有没有简单的方法可以解决这个问题?我尝试了命令中水平线的各种位置,\titleformat但都无济于事。这是一个 MWE:

\documentclass[12pt]{report}

\usepackage{titlesec}

\titleformat{\chapter}[display]
{\centering\Large\scshape}
{\chaptername~\thechapter}
{-12pt}
{\rule{0.5\linewidth}{0.8pt}\\\Huge\bfseries}

\begin{document}
    
    
    \tableofcontents % I don't want the horizontal line above this
    
    \chapter{Example Title}
    
    Here is the text in the chapter.
    
\end{document}

答案1

您是否希望目录标题也保持居中。有一种方法可以\titleformat在序言中使用静止内容,而不会影响命令的星号版本\chapter

\documentclass[12pt]{report}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\centering\Large\scshape}
{\chaptername~\thechapter\\[-10pt]\rule{0.5\linewidth}{0.8pt}}
{-2pt}
{\Huge\bfseries}

\begin{document}
    
\tableofcontents
    
\chapter{Example Title 1}
    Here is the text in the chapter.

\chapter*{Example Title 2}
    
\end{document}

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

答案2

\titleformat正如评论所说,只需移动命令的调用这样\tableofcontents,直到目录排版完成后,格式才会改变。

\documentclass[12pt]{report}

\usepackage{titlesec}


\begin{document}
    
    
    \tableofcontents % I don't want the horizontal line above this
    
\titleformat{\chapter}[display]
{\centering\Large\scshape}
{\chaptername~\thechapter}
{-12pt}
{\rule{0.5\linewidth}{0.8pt}\\\Huge\bfseries}

    \chapter{Example Title}
    
    Here is the text in the chapter.
    
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容