Как центрировать математическое выражение в многострочных закрытых скобках? - PullRequest
0 голосов
/ 26 сентября 2018

Как я мог отцентрировать две строки внутри скобок.Код на данный момент:

\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 голосов
/ 02 октября 2018

Вот несколько вариантов:

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 entred \eqmathbox[<tag>][<align>]{<stuff>}).

...