我正在尝试为书籍设计一个单面布局memoir
(即:每页都应具有相同的左右边距),但我希望页眉和页脚也具有不同的边距:页眉应始终位于左侧,左边距较小,而页码出现在页脚中,对于奇数页应位于最右侧,对于偶数页应位于最左侧。
到目前为止,一切都很好,我能够使用fancyhdr
(和ifthenelse
包)来模仿这种行为。但是我无法为页码定义原则性的边距:我试图实现的是让左边距等于右边距,就像它们是在双面布局上一样。
以下是我目前编写的代码:
% !TEX encoding = UTF-8 Unicode
\documentclass[oneside]{memoir}
\usepackage{polyglossia}
\setmainlanguage{italian}
\setmainfont{Plantin MT Pro}
\usepackage{anyfontsize}
\usepackage{ragged2e}
\usepackage{titlesec}
\usepackage[head=10mm]{geometry}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{showframe}
\usepackage{ifthen}
\usepackage[all]{nowidow}
\let\footruleskip\undefined
\usepackage{fancyhdr}
\newcommand{\footerfont}{\fontsize{9}{10}\selectfont\setmainfont{Founders Grotesk}}
\newcommand{\headerfontii}{\fontsize{7}{8}\selectfont}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\uppercase{#1}}{}}
\renewcommand{\sectionmark}[1]{\markright{\uppercase{#1}}}
\fancyhead{}
\fancyheadoffset{16mm}
\fancyfootoffset{17mm}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot{}
\fancyhead[LO]{\ifthenelse{\isodd{\value{page}}}{\colorbox{White}{\raisebox{6mm}[0cm][0cm]{\headerfontii\rightmark}}}{\colorbox{White}{\raisebox{6mm}[0cm][0cm]{\headerfontii\leftmark}}}}
\fancyfoot[L]{\ifthenelse{\isodd{\value{page}}}{}{\colorbox{White}{\raisebox{-23mm}[0cm][0cm]{\footerfont\thepage}}}}
\fancyfoot[R]{\ifthenelse{\isodd{\value{page}}}{\colorbox{White}{\raisebox{-23mm}[0cm][0cm]{\footerfont\thepage}{}}}}
\setstocksize{225mm}{160mm} %Finale
\settrimmedsize{\stockheight}{\stockwidth}{*}
\settrims{0cm}{0cm}
\setlrmarginsandblock{26mm}{42mm}{*}
\setulmarginsandblock{25mm}{42mm}{*}
%\settypeblocksize{152mm}{92mm}
%\setlrmargins{5mm}{*}{*}
%\setlrmargins{*}{*}{1}
\checkandfixthelayout
\fixpdflayout
\title{Italic. Identità Nazionale Regionale, nuovi codici visivi di rappresentazione}
\author{}
\date{} % Delete this line to display the current date
% \markboth{\thesection}{pisello}
%%% BEGIN DOCUMENT
\begin{document}
\fontsize{12}{14.4}\selectfont
\RaggedRight
\end{document}
%%% Local Variables:
%%% mode: xelatex
%%% TeX-master: t
%%% End:
看起来是这样的:你可以看到第一页数字左边的边距小于第二页数字右边的边距。有什么方法可以实现这一点?
更新:我想要的是让红色边距具有相同的长度(左页较小的边距)并且与绿色边距(即文本边距)不同(这已经通过设置参数实现fancyheadoffset
)
答案1
这可以作为起点。我们使用一个twoside
设置,然后将其欺骗成看起来像oneside
布局
\documentclass[a4paper]{memoir}
% just to show they are vastly different
\setlrmarginsandblock{2cm}{4cm}*
\checkandfixthelayout
% trick
\setlength\evensidemargin{\oddsidemargin}
\usepackage{lipsum}
\makepagestyle{m}
\makeoddhead{m}{\leftmark}{}{}
\makeevenhead{m}{\leftmark}{}{}
\makeoddfoot{m}{}{}{\thepage}
\makeevenfoot{m}{\thepage}{}{}
\copypagestyle{n}{m}
\makeoddhead{n}{}{}{}
\makeevenhead{n}{}{}{}
\aliaspagestyle{chapter}{n}
\pagestyle{m}
\begin{document}
\chapter{Test}
\lipsum[1-15]
\end{document}