
align
環境がページの先頭または で始まる場合、環境によって追加の垂直スペースが追加されるようですminipage
。以下は 2 つのページと 2 つminipage
の (ページ 1 上)です。最初のページにはminipage
テキストがありalign*
、その後に環境が続きます。2 番目のページは環境minipage
で始まりますalign*
。方程式がまだ揃っていることに注意してください。
試みられた解決策:
私が見つけた最も近い関連質問は次のとおりです。
私はゴンサロ・メディナによるソリューション上記に\setlength\abovedisplayskip{0pt}
(前文の後に)を追加することにより、環境の前後の垂直スペース)。ただし、これにより方程式は垂直方向に移動しましたが、垂直方向に整列したままです。
また、ページの上部でも問題が発生するため、これはミニページを理解する - 上部に揃える
質問:
align
ページの上部に追加のスペースが自動的にないように環境を調整するにはどうすればよいでしょうかminipage
?- この動作には理由があり、おそらく変更すべきではないのでしょうか?
コード:
\documentclass{article}
\usepackage[showframe,paperwidth=3.5in,paperheight=2.2in,margin=0.5in]{geometry}
\usepackage{amsmath}
\begin{document}%\setlength\abovedisplayskip{0pt}
Top of Page 1
\begin{align*}% Text above at top of page
e &= m c^2
\end{align*}
\hrule
\begin{minipage}[t]{0.45\linewidth}
Top of minipage 1
\begin{align*}% Text above this minipage
e &= m c^2
\end{align*}
\end{minipage}
\begin{minipage}[t]{0.45\linewidth}
\begin{align*}% No text above in this minipage
e &= m c^2
\end{align*}
\end{minipage}
\newpage
\begin{align*}% No text above at top of page
e &= m c^2
\end{align*}
\end{document}
答え1
アライメント環境アムスマス段落の先頭に配置するようには設計されていません。これは通常の状況では許容できますが、minipage
幅を狭めて配置を組版するために を使用する場合は悪影響があります。
この問題は、コマンド(およびおよび)を次のようにminipage
修正することで解決できます。\start@align
\start@gather
\start@multline
\usepackage{etoolbox}
\makeatletter
\pretocmd\start@align{%
\if@minipage\kern-\topskip\kern-\abovedisplayskip\fi
}{}{}
\makeatother
これは、文の始めではminipage
条件\if@minipage
が true であるが、段落が始まると false になるため、align
同じ段落内の後続の環境はminipage
影響を受けないという事実を利用します。
段落の始めの環境を「修正」するための同様のパッチがありますが、段落は一度もない表示された方程式から開始します (上記の例外を除く)。