奇数页右侧有精美章节标题,奇数页左侧有精美章节标题

奇数页右侧有精美章节标题,奇数页左侧有精美章节标题

我有这两部分代码:

\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包。

但要使此功能生效,您必须使用选项加载bookopenany,因为默认情况下它设置为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}

在此处输入图片描述

相关内容