![双边的替代方案](https://linux22.com/image/263683/%E5%8F%8C%E8%BE%B9%E7%9A%84%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88.png)
我正在使用报告类,并希望有一个“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