我正在用回忆录写一份报告,想设置标题页的颜色。这个pagecolor
包看起来很有前途,但我不知道如何设置双面报告中两页中第一页的颜色。
举个例子,这是一个 MWE,但请注意第一个二頁面是紅色的。
\documentclass{memoir}
\usepackage{lipsum}
\usepackage{pagecolor}
\title{Test}
\begin{document}
\newpagecolor{red}
\begin{titlingpage}
\maketitle
\end{titlingpage}
\newpagecolor{white}
\chapter{First chapter}
\lipsum[1]
\end{document}
有任何想法吗?
答案1
您可以使用 afterpage 包:
\documentclass{memoir}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{pagecolor}
\usepackage{afterpage}
\title{Test}
\author{flav}
\begin{document}
\newpagecolor{gray}\afterpage{\restorepagecolor}
\maketitle
\chapter{First chapter}
\lipsum[1]
\end{document}
答案2
memoir.cls
标题的相关部分是
\newcommand{\@maketitle}{%
\let\footnote\@mem@titlefootkill
\ifdim\pagetotal>\z@
\newpage
\fi
\null
\vskip 2em%
\vspace*{\droptitle}
\maketitlehooka
{\@bspretitle \@title \@bsposttitle}
\maketitlehookb
{\@bspreauthor \@author \@bspostauthor}
\maketitlehookc
{\@bspredate \@date \@bspostdate}
\maketitlehookd
\par
\vskip 1.5em}
因此,\maketitlehookd
基本上是最后一个,应该放在第一个标题页上。\clearpage
这个钩子之后应该可以,但这不是最好的解决方案。如果第一页上的内容更多,以至于钩子的内容转到第二页,那么应该有透明页,但从这个意义上讲,第二页仍然是标题页,在我看来应该是相同的颜色。修补结尾\@maketitle
也许是更好的方法。
\documentclass{memoir}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{pagecolor}
\usepackage{xpatch}
% Patching the end of `\@maketitle` -- Assume that nothing is on the second page.
\xpatchcmd{\@maketitle}{\par
\vskip 1.5em}{%
\par
\vskip 1.5em
\clearpage\newpagecolor{white}}{}{}%
\title{Test}
\begin{document}
\newpagecolor{red}
\begin{titlingpage}
\maketitle
\end{titlingpage}
\newpagecolor{white}
\chapter{First chapter}
\lipsum[1]
\end{document}