使用 \afterpage 包会导致方程插入到以下子方程中

使用 \afterpage 包会导致方程插入到以下子方程中

我有一个很长的等式,无法将其分开,我将其单独放在横向页面上。

然而,当我编译文档时,这个方程现在似乎被放在了文本下方两个方程的子方程环境中。这导致我的编号不正确。景观方程应该是方程 1,接下来的两个方程应该是 2 a,b。目前,我得到的景观方程标记为 1b,后面两个方程写为 1 a,c。

如果我减少等式上方的文本,从而移动页面上的位置,编号就会恢复正常。但是,不幸的是,我不能直接删除文本段落……

MWE 如下。(需要使用 lipsum 和看似随机的线条才能将方程式和文本放在页面的正确部分以查看此问题。)

\documentclass[12pt]{ociamthesis}
\usepackage{amsmath, pdflscape,afterpage,hyperref,lipsum}

\begin{document}
\lipsum[1-3]
The long equation is first referenced here. \par
\vspace*{\fill}
\afterpage{
\clearpage
\begin{landscape}
    \vspace*{\fill}
        \begin{equation}
        \label{sf:1}
        y = {a \over b} .
    \end{equation}
\vspace*{\fill}
\end{landscape}
\clearpage}

A \\
couple \\
more \\
lines \\

\section{Discussion}
\lipsum[2]

\begin{subequations}
\label{sf:2}
\begin{equation}
\label{sf:2a}
 y = {x\over 2}
\end{equation}
\begin{equation}
\label{sf:2b}
y = {2x \over 3}
\end{equation}
\end{subequations}
\end{document}

关于如何返回正确的方程编号有什么想法吗?

答案1

我找不到ociamthesis.cls替代的旧文章。请勿重复使用,\tempbox直到下一页。

\documentclass[12pt]{article}
\usepackage{amsmath, pdflscape,afterpage,hyperref,lipsum}

\newsavebox{\tempbox}

\begin{document}
\lipsum[1-3]
The long equation is first referenced here. \par
\savebox{\tempbox}{\begin{minipage}{\textheight}
  \begin{equation}\label{sf:1}
    y = {a \over b} .
  \end{equation}%
\end{minipage}}
\vspace*{\fill}
\afterpage{
\clearpage
\begin{landscape}
  \thispagestyle{empty}% just a suggestion
  \vspace*{\fill}%
  \noindent\usebox{\tempbox}\par
  \vspace*{\fill}
\end{landscape}
\clearpage}

A \\
couple \\
more \\
lines \\

\section{Discussion}
\lipsum[2]

\begin{subequations}
\label{sf:2}
\begin{equation}
\label{sf:2a}
 y = {x\over 2}
\end{equation}
\begin{equation}
\label{sf:2b}
y = {2x \over 3}
\end{equation}
\end{subequations}
\end{document}

相关内容