次の「最小限の」コードを検討してください:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}\begin{align*}
(p's_y)(z)&=(ps_xs_y)(z)=\\
&=\begin{cases}
p'(z) & z\neq y\\
\sum_{v\in N(y)}p'(v)-p'(z) & z=y
\end{cases}\\
&=\begin{cases}
p(z) & z\neq x,y\\
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}}p'(v)+p'(x)-p'(y) & z=y
\end{cases}\\
&=\begin{cases}
p(z) & z\neq x,y\\
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)}p(x)-p(x)-p(y) & z=y
\end{cases}\\
&=\begin{cases}
p(z) & z\neq x,y\\
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)\setminus\{y\}} p(v) -p(x) & z=y
\end{cases}\\
&=\begin{cases}
p(z) & z\neq x,y\\
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in \left(N(x)\cup N(y)\right)\setminus\{x,y\}} p(v) & z=y
\end{cases}
\end{align*}
\end{document}
これは次のようになります:
さて、私の質問に移ります。
- 何度も宣言せずに (つまり、毎回 ... を明示的に記述せずに)ドキュメント全体とすべての環境に対してグローバルに設定
\displaystyle
するにはどうすればよいですか。\limits
\displaystyle\sum\limits
- すべての条件 (つまり
z=y
...) を揃えるにはどうすればよいですか? - の最初の列
cases
(つまり、合計とp(x)
) を中央揃えにするにはどうすればよいでしょうか?
答え1
dcases
パッケージから最大のアイテムを測定することでこれを行うことができますmathtools
が、最終結果はあなたのイメージよりもはるかに悪くなると思います。
\documentclass{article}
\usepackage{amsmath,mathtools}
\newlength{\longestcase}
\newcommand{\longcase}[1]{%
\mathmakebox[\longestcase][l]{#1}%
}
\begin{document}
\settowidth{\longestcase}{%
$\displaystyle
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)}p(x)-p(x)-p(y)
$}
\begin{align*}
(p's_y)(z)
&=(ps_xs_y)(z)=\\
&=\begin{dcases}
\longcase{p'(z)} & z\neq y\\[2ex]
\sum_{v\in N(y)}p'(v)-p'(z) & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}}p'(v)+p'(x)-p'(y ) & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)}p(x)-p(x)-p(y) & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)\setminus\{y\}} p(v) -p(x) & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\sum_{v\in N(x)}p(v)-p(x) & z=x\\
\sum_{v\in (N(x)\cup N(y))\setminus\{x,y\}} p(v) & z=y
\end{dcases}
\end{align*}
\end{document}
オブジェクトを中央に配置すると、状況はさらに悪化します。;-)
\documentclass{article}
\usepackage{amsmath,mathtools}
\newlength{\longestcase}
\newcommand{\longcase}[1]{%
\mathmakebox[\longestcase][c]{#1}%
}
\begin{document}
\settowidth{\longestcase}{%
$\displaystyle
\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)}p(x)-p(x)-p(y)
$}
\begin{align*}
(p's_y)(z)
&=(ps_xs_y)(z)=\\
&=\begin{dcases}
\longcase{p'(z)} & z\neq y\\[2ex]
\longcase{\sum_{v\in N(y)}p'(v)-p'(z)} & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\longcase{\sum_{v\in N(x)}p(v)-p(x)} & z=x\\
\longcase{\sum_{v\in N(y)\setminus\{x\}}p'(v)+p'(x)-p'(y)} & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\longcase{\sum_{v\in N(x)}p(v)-p(x)} & z=x\\
\longcase{\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)}p(x)-p(x)-p(y)} & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\longcase{\sum_{v\in N(x)}p(v)-p(x)} & z=x\\
\longcase{\sum_{v\in N(y)\setminus\{x\}} p(v) +
\sum_{v\in N(x)\setminus\{y\}} p(v) -p(x)} & z=y
\end{dcases}\\
&=\begin{dcases}
\longcase{p(z)} & z\neq x,y\\[2ex]
\longcase{\sum_{v\in N(x)}p(v)-p(x)} & z=x\\
\longcase{\sum_{v\in (N(x)\cup N(y))\setminus\{x,y\}} p(v)} & z=y
\end{dcases}
\end{align*}
\end{document}
答え2
eqparbox
パッケージを使用してタグのシステムで最も広い左側を測定し、コマンドを使用して水平方向のスペースを少なく\smashoperator
するバリエーションmathtools
:
\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/amsmath
\usepackage{eqparbox}
\newcommand\eqmathbox[2][]{\eqmakebox[#1]{\ensuremath{\displaystyle#2}}}
\begin{document}
\begin{align*}
(p's_y)(z) & =(ps_xs_y)(z)= \\
& =\begin{dcases}
\eqmathbox[C]{p'(z)} & z\neq y \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(y)}}p'(v)-p'(z)} & z=y
\end{dcases}\\[1ex]
& =\begin{dcases}
\eqmathbox[C]{p(z)} & z\neq x,y \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(x)}}p(v)-p(x)} & z=x \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(y)\setminus\{x\}}}p'(v)+p'(x)-p'(y)} & z=y
\end{dcases}\\[1ex]
& =\begin{dcases}
\eqmathbox[C]{p(z)} & z\neq x,y \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(x)}}p(v)-p(x)} & z=x \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(y)\setminus\{x\}}} p(v) +
\smashoperator{\sum_{v\in N(x)}}p(x)-p(x)-p(y)} & z=y
\end{dcases}\\[1ex]
& =\begin{dcases}
\eqmathbox[C]{p(z)} & z\neq x,y \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(x)}}p(v)-p(x)} & z=x \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(y)\setminus\{x\}}} p(v) +
\smashoperator{\sum_{v\in N(x)\setminus\{y\}}} p(v) -p(x)} & z=y
\end{dcases}\\[1ex]
& =\begin{dcases}
\eqmathbox[C]{p(z)} & z\neq x,y \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in N(x)}}p(v)-p(x)} & z=x \\
\eqmathbox[C]{\smashoperator[r]{\sum_{v\in \left(N(x)\cup N(y)\right)\setminus\{x,y\}}} p(v)} & z=y
\end{dcases}
\end{align*}
\end{document}