Я пытаюсь выровнять if
's в следующем MWE, но также сохранить (n times)
выравнивание нетронутым. Применяя механизм изМножественность = выравниваниеи изВыравнивание условий в среде дел, я так и не смог заставить его работать.
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}
\begin{document}
\begin{equation*}
ns =
\begin{cases}
\quad s + s + ... + s & \text{ (n times) if } n > 0 \\
\quad\quad\quad 0 & \text{ if } n = 0 \\
\quad (-s) + (-s) + ...+ (-s) & \text{ (n times) if } n < 0
\end{cases}
\end{equation*}
\end{document}
Кстати, есть ли способ убрать отвратительные \quad
«»? (Здесь применяется принцип «один вопрос на вопрос»?:)
решение1
Вы можете использовать \hphantom
во второй строке, чтобы переместить текст, или, как альтернативно \hfill
, , как упоминает Мико в комментарии.
А каково вообще назначение буквы \quad
s?
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}
\begin{document}
\begin{equation*}
ns =
\begin{cases}
s + s + \dots + s & \text{ ($n$ times) if } n > 0 \\
0 & \text{\hphantom{ ($n$ times)} if } n = 0 \\
(-s) + (-s) + \dots + (-s) & \text{ ($n$ times) if } n < 0
\end{cases}
\end{equation*}
\end{document}
Если вы хотите изменить выравнивание столбцов в cases
, одной из возможностей является определение новой среды с помощью mathtools
, как описано вВыровненный по правому краю первый столбец в среде caseНапример, чтобы выровнять первый столбец по центру, а второй — по правому краю:
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{mathtools}
\makeatletter
\newcases{crcases}{\quad}{%
\hfil$\m@th\displaystyle{##}$\hfil}{\hfil$\m@th\displaystyle{##}$}{\lbrace}{.}
\makeatother
\begin{document}
\begin{equation*}
ns =
\begin{crcases}
s + s + \dots + s & \text{ ($n$ times) if } n > 0 \\
0 & \text{ if } n = 0 \\
(-s) + (-s) + \dots + (-s) & \text{ ($n$ times) if } n < 0
\end{crcases}
\end{equation*}
\end{document}
решение2
С aligned
(из amsmath
упаковки):
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}
\begin{document}
\[
ns = \left\{\begin{aligned}\quad
& s + s + \dotsm + s & \text{ ($n$ times) if } n & > 0 \\
& 0 & \text{ if } n & = 0 \\
& (-s) + (-s) + \dotsm + (-s) & \text{ ($n$ times) if } n & < 0
\end{aligned}\right.
\]
\end{document}
решение3
Должно быть большее разделение от «(нраз)» на «если», то из формул и «(нраз)», по моему мнению.
0 должен быть оставлен на месте, как и два других члена. Я также исправил математическую ошибку (должно быть |н| в третьей строке).
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{amsmath}
\begin{document}
\begin{equation*}
ns =
\begin{cases}
\begin{alignedat}{3}
&s + s + \dots + s &\quad \text{($n$ times)} &\qquad& \text{if $n > 0$} \\
&0 &\quad &\qquad& \text{if $n = 0$} \\
&(-s) + (-s) + \dots + (-s) &\quad \text{($|n|$ times)} &\qquad& \text{if $n < 0$}
\end{alignedat}
\end{cases}
\end{equation*}
\end{document}
решение4
С empheq
, eqparbox
и alignat*, which allows for several alignment points, and full control on the spacing between columns. I also propose another layout (better in my opinion) which requires only
случаи`:
\documentclass[12pt,a4paper]{article}
\usepackage[fleqn]{empheq}
\usepackage{eqparbox}
\newcommand\eqmathbox[2][M]{\eqmakebox[#1]{$ \displaystyle#2 $}}
\usepackage[showframe]{geometry}
\begin{document}
\begin{empheq}[left = {ns=\empheqlbrace\,}]{alignat*=2}
&\eqmathbox{s + s + \dots + s} & \text{ (n times) } & \text{if } n > 0 \\
& \eqmathbox{0} & & \text{if } n = 0 \\
& (-s) + (-s) + \dots+ (-s) & \qquad\text{ (n times) } & \text{if } n < 0
\end{empheq}
\begin{equation*}
ns =
\begin{cases}
\eqmathbox[C]{\,s + s + \dots + s} \text{\quad (n times)} & \text{ if } n > 0 \\
\eqmathbox[C]{\,0} & \text{ if } n = 0 \\
\, (-s) + (-s) + \dots + (-s) \text{\quad (n times)} & \text{ if } n < 0
\end{cases}
\end{equation*}
\end{document}