![方程式の周囲の間隔を全体的に変更するにはどうすればよいですか?](https://rvso.com/image/254728/%E6%96%B9%E7%A8%8B%E5%BC%8F%E3%81%AE%E5%91%A8%E5%9B%B2%E3%81%AE%E9%96%93%E9%9A%94%E3%82%92%E5%85%A8%E4%BD%93%E7%9A%84%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
環境の周囲に「上」と「下」の vspace を設定するにはどうすればよいでしょうかequation
?
subequations
または環境でも同じことが可能であればgather
、これはボーナスになります。
答え1
\abovedisplayskip
、、、の値を調整できます。これらのバージョンは、表示される数式の前に短いテキスト行が来るような状況\belowdisplayskip
で使用されます。表示される数式が始まる前にテキストが終了する場合は、垂直方向のスペースを少なく追加するとよいでしょう。\abovedisplayshortskip
\belowdisplayshortskip
shortskip
ドキュメント クラスではこれらのスキップが定義されていることが多いため、\normalsize
プリアンブルで値を設定するだけでは機能しないため、このマクロを再定義したり、パッチを適用したり、単に追加したりすることができます。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\g@addto@macro\normalsize{%
\setlength\abovedisplayskip{40pt}
\setlength\belowdisplayskip{40pt}
\setlength\abovedisplayshortskip{40pt}
\setlength\belowdisplayshortskip{40pt}
}
\makeatother
\begin{document}
text
\begin{gather}
1 + 1 = 2
\end{gather}
text
\begin{equation}
1 + 1 = 2
\end{equation}
\end{document}
同じことは なしでも実行できます\g@addto@macro
。つまり、 も も使用せず、@
および も必要とせず\makeatletter
、 を\makeatother
使用します\expandafter
。
\expandafter\def\expandafter\normalsize\expandafter{%
\normalsize
\setlength\abovedisplayskip{40pt}
\setlength\belowdisplayskip{40pt}
\setlength\abovedisplayshortskip{40pt}
\setlength\belowdisplayshortskip{40pt}
}
私は を追加する方法を好みます。なぜなら、再定義とパッチ適用の両方で、ドキュメントクラスで使用される\normalsize
の正確な定義を知る必要があるからです。\normalsize
LaTeX コミュニティフォーラム、に対する回答としてプリアンブルに垂直の空白を設定できません。
詳細は、優れた数学モードドキュメンテーション。
答え2
Stefan の回答の更新として。
あなたの質問は重複しているので閉じてください。ここにはたくさんの質問と回答があります。例:
ここで他のアプローチをいくつか紹介する前に、非常に重要な事実を説明します。
グルーを忘れないでください。長さ\abovedisplayskip
などはグルーで定義できるため、LaTeX でより柔軟にスペースを設定できます。次の質問/回答をお読みください:
グルーストレッチとは何ですか?
ただし、長さを設定する別の可能性を示したいと思います。まず、 コマンドを使用できます\AtBeginDocument
。フォントはドキュメントの先頭に設定されるため、フックは後で実行します。
\AtBeginDocument{%
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
}
コマンドは\g@addto@macro
内部マクロです。etoolbox
やより新しいパッケージではxpatch
、コマンドのより堅牢なバージョンが提供されています\g@addto@macro
。 内部コマンドを使用する代わりに、 を特別に処理せずに、次@
を使用できます。
\usepackage{etoolbox}
\apptocmd\normalsize{%
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}
または
\usepackage{xpatch}
\xapptocmd\normalsize{%
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}
それは、ここで簡単な例を集めて作業することです。長さを試してみてください。:
\documentclass{article}
\usepackage{kantlipsum}
\usepackage{xpatch}
\xapptocmd\normalsize{%
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}
\usepackage{amsmath}
\begin{document}
\kant[1]
\begin{gather}
1 + 1 = 2
\end{gather}
\kant[1]
\begin{gather}
1 + 1 = 2
\end{gather}
\kant[1]
\begin{subequations}
\begin{equation}
1 + 1 = 2
\end{equation}
\end{subequations}
\kant[1]
\kant[1]
\end{document}