我正在尝试定义一个用于方程系统的环境。到目前为止,最好的解决方案是
\newenironment{eqsys}{\begin{equation}\begin{cases}}{\end{cases}\end{equation}}
但我注意到,如果方程中有偏导数,也就是分数,它们就会被压缩。所以我修改了它,添加了它,\displaystyle
这样环境看起来就像这样
\newenironment{eqsys}{\begin{equation}\begin{cases}\displaystyle}{\end{cases}\end{equation}}
但用这个技巧,只有第一的系统中的方程式排版正确。
获取结果的代码是
\documentclass{scrbook}
\usepackage{amsmath}
\usepackage{mathtools}
\newenvironment{eqsys}{\begin{equation}\begin{cases}\displaystyle}{\end{cases}\end{equation}}
\begin{document}
\begin{eqsys}
\tan(\theta) = \frac{\sin(\theta)}{\cos(\theta)}\\
\text{cotan}(\theta) = \frac{\cos(\theta)}{\sin{\theta}}
\end{eqsys}
\end{document}
我怎样才能\displaystyle
对集合中的每个方程进行重复?
答案1
你可以使用包dcases
中的mathtools
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\newenvironment{eqsys}{\begin{equation}\begin{dcases}}{\end{dcases}\end{equation}}
\begin{document}
\begin{eqsys}
\frac{1}{2} \\
\frac{2}{5}
\end{eqsys}
\end{document}
或者,可以使用包\dfrac
中的来代替,但这听起来对于您想要的内容来说太过手动了。amsmath
\displaystyle\frac25
以下是dcases
@PeterGrill 的测试用例的执行情况
\begin{eqsys}
e = 2 \frac{1}{2}\\
e = 2 \frac{1}{2}
\end{eqsys}
答案2
使每个方程重复的一种解决方案\displaystyle
是使用\everymath={\displaystyle}
,它应用于任何数学材料的开头。我将原始版本重命名为 ,eqsysOLD
并按照 的新版本使用它,eqsys
目的有两个:
- 比较输出
- 测试设置
\everymath
是局部的,并且不会影响后续的数学材料
已知的问题:
- 尽管此解决方案说明了如何将特定命令应用于每个方程式,但
dcases
提供了更好的垂直间距。因此,在这个特定情况下,@cmhughes 的解决方案是更好的选择。
代码:
\documentclass{article}
\usepackage{amsmath}
\newenvironment{eqsysOLD}{\begin{equation}\begin{cases}\displaystyle}{\end{cases}\end{equation}}
\newenvironment{eqsys}{\begin{equation}\everymath={\displaystyle}\begin{cases}}{\end{cases}\end{equation}}
\begin{document}
\begin{eqsys}
e = 2 \frac{1}{2}\\
e = 2 \frac{1}{2}
\end{eqsys}
\begin{eqsysOLD}
e = 2 \frac{1}{2}\\
e = 2 \frac{1}{2}
\end{eqsysOLD}
\end{document}