MWE 非常简单:
\documentclass[twoside]{article}
%\usepackage{titlesec}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{fancy}
\section{tist1}
\subsection{a}
\newpage
\subsection{b}
\end{document}
在第二页上,左边是子部分名称,右边是部分名称。
现在,取消注释导入titlesec
,行为就会发生变化:左边是章节名称,右边什么都没有(实际上是一个不存在的章节名称的幻像)。
发生这种情况是因为titlesec
重新定义\chapter
为\relax
,尽管通常它undefined
在article
课堂上。该fancyhdr
包有以下检查:
\ifx\chapter\@undefined
它失败了,并且分数被定义为有章节的课程。我可以用
\let\chapter\undefined
在 之后\usepackage{titlesec}
,或者通过明确重新定义sectionmark
/subsectionmark
在 之后\pagestyle{fancy}
。但我为什么要这样做?这是 中的一个错误titlesec
,还是设置\chapter
为\relax
有某种目的?
更新:
*File List*
article.cls 2018/09/03 v1.4i Standard LaTeX document class
size10.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
titlesec.sty 2016/03/21 v2.10.2 Sectioning titles
fancyhdr.sty 2017/06/30 v3.9a Extensive control of page headers and footers
***********