带案例或数组的函数

带案例或数组的函数

我想要获得这个功能:

在此处输入图片描述

我写了两个选项,但是无法匹配图片。这是第一个:

\begin{displaymath}
        P[\chi_{n+1}=j|\chi_{n}=i]=
        \begin{dcases}
                \frac{N-i}{N}&\text{si }j=i+1\\
                \frac{i}{N}&\text{si }j=i-1\\
                0&\text{otro caso}
        \end{dcases}
\end{displaymath}

情况1

这是第二个:(这个有点压缩了)

\begin{displaymath}
        P[\chi_{n+1}=j|\chi_{n}=i]=
        \left\{\begin{array}{cc}
                \dfrac{N-i}{N} & \text{si }j=i+1\\
                \dfrac{i}{N} & \text{si }j=i-1\\
                0 & \text{en otro caso}
        \end{array}\right
\end{displaymath}

如何改进代码?谢谢支持。

答案1

问题似乎是您希望括号右侧的“列”居中而不是左对齐,在所有情况下都是如此(至少在我所知道的所有情况下)。要解决这个问题,OP 使用数组的想法似乎是可行的,但需要进行一些调整。

  • 首先,如果您使用,\left\{则必须有一个匹配的\right<delimiter>。由于没有匹配的右分隔符,在这种情况下,您可以使用\right.。就个人而言,我不喜欢\left....\right产生的尺寸,因此,我定义了一个宏\Bigger,它将以下分隔符缩放到指定的高度(以毫米为单位),默认为7mm。除了可选参数外,这类似于\bigl, \biggl, \Big... amsmath 宏。
  • 接下来,正如 OP 所说,数组的行间距太近了。您可以使用命令的可选参数调整行间距\\。因此,\\[3mm]将在行之间添加一个额外的3mm行,这似乎是正确的。
  • 环境array带有填充,因此括号和公式之间的空间太大。您可以通过添加@{}到数组规范来删除左填充。
  • 我添加了一些标点符号。
  • 最后,正如评论所建议的,\mid比更好|

通过这些改变,MWE 产生了:

在此处输入图片描述

这与问题顶部给出的“理想”图像非常接近。以下是完整代码:

\documentclass{article}
\usepackage{amsmath}

% an ams-style operator for resizing delimiters
% Usage: \Bigger[, \Bigger[8][, \Bigger[10](, ...
\newcommand\Bigger[2][7]{\left#2\rule{0mm}{#1truemm}\right.}

\begin{document}

\begin{displaymath}
        P[\chi_{n+1}=j\mid\chi_{n}=i]=
        \Bigger[14]\{\begin{array}{@{}cl}
                \dfrac{N-i}{N}, & \text{si }j=i+1,\\[3mm]
                \dfrac{i}{N},   & \text{si }j=i-1,\\[3mm]
                0,              & \text{en otro caso}.
        \end{array}
\end{displaymath}

\end{document}

答案2

这似乎是一种精确的风格选择,因此您应该通过定义自己的环境将其设为默认值。

\documentclass{article}
\usepackage{amsmath,mathtools}

\makeatletter % some generic helpers
\newcommand{\LCASES}[1]{$\m@th\displaystyle{#1}$\hfil}
\newcommand{\CCASES}[1]{\hfil$\m@th\displaystyle{#1}$\hfil}
\newcommand{\RCASES}[1]{\hfil$\m@th\displaystyle{#1}$}
\makeatother

\newcases{ecases}{\quad}{\CCASES{##}}{\LCASES{##}}{\lbrace}{.}
\newcases{ecases*}{\quad}{\CCASES{##}}{{##}\hfil}{\lbrace}{.}

\begin{document}

\begin{equation*}
P[\chi_{n+1}=j\mid\chi_{n}=i]=
\begin{ecases*}
  \frac{N-i}{N} & si $j=i+1$,\\
  \frac{i}{N}  & si $j=i-1$,\\
  0            & en otro caso.
\end{ecases*}
\end{equation*}

\end{document}

环境ecases中的第二列单元格以数学模式排​​版,而ecases*它们处于文本模式。

在此处输入图片描述

假设你向其提交书籍的出版商告诉你,他们的编辑政策是左对齐。你可以回答说这真的很容易,因为恢复默认设置只需更改两行:

\newcases{ecases}{\quad}{\LCASES{##}}{\LCASES{##}}{\lbrace}{.}
\newcases{ecases*}{\quad}{\LCASES{##}}{{##}\hfil}{\lbrace}{.}

你会得到

在此处输入图片描述

答案3

在这里,我使用 TABstack 来处理案例。特别是,\tabularCenterstack允许​​单独指定列对齐。案例之间的基线跳跃可以简单地设置,如 MWE 中所示。

\documentclass{scrartcl}
\usepackage{amsmath,tabstackengine}
\TABstackMath% SETS STACKS IN MATH MODE
\TABstackMathstyle{\displaystyle}% DEFINE STYLE OF MATH STACKS
\setstackgap{L}{2.5\baselineskip}% SETS BASELINESKIP FOR LONG-STACKED LINES
\setstacktabulargap{2\tabcolsep}% DEFINES INTERCOLUMN GAP
\begin{document}
\begin{displaymath}
        P[\chi_{n+1}=j|\chi_{n}=i]=
        \left\{
        \tabularCenterstack{cl}{
                \frac{N-i}{N}&\text{si }j=i+1\\
                \frac{i}{N}&\text{si }j=i-1\\
                0&\text{otro caso}
        }
        \right.
\end{displaymath}
\end{document}

在此处输入图片描述

答案4

我其实想建议你不是完全复制您所发布的屏幕截图。

相反,我会选择完全对称的外观,其中=花括号右侧中间行的符号与=左侧的符号完全对齐。这可以通过明智构造的\vphantom术语轻松实现。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} % for 'dcases*' env.
\newcommand\zzz{\vphantom{\dfrac{\mathstrut}{\mathstrut}}} % to be inserted in all 3 rows
\begin{document}
\[
        \Pr[\, \chi^{}_{n+1}=j \mid \chi^{}_{n}=i \,]=
        \begin{dcases*}
                \frac{N-i}{N}\zzz & si $j=i+1$\\
                \frac{i}{N}\zzz   & si $j=i-1$\\
                0 \zzz            & otro caso
        \end{dcases*}
\]
\end{document}

相关内容