titlesec은 fancyhdr이 문서 클래스를 잘못 취급하게 만듭니다.

titlesec은 fancyhdr이 문서 클래스를 잘못 취급하게 만듭니다.

MWE는 매우 간단합니다.

\documentclass[twoside]{article}
%\usepackage{titlesec}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{fancy}
\section{tist1}
\subsection{a}
\newpage
\subsection{b}
\end{document}

두 번째 페이지에는 왼쪽에 하위 섹션 이름이 있고 오른쪽에 섹션 이름이 있습니다.

이제 titlesec가져오기의 주석을 제거하면 동작이 변경됩니다. 왼쪽에는 섹션 이름이 있고 오른쪽에는 아무것도 없습니다(실제로는 존재하지 않는 장 이름의 팬텀).

일반적으로 클래스 에 있지만 으로 titlesec재정의하기 때문에 발생합니다 . 패키지 에는 다음과 같은 검사가 있습니다.\chapter\relaxundefinedarticlefancyhdr

\ifx\chapter\@undefined

실패하고 마크는 장이 있는 클래스에서와 같이 정의됩니다. 나는 그것을 해결할 수 있습니다

\let\chapter\undefined

after \usepackage{titlesec}, 또는 sectionmark/ subsectionmarkafter 를 명시적으로 재정의함으로써 가능 \pagestyle{fancy}합니다. 그런데 내가 왜 그래야 합니까? 이것은 버그입니까 titlesec, 아니면 어떤 목적이 \chapter있습니까 \relax?

UPD:

 *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
 ***********

관련 정보