是否有人知道如何\raggedright
在偶数页上左对齐节标题(so)(文档的正常行为),以及如何\raggedleft
在奇数页上右对齐(so)(我在下面的 MWE 中显示的内容)?
我在下面放置了两页代码的图片,并用箭头表示我想要添加的内容。
我知道\renewcommand\chapnamefont{\huge\bfseries\raggedleft}
将所有章节标题放在页面右侧 - 但我需要它们在偶数页和奇数页上交替。我读到过在回忆录中这样做比在书本课中更容易,但我甚至猜不出该怎么做。回忆录很新!
感谢您的任何建议。
\documentclass[12pt, openright]{memoir}
\usepackage{lipsum}
%% chapter always aligns right which is fine as chapters only appear on odd numbered pages
\renewcommand\chapnamefont{\huge\bfseries\raggedleft}
%% I want even page sections to be \raggedright and viceversa so they will match the headers (not shown in this MWE)
\setsecheadstyle{\large\bfseries\raggedleft}
\begin{document}
\chapter{Name of chapter 1}
\section{sec 1}
\clearpage
\section{sec 2}
\end{document}
答案1
您几乎已经完成了 --- 使用 的memoir
宏\checkoddpage
。在您的memoir
序言中输入:
% \strictpagecheck % uncomment if problems at new pages
\newcommand{\oddright}{\checkoddpage\ifoddpage\raggedleft\fi}
\setsecheadstyle{\oddright\Large\bfseries}
如果你想要类似的效果,\subsection
那么添加
\setsubsecheadstyle{\oddright\large\bfseries}
> texdoc memoir
有关奇数/偶数页检查和更改节标题样式的更多信息,请参阅手册 () 中的第 18.12 和 6.6 节。
答案2
免责声明- 我知道您的问题是关于如何使用 类来实现这memoir
一点,该类有自己的内置工具,可以与 等包的功能相匹配titlesec
。但是,在有人发布memoir
解决方案之前,这里有一种使用 来实现的方法titlesec
。
\documentclass[12pt, openright]{memoir}
\usepackage{showframe} %<---- Just for testing
%% chapter always aligns right which is fine as chapters only appear on odd numbered pages
\renewcommand\chapnamefont{\huge\bfseries\raggedleft}
\usepackage{titlesec}
\titleformat{name=\section,page=odd}{\large\bfseries\raggedleft}{\thesection}{1em}{}
\titleformat{name=\section,page=even}{\large\bfseries\raggedright}{\thesection}{1em}{}
\begin{document}
\chapter{Name of chapter 1}
\section{sec 1}
\clearpage
\section{sec 2}
\end{document}