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
after \usepackage{titlesec}
, или явно переопределяя sectionmark
/ subsectionmark
after \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
***********