짝수 페이지 또는 홀수 페이지에 나타나는지 여부에 따라 챕터의 모양 형식을 지정하려고 합니다. titlesec 문서에 따르면 옵션 page=even
및 page=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}
\chapter
titlesec 명령에서 둘 다 바꾸면 \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}
출력(적어도 두 개의 컴파일이 필요합니다!)