我有这两部分代码:
\documentclass[double,12pt, twoside]{book}
\usepackage{graphics}
\usepackage[a4paper]{geometry}
%--------------first one-----------------
\titleformat{\chapter}[display]
{\normalfont\Large\raggedleft}
{\MakeUppercase{\chaptertitlename}
\rlap{ \resizebox{!}{1.5cm}{\thechapter} \rule{5cm}{1.5cm}}}
{10pt}{\Huge}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
%--------------second one-----------------
\titleformat{\chapter}[display]
{\normalfont\Large\raggedright}
{\hspace{0cm}\llap{%
\rule{5cm}{1.5cm}\hspace{0.2cm}\resizebox{!}{1.5cm}{\thechapter}\hspace{0.2cm}}%
\MakeUppercase{\chaptertitlename}}
{10pt}{\Huge}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\usepackage{lipsum}
\setcounter{chapter}{2}
\begin{document}
\chapter{Implementation}
\lipsum
\end{document}
我想要第一个用于奇数页,第二个用于偶数页。我是 Latex 新手,无法弄清楚那线。
PS. 抱歉,我的问题重复了,我该如何删除一个问题?
答案1
您可以使用问题中提出的相同逻辑,检查页面是否为奇数。KOMA 并memoir
为此内置了函数,但book
类没有。网站上已经有一个关于此问题的问题:如果则否则奇数页/偶数页。该包changepage
是建议之一。然后要更改格式\chapter
,请使用该titlesec
包。
但要使此功能生效,您必须使用选项加载book
类openany
,因为默认情况下它设置为openright
,那么章节标题永远不会出现在偶数页上。此外,您不需要geometry
将纸张设置为 A4 的包,您可以将其直接传递给类。
\documentclass[a4paper, double, 12pt, twoside, openany]{book}
\usepackage{titlesec}
\usepackage{changepage}
\strictpagecheck
\makeatletter
\titleformat{\chapter}[display]%
{\normalfont\Large\checkoddpage%
\ifoddpage%
\raggedleft%
\else%
\raggedright%
\fi}%
{\checkoddpage%
\ifoddpage%
\MakeUppercase{\chaptertitlename}%
\rlap{ \resizebox{!}{1.5cm}{\thechapter} \rule{5cm}{1.5cm}}%
\else%
\hspace{0cm}\llap{%
\rule{5cm}{1.5cm}\hspace{0.2cm}\resizebox{!}{1.5cm}{\thechapter}\hspace{0.2cm}}%
\MakeUppercase{\chaptertitlename}%
\fi}
{10pt}{\Huge}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\makeatother
\usepackage{lipsum}
\begin{document}
\chapter{Odd page}
\lipsum[1-2]
\chapter{Even page}
\lipsum[3-4]
\end{document}