新的命令和数学环境

新的命令和数学环境

command所以我使用创建了一个 latex newcommand。这是它的定义

\newcommand{\twopartdef}[3]
{
\left\{
    \begin{array}{ll}
        #1 & \mbox{if } #2 \\
        #3 & \mbox{otherwise}
    \end{array}
\right
}

但是当我尝试使用此示例中的命令时

f$(x)$ = \twopartdef{$\lbrace \alpha \rbrace}{$x >$ 10}{\lbrace \beta \rbrace}

Latex 告诉我它添加了该符号,$因为它不匹配。

我做错了什么?我应该做哪些改正?

答案1

我假设您正在显示数学环境中编写整个array构造(因为它至少有两行高度。因此,您在使用中不需要任何数学切换分隔符:

在此处输入图片描述

\documentclass{article}
\newcommand{\twopartdef}[3]{%
  \left\{
    \begin{array}{ll}
      #1 & \mbox{if } #2 \\
      #3 & \mbox{otherwise}
    \end{array}
  \right.
}
\begin{document}
\[
  f(x) = \twopartdef{\{ \alpha \}}{x > 10}{\{ \beta \}}
\]
\end{document}

可扩展左括号和“两部分定义”的开头之间有\arraycolsep间隙。如果要删除该间隙,请使用列array规范{@{}ll}。此外,我使用\right.(不仅仅是\right)来结束可扩展括号对。

amsmath提供了一个cases可以执行类似操作的环境。以下是使用该环境的定义:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\twopartdef}[3]{%
  \begin{cases}
    #1 & \text{if #2} \\
    #3 & \text{otherwise}
  \end{cases}
}
\begin{document}
\[
  f(x) = \twopartdef{\{ \alpha \}}{$x > 10$}{\{ \beta \}}
\]
\end{document}

为了完整性,整个条件设置在中\text,这需要您x>10 再次在数学模式下换行。

相关内容