双边的替代方案

双边的替代方案

我正在使用报告类,并希望有一个“twoside”选项的替代方案。我希望章节和顶级目录元素从右侧页面开始,但我不想要 twoside 附带的任何其他布局干扰内容。

\documentclass[a4paper,12pt, leqno]{report}
\begin{document}
\end{document}

答案1

twoside确实影响不大。它提供了在奇数页和偶数页上使用不同边距和页眉的机会,并且可以通过 检测到,\cleardoublepage但仅此而已。

您关于“布局骚扰,东西”的评论不是很具体,但我推断您希望边距和标题相同,因此您可以将其放在序言中,这只是从报告类中恢复单侧设置。

\documentclass[a4paper,twoside, openright]{report}

\makeatletter
    \setlength\@tempdima        {\paperwidth}
    \addtolength\@tempdima      {-\textwidth}
    \setlength\oddsidemargin    {.5\@tempdima}
    \addtolength\oddsidemargin  {-1in}
    \setlength\marginparwidth   {.5\@tempdima}
    \addtolength\marginparwidth {-\marginparsep}
    \addtolength\marginparwidth {-0.4in}
    \addtolength\marginparwidth {-.4in}
    \setlength\evensidemargin\oddsidemargin

  \def\ps@headings{%
    \let\@oddfoot\@empty\let\@evenfoot\@oddfoot
    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}\let\@evenhead\@oddhead
    \let\@mkboth\markboth
    \def\chaptermark##1{%
      \markright {\MakeUppercase{%
        \ifnum \c@secnumdepth >\m@ne
            \@chapapp\ \thechapter. \ %
        \fi
        ##1}}}}

\makeatother

答案2

如果通过“molesting stuff”你指的是奇数页和偶数页上的不同边距,那么这将满足你的需要:

\documentclass[a4paper,twoside,openright]{report}

\usepackage{geometry}
\geometry{hratio=1:1,textwidth=345pt}

\usepackage{kantlipsum} % for mock text

\begin{document}
\chapter{A}
\kant
\chapter{B}
\kant[1]
\end{document}

第二章将从第 5 页开始,第 4 页留空。如果您还需要页眉,我建议使用fancyhdr

答案3

根据\cleardoublepage你的工作原理,你可以定义以下命令:

\makeatletter
\def\nextOnRight{\clearpage \ifodd\c@page\else
    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi}
\makeatother

\nextOnRight然后在您想要在右侧页面上打开的元素之前使用。这个小技巧是必要的,因为只有在使用选项\cleardoublepage时它才会发挥作用(如果没有,它只会发出一个)twoside\clearpage

相关内容