对此:
我使用这个 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}