如何在多行闭合括号内将数学表达式居中?

时间:2018-09-26 10:38:14

标签: tex

如何将两行放在括号内居中。到目前为止的代码是:

\documentclass[a4paper,12pt,oneside]{report}
\usepackage{amsmath}

\begin{equation}
x_{t}^{\ast }(n)=
\left\{\!\begin{aligned}  
& \hfil {x_{t}}\\
\hfil & {0,\text{ otherwise}}         
\end{aligned}\right\}
\end{equation}

1 个答案:

答案 0 :(得分:0)

有两个选项:

enter image description here

\documentclass{article}

\usepackage{amsmath,eqparbox,xparse}

% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
  \IfValueTF{#1}
    {\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
    {\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
  \mathpalette\eqmathbox@{#3}
}
\makeatother

\begin{document}

\[
  \renewcommand{\arraystretch}{1.2}
  x_t^* (n) =
    \left\{\begin{array}{@{} c @{}}
      x_t \\
      0, \text{ otherwise}
    \end{array}\right\}
\]

\[
  x_t^* (n) =
    \left\{\begin{aligned}
      \eqmathbox[cond]{x_t} \\
      \eqmathbox[cond]{0, \text{ otherwise}}
    \end{aligned}\right\}
\]

\end{document}

第一个将array与一个单独的c输入列一起使用。第二个使用aligned并将\eqmathbox[<tag>]中的每个条目设置为相同的<tag>eqparbox然后找到具有相同<tag>的那些元素的最大宽度,并将每个元素设置在具有该宽度的框中(默认<align>项为c进入{{1 }}。