假设我有两个大的浮动环境,例如图形,我想将其中一个显示在左页,将另一个显示在右页。发生这种情况是因为我更关心比较图形的容易程度,而不是让它们靠近定义的位置。
我现在能做的就是p
为两种环境设置说明符(实际上不需要,因为它们足够大,默认情况下可以放置在浮动页面中),查看它们的位置,如果位置不是我想要的,即第一个图形在右页,第二个图形在下一页左页,则更改我在代码中包含图形的位置。
这种方法很烦人,原因有二:
- 为了获得正确的结果,我将代码中包含图形的位置移到别处,这意味着有时为了将图形放在文档中的正确位置,我必须将它们放在代码的另一个部分。结果是错误的标签。
- 如果我在该页之前添加/删除内容,它们在文档中的显示方式可能会再次改变。因此,我必须不断移动这些图形,直到完成文档或只能将它们放在最后。
有没有办法说明给定的图形是否必须放在左/右页面上?或者,有没有办法定义从左页面开始的双浮动页面?
答案1
在顺利的日子里,您可以尝试afterpage
,它不是最稳定的软件包,但可以用来自动到达接下来两页的开头,此时您可以将这两个数字相加。
\documentclass[a5paper,twoside]{article}
\def\zz{One two three four five six. \stepcounter{enumi} \Roman{enumi}, \roman{enumi}, seven eight nine ten. }
\def\zzz{\zz\zz red blue green \the\inputlineno, yellow. \zz\zz\zz\par\zz\zz\zz}
\usepackage{afterpage}
\begin{document}
\begin{titlepage}
zzz
\end{titlepage}
\section{One}
\zzz \zz\zzz
\section{Two}
\zz
\afterpage{%
\ifodd\value{page}\relax
\expandafter
\afterpage
\fi
{\begin{figure}[p]
\raggedright
\rule{.7\textwidth}{.7\textheight}
\caption{on the left}
\end{figure}
\begin{figure}[p]
\raggedleft
\rule{.7\textwidth}{.7\textheight}
\caption{on the right}
\end{figure}}}
\zzz \zz \zz\zzz\zzz\zzz\zzz\zzz\zzz\zzz\zzz
\section{Three}
\afterpage{%
\ifodd\value{page}\relax
\expandafter
\afterpage
\fi
{\begin{figure}[p]
\raggedright
\rule{.7\textwidth}{.7\textheight}
\caption{on the left}
\end{figure}
\begin{figure}[p]
\raggedleft
\rule{.7\textwidth}{.7\textheight}
\caption{on the right}
\end{figure}}}
\zz \zzz\zzz \zz \zz \zzz
\afterpage{%
\ifodd\value{page}\relax
\expandafter
\afterpage
\fi
{\begin{figure}[p]
\raggedright
\rule{.7\textwidth}{.7\textheight}
\caption{on the left}
\end{figure}
\begin{figure}[p]
\raggedleft
\rule{.7\textwidth}{.7\textheight}
\caption{on the right}
\end{figure}}}
\zzz\zzz\zzz\zzz\zzz\zzz\zzz\zzz
\section{four}
\zz \zzz\zzz\zzz\zzz \zz \zz \zzz
\zz \zzz\zzz\zzz\zzz \zz \zz \zzz
\end{document}