\section直後のalign環境の不自然な余白

\section直後のalign環境の不自然な余白

- ヤバルゴ mdl.2 の投稿
返信数: 3
\section{…}の直後に\begin{align}…\end{align}と記述した際,align環境の上部に1行分の不自然な余白が挿入されます.

不自然な余白が挿入されるようなコードを以下に記述し,その出力PDFを添付しておきます.
(コードは ttp://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1793 をお借りしました.)
(PDFはTeX2imgで作っています.)

-------------------------------
%% Document class & Document information (dvipdfmx)
\documentclass[uplatex,dvips,ja=standard,a4paper,10pt,magstyle=real,twocolumn]{bxjsarticle}
%\documentclass[uplatex,a4paper,10pt,twocolumn]{jsarticle}

%  syako-style
\setpagelayout*{top=22truemm,bottom=22truemm,left=15truemm,right=15truemm}
%\usepackage[top=22truemm,bottom=22truemm,left=15truemm,right=15truemm]{geometry}

\pagestyle{empty}

%% Optional command
\usepackage{array}
\usepackage{amsmath,amssymb}

%% Font command
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[uplatex]{otf}
\usepackage{lmodern}
\renewcommand{\rmdefault}{ptm}
\usepackage[scaled]{helvet}
\frenchspacing

\begin{document}

\section{光度}
%数式を以下のようにおく.
\begin{align}
M&=m+5-5\log_{10} p\label{eq:絶対等級}\\
&\left\{
\begin{array}{ll}
M&:絶対等級\\
m&:視等級
\end{array}\notag
\right.
\\
L&=10^{0.4\left(\textrm{M}_{\odot}-M\right)}\textrm{L}_{\odot}\label{eq:L}\\
&\left\{
\begin{array}{ll}
L&:光度\\
\textrm{M}_{\odot}&:太陽質量\\
\textrm{L}_{\odot}&:太陽光度
\end{array}\notag
\right.
\end{align}

天体の光度は天体観測から直接決定することはできない.唯一決定される値が視等級$m$と距離$p$(単位$\textrm{pc}$)である.式(\ref{eq:絶対等級})を用いると視等級$m$を絶対等級$M$に変換することができる.そして式(\ref{eq:L})に絶対等級$M$を代入することで光度$L$を求めることができる.

\section{質量光度比}
天体の質量と光度の比を質量光度比といい,通常太陽の値で規格化した値として$M/L$であらわす.すなわち,天体の質量を$M_{p}$,光度を$L_{p}$とすると
\begin{align}
M/L=\frac{M_{p}/\textrm{M}_{\odot}}{L_{p}/\textrm{L}_{\odot}}\label{eq:質量光度比}
\end{align}

\newpage

\section{光度}
数式を以下のようにおく.
\begin{align}
M&=m+5-5\log_{10} p\label{eq:絶対等級}\\
&\left\{
\begin{array}{ll}
M&:絶対等級\\
m&:視等級
\end{array}\notag
\right.
\\
L&=10^{0.4\left(\textrm{M}_{\odot}-M\right)}\textrm{L}_{\odot}\label{eq:L}\\
&\left\{
\begin{array}{ll}
L&:光度\\
\textrm{M}_{\odot}&:太陽質量\\
\textrm{L}_{\odot}&:太陽光度
\end{array}\notag
\right.
\end{align}

天体の光度は天体観測から直接決定することはできない.唯一決定される値が視等級$m$と距離$p$(単位$\textrm{pc}$)である.式(\ref{eq:絶対等級})を用いると視等級$m$を絶対等級$M$に変換することができる.そして式(\ref{eq:L})に絶対等級$M$を代入することで光度$L$を求めることができる.

\section{質量光度比}
天体の質量と光度の比を質量光度比といい,通常太陽の値で規格化した値として$M/L$であらわす.すなわち,天体の質量を$M_{p}$,光度を$L_{p}$とすると
\begin{align}
M/L=\frac{M_{p}/\textrm{M}_{\odot}}{L_{p}/\textrm{L}_{\odot}}\label{eq:質量光度比}
\end{align}

\end{document}
-------------------------------

出力PDFの段組の左右を比較すれば分かりますように,\section{…}の直後に数式(段落形式)を記述した場合,1行分の不自然な余白が出力されています.
(jsarticle(bxjsarticle),jarticleで確認しました.)
(この余白はalign環境(amsmath.sty)に依るもなのでしょうか?)

この問題への対処をご教授いただければ幸いです.
ヤバルゴ mdl.2 への返信

Re: \section直後のalign環境の不自然な余白

- Akira Kakuto の投稿
article.cls などは,\section の最初は インデント
されませんが,問題部分に関してそれの真似をして
最初を \noindent で始めると,若干余白が少なくなるようです:
\section{光度}
\noindent
\begin{align}
        M&=m+5-5\log_{10} p\label{eq:絶対等級}\\
Akira Kakuto への返信

Re: \section直後のalign環境の不自然な余白

- ヤバルゴ mdl.2 の投稿
回答ありがとうございます.

確かに\noindentの挿入で1行分の余白がなくなりますね.1行分はドキュメントクラス(jsarticle,jarticle)由来のものなのでしょうか.
align環境前後に生じる分の余白は消えないみたいですが,こちらは仕様のように感じます.

いずれにせよ,見出しの直後にディスプレイ数式を入れるような書き方をあまり意図していないような印象を受けます.極力避けたほうが良いのかもしれません.
ヤバルゴ mdl.2 への返信

Re: \section直後のalign環境の不自然な余白

- 本田 知亮 の投稿
もっとシンプルに

\documentclass{article}
\begin{document}
\section{AA<br /> $$<br /> y=ax<br /> $$<br /> BB<br /> \end{document}

くらいで試せばわかると思います.

公式集のようなものでもない限り
見出しの直後にいきなり別行式がくるものは
あまりありません.

ちなみに本当に見出しの直後で別行式を書きたい場合,
TeX的には別行じゃないけど,見た目は別行っぽくする
ようにするのがいいと思います

自動化したい場合は。。。厄介です.
少なくとも,モードの確認と見出しの直後化の判断が必要ですので.