모든 환경에 대한 케이스 정렬 및 디스플레이 스타일

모든 환경에 대한 케이스 정렬 및 디스플레이 스타일

다음의 "최소" 코드를 고려해 보십시오:

\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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

이는 다음과 같이 변합니다:

여기에 이미지 설명을 입력하세요

이제 내 질문에 :

  1. 반복해서 선언하지 않고(즉, 매번 명시적으로 쓰지 않고) 전체 문서와 모든 환경에 대해 전역적으로 \displaystyle및 를 설정할 수 있는 방법은 무엇입니까 ?\limits\displaystyle\sum\limits
  2. 모든 조건(예: z=y...)을 정렬하려면 어떻게 해야 합니까?
  3. 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} 

여기에 이미지 설명을 입력하세요

관련 정보