我正在尝试为一本书创建封底,但我不想手动确保它以偶数页结束。但是,由于我有不同的章节,并且它们的编号不同(例如序言、附录等),因此我很难确定当前页面是偶数页还是奇数页。
\cleardoublepage
强制下一页为奇数页,因此只需执行 ,\newpage
新页面将为偶数页,这应该是一件简单的事情。但我无法让它工作。
下面是一个在编号未重置的环境中工作的最小示例。但由于在我的情况下,最后的编号可能不是从奇数页开始,所以它似乎并不总是有效。
\documentclass[10pt,twoside,twocolumn,openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[pages=all]{background}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\blindtext[5]
\cleardoublepage
\ifodd\value{page}
\hbox{}\newpage
\fi
\begin{titlepage}
\hbox{}
\backgroundsetup{
scale=1,
opacity=1.0,
angle=0,
color=black,
contents={%
\includegraphics[width=1.1\paperwidth]{bgcover.jpg}
}
}
\end{titlepage}
\end{document}
这lastpage
包似乎也无法找到总页数,\pageref{LastPage}
它给出了最后一个数字部分的编号(例如,使用罗马数字时为 III)。因为当时的附录有 3 页长,尽管整个文档当时有 50 页长。这是由于使用\setcounter{page}{1}
。
我是否应该尝试创建一个计数器或某种可以记住并将每个页面之前的页面加在一起的东西\setcounter{page}{1}
? 如果是这样,那么最简洁的方法是什么?
答案1
为了解决这个问题,我不得不删除环境titlepage
,因为它似乎总是将其内容放在奇数页上。为了模仿titlepage
环境的正确居中,我使用geometry
包并在添加后盖之前设置负边距(参见代码中的注释)。
我总是移动到新页面,然后使用命令检查其是否为偶数/奇数ifodd
。只有当我在奇数页时,我才会发出另一个命令clearpage
(请注意,受保护的空间会向页面添加不可见的内容,从而迫使编译器移动到新页面)。
按照 cfr 的评论进行编辑:您可以使用该nextpage
包来负责偶数页和奇数页的手动检查。
\documentclass[10pt,twoside,twocolumn,openany]{book}
\usepackage[utf8]{inputenc}
\usepackage[pages=all]{background}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{geometry}
\usepackage{nextpage}
\begin{document}
\blindtext[10]
\cleartoevenpage% this line replaces the next 5 lines
% \clearpage% move to the next empty page
% \ifodd\thepage% if that page is odd,
% \thispagestyle{empty}% supress page numbering and headers for the page to be left empty
% \ \clearpage% add a protected space to force tex to move to the next page
% \else% do nothing
% \fi
\newgeometry{margin=-.05\paperwidth} % setting a negative margin to make sure the figure will be centered left/right (taken care of in your MWE by the titlepage environment). Make sure the number corresponds with the width of the figure you set below
\thispagestyle{empty} % supress page numbering and headers for the back cover
\begin{figure}[p] % float environment placing the float on its own page will center top/bottom. Will go on this page, since you emptied the float queues before using the \cleardoublepage commands
\includegraphics[width=1.1\paperwidth]{example-image}
\end{figure}
\end{document}