Titlesec은 챕터의 홀수 및 짝수 페이지 형식을 무시합니다.

Titlesec은 챕터의 홀수 및 짝수 페이지 형식을 무시합니다.

짝수 페이지 또는 홀수 페이지에 나타나는지 여부에 따라 챕터의 모양 형식을 지정하려고 합니다. titlesec 문서에 따르면 옵션 page=evenpage=odd. 이는 섹션에서는 작동하지만 장에서는 작동하지 않습니다. MWE는 다음과 같습니다.

\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterB}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterC}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\end{document} 

\chaptertitlesec 명령에서 둘 다 바꾸면 \section작동합니다.

그럴 이유가 있나요? \titleformat홀수 페이지와 짝수 페이지에 다른 명령을 어떻게 사용할 수 있나요 ?

답변1

기본적으로 는 titlesec장 제목을 조판하는 표준 방식으로 많이 작동하지 않습니다. 즉, 여전히 에 의존합니다 \@makechapterhead.

제목 클래스를 다시 선언해야 합니다.

\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}

\usepackage[rigidchapters]{titlesec}
\usepackage{lipsum}

\titleclass{\chapter}{top}
\titleformat{name=\chapter,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\chapter,page=even}{}{EVEN:}{.5em}{}

\begin{document}

\chapter{ChapterA}
\section{Section a} \lipsum[1-2]

\chapter{ChapterB}
\section{Section a} \lipsum[1-2]

\end{document}

여기에 이미지 설명을 입력하세요

답변2

page예, 해당 옵션이 에는 적용되지 않는 것 같습니다 \chapter.

다음과 같이 선언하여 이 문제를 해결할 수 있습니다.

\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}

\ifthenelse패키지의 도움으로 ifthen.

MWE:

\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\usepackage{ifthen}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}

\begin{document}
\chapter{ChapterA}
\section{Section A} \lipsum[1-2]
\chapter{ChapterB}
\section{Section B} \lipsum[1-2]
\chapter{ChapterC}
\section{Section C} \lipsum[1-2]
\end{document} 

출력(적어도 두 개의 컴파일이 필요합니다!)

여기에 이미지 설명을 입력하세요

관련 정보