我经常想写这样的东西:
也就是说,一个垂直括号后跟一个由三列组成的表格,第一列和最后一列是数学,在任意位置对齐我例如,中间的是文本,右对齐。
我现在已经找到了我想要的解决方案tabularx
:
\left\{
\begin{tabular}{>{$}r<{{}$}@{}>{${}}l<{$}r>{$}r<{{}$}@{}>{${}}l<{$}}
&\frac{n(x)}{1+j^2F^2} & for & j&=0\\
2&\frac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x))& for & j&>0\\
2&\frac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & for& j&<0
\end{tabular}
\right.
(我将额外的括号放在列定义里面,以便对齐字符附近的运算符保持相对,这是通常的意图)
我的问题实际上有两个:
是否有一个包或命令可以做到这一点(我认为案例应该这样做但我仍然需要使用,
\text{}
这很烦人)?将其转变为环境的最佳方法是什么,以便我可以简单地编写
\begin{mycases} &\frac{n(x)}{1+j^2F^2} & for & j&=0\\ 2&\frac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x))& for & j&>0\\ 2&\frac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & for& j&<0 \end{mycases}
答案1
这是使用 IEEEtranstool 包的“解决方案”:
\documentclass{minimal}
\usepackage{mathtools}
\usepackage[retainorgcmds]{IEEEtrantools}
\def\FD{\text{FD}}
\begin{document}
\begin{IEEEeqnarray*}{rl"t"rC}
&\frac{n(x)}{1+j^2F^2} & for & j&=0\\
2&\frac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x))& for & j&>0\\
2&\frac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & for& j&<0
\end{IEEEeqnarray*}
\end{document}
语法是你的,但这些解决方案缺少垂直括号。也许 TeX 向导可能会有所帮助。
解释:rcl 代表数学模式下的右中左列,RCL 代表数学运算符(额外空格),stu 代表文本列,“代表额外空格
`retainorgcmds 选项可防止 IEEEtrantools 覆盖现有的 LaTeX 命令(itemize、enumerate 和 description)
另请参阅文档:第 17 页及更多
答案2
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mathtools}
\def\FD{\text{FD}}
\def\for{\text{for }}
\begin{document}
\[
\begin{cases}
\phantom{2}\dfrac{n(x)}{1+j^2F^2} & \for j=0\\[15pt]
2 \dfrac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x)) & \for j>0\\[15pt]
2 \dfrac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & \for j<0
\end{cases}
\]
\[\left\{
\begin{matrix*}[l]
& \dfrac{n(x)}{1+j^2F^2} & \for j=0\\[15pt]
2 & \dfrac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x)) & \for j>0\\[15pt]
2 & \dfrac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & \for j<0
\end{matrix*}
\right.\]
\end{document}
答案3
这里没有什么魔法:
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\newcommand\FD{\mathrm{FD}}
\begin{document}
\[
\begin{dcases}
\phantom{2}\frac{n(x)}{1+j^2F^2} & \text{for } j=0\\
2\frac{\cos(jk)}{1+j^2F^2}f_j^{\FD}(n(x))& \text{for } j>0\\
2\frac{\sin(jk)jF/\tau}{1+j^2F^2}f_j^{\FD}(n(x)) & \text{for } j<0
\end{dcases}
\]
\end{document}
答案4
克隆环境,从默认设置amsmath
cases
增加:\arraystretch
1.2
\makeatletter
\newenvironment{mycases}{%
\matrix@check\mycases\env@mycases
}{%
\endarray\right.%
}
\def\env@mycases{%
\let\@ifnextchar\new@ifnextchar
\left\lbrace
\def\arraystretch{1.5}%
\array{@{}l@{\quad}l@{}}%
}
\makeatother
您可以1.5
根据需要进行调整以获得令人满意的结果。
当然,这不会调整第一行中缺失的“2”。