简单来说,解决我的问题的方法是,对于第一部分之前的所有内容,奇数边距必须与偶数边距交换,反之亦然。在第一部分,一切都必须正常。
问题是我们无法多次修改evensidemargin和oddsidemargin。
我在启用了双面选项的文章类中。(文档将被装订。)我的奇数边距与偶数边距不一样。
要求正文的第一页以 1 为编号;我不需要对标题页、摘要、目录等进行编号。我更喜欢将该部分的第一页放在左侧。在 MWE 中,页面从它们必须的位置开始,即左侧和右侧。
这是我的大纲细节,
\documentclass[twoside,a4paper, 11pt]{article}
\newcommand{\emptypage}{\clearpage\null\thispagestyle{empty}\clearpage}
\usepackage{lipsum}
\setlength{\paperheight}{297mm}
\setlength{\paperwidth}{210mm}
\setlength{\hoffset}{-1in}
\setlength{\voffset}{-1in}
\setlength{\textheight}{252mm}
\setlength{\textwidth}{150mm}
\setlength{\evensidemargin}{40mm}
\setlength{\oddsidemargin}{25mm}
\setlength{\topmargin}{15mm}
\setlength{\headheight}{4mm}
\setlength{\headsep}{6mm}
\setlength{\footskip}{9mm}
\setlength{\marginparsep}{5mm}
\setlength{\marginparwidth}{25mm}
\setlength{\marginparpush}{0mm}
%\addtolength{\textheight}{0in}
%\addtolength{\textwidth}{0in}
\setlength{\parindent}{0ex}
\setlength{\parskip}{1ex}
\renewcommand{\baselinestretch}{1.11}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%é
\begin{document}
\pagenumbering{roman}
\begin{titlepage}
TiTle
\end{titlepage}
\emptypage
\begin{abstract}
Summary
\end{abstract}
\clearpage
\begin{abstract}
Summary number 2
\end{abstract}
\emptypage
\tableofcontents
\clearpage
%\setcounter{page}{1}
\pagenumbering{arabic}
\normalfont
\normalsize
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\section{first section}
\lipsum[11-22]
\end{document}
答案1
我认为这个包geometry
有点过头了(我也不想加载太多包)。我设法用
\advance\hoffset by the difference between \evensidemargin and \oddsidemargin
然而,目录确实是一场噩梦,因为它横跨多页。当然,我无法访问该机制,即使我可以应用上述移位,它仍然是一般性的,右侧的页面没有移位正确的量。
我想知道 patch 命令是否etoolbox
有用
如何判断我们是在奇数页还是偶数页或ifthenelse
包,但我没有想出解决方案,因为我对 LaTeX 的了解非常有限。可以geometry
轻松处理 ToC 吗?
好的,使用包确实ifoddpage
可以工作,但是我发现这种 hack 非常丑陋,因为它适用于整个文档,而不仅仅是目录)
\newlength{\diffmargins}
\setlength\diffmargins{\evensidemargin}
\addtolength{\diffmargins}{-\oddsidemargin}
\newcommand{\emptypage}{\clearpage\null\thispagestyle{empty}\clearpage}
\usepackage{ifoddpage}
\makeatletter
\renewcommand\tableofcontents{%
\thispagestyle{empty}%
\section*{\contentsname
\@mkboth{}
{}}%
% \small%
\checkoddpage
\ifoddpage
\advance\hoffset by \diffmargins
\else
\advance\hoffset by -\diffmargins
\fi
\@starttoc{toc}%
\thispagestyle{empty}%
\checkoddpage
\ifoddpage
\advance\hoffset by 2\diffmargins
\else
\advance\hoffset by -\diffmargins
\fi
}
\makeatother
然后在文档中
\tableofcontents
\emptypage
\emptypage
\advance\hoffset by -\diffmargins
\pagenumbering{arabic}
\normalfont
\normalsize
我相信 \newgeometry 只会在目录中重新定义时使用,而不会在外面使用;所以它会更简单。