我的大学要求论文双面,但献词、致谢、目录等应该是单面的。
我的想法是将以下代码添加到已存在的宏中,但将其应用于每个页面...现有宏将页码样式更改为罗马字体,并更改一些其他样式。它在之后立即被调用\begin{document}
。在论文的主要部分之前,调用另一个宏,将页码设置为阿拉伯语,并为后续页面应用一些特定样式。
问题是,我不知道如何LaTeX
在第一个宏中说它应该\addblankpage
在编译每个页面后添加并在第二个宏中停止。
\newcommand{\addblankpage}{%
\clearpage%
\thispagestyle{empty}%
\addtocounter{page}{-1}%
\clearpage%
}
\begin{document}
\maketitle
% Single sided, a blank page after every page should be generated
\preface % The first macro
\input{statutory-declaration}
\input{note-of-thanks}
\input{dedication}
\input{abstract}
\tableofcontents
% Double sided, no extra page should be generated
\main % The second macro
\input{sections/introduction}
\input{sections/experiments}
\input{sections/interpretation}
...
\end{document}
答案1
下面在 的帮助下完成您想要的操作atbegshi
。
\documentclass{article}
\usepackage{atbegshi,blindtext}
\title{I didn't post an MWE}
\author{The one who forgot to post an MWE}
\makeatletter
\newif\ifpreface@nextblank
\newcommand*\preface@blanks{}%
\let\preface@blanks\relax
\newcommand*\preface
{%
\global\preface@nextblanktrue
\gdef\preface@blanks%
{%
\ifpreface@nextblank
\thispagestyle{empty}%
\addtocounter{page}{-1}%
\mbox{}%
\clearpage
\global\preface@nextblankfalse
\else
\global\preface@nextblanktrue
\fi
}%
\AtBeginShipout{\preface@blanks}
}
\newcommand*\main
{%
\global\let\preface@blanks\relax
}
\makeatother
\begin{document}
\maketitle
% Single sided, a blank page after every page should be generated
\preface % The first macro
\blinddocument
\tableofcontents
% Double sided, no extra page should be generated
\main % The second macro
\blinddocument
\end{document}
上面没有做的事情(但是会很好):
- 检查是否
\preface
在左页或右页上使用 \clearpage
(s)当\preface
或\main
用于下一页时