如何修复 titlesec 覆盖 contentname

如何修复 titlesec 覆盖 contentname

我正在使用该titlesec包来更改标题的格式: 在此处输入图片描述

对此:

在此处输入图片描述

我使用这个 MWE 来说明我这样做的方式:

\documentclass{report}
% This is the code that changes the title
\usepackage[explicit, compact]{titlesec}
\titleformat{\chapter}[display]
    {\bfseries\huge}{\filright\huge}{0ex}
    {\huge\filright Module \thechapter: #1}
\documentclass{report}

\begin{document}

\tableofcontents

\chapter{The Basics}

\end{document}

但是,当我使用此代码更改章节的格式时,目录的标题会发生变化: 在此处输入图片描述

应该只显示“内容”。我该如何修复此问题?我尝试使用 if else 语句:

\usepackage[explicit, compact]{titlesec}
\titleformat{\chapter}[display]
    {\bfseries\huge}{\filright\huge}{0ex}
    {\ifx\equal{#1}{\huge\filright \contentsname} \contentsname \else \huge\filright Module \thechapter: #1 \fi}

但这并没有改变什么。

答案1

延遲至 之後\tableofcontents

\documentclass{report}
% This is the code that changes the title
\usepackage[explicit, compact]{titlesec}

\begin{document}

\tableofcontents

\titleformat{\chapter}[display]
    {\bfseries\huge}{\filright\huge}{0ex}
    {\huge\filright Module \thechapter: #1}

\chapter{The Basics}

\end{document}

目录

答案2

由于\tableofcontents问题 a \chapter*- 一个没有编号的章节 - 您可以指定一个numberless \titleformat,其中删除与编号相关的所有内容(如前缀Module \thechapter:)。

在此处输入图片描述

\documentclass{report}

% This is the code that changes the title
\usepackage[explicit, compact]{titlesec}

\titleformat{name = \chapter}[display]
    {\bfseries\huge}{\filright\huge}{0ex}
    {\huge\filright Module \thechapter: #1}

\titleformat{name = \chapter, numberless}[display]
    {\bfseries\huge}{\filright\huge}{0ex}
    {#1}

\begin{document}

\tableofcontents

\chapter{The Basics}

\end{document}

相关内容