方程组中的 Displaystyle 分数

方程组中的 Displaystyle 分数

我正在尝试定义一个用于方程系统的环境。到目前为止,最好的解决方案是

\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目的有两个:

  1. 比较输出
  2. 测试设置\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}

相关内容