减少子方程之间的间距

减少子方程之间的间距

如何减少以下子方程的间距:

$
\begin{subequations}
\begin{equation}
x_{n+1}= x_n + v_n \Delta t + \frac{1}{2} a_n \Delta t^2
\end{equation}    
\begin{equation}
 v\left(t_n+\Delta t/2\right)= v_n + \frac{1}{2}a_n \Delta t
\end{equation}
\begin{equation}
a_{n+1}=\frac{1}{m} F(x_{x+1},t_{n+1})
\end{equation}
\begin{equation}
v_{n+1}=v(t_n+\Delta t/2) + \frac{1}{2}a_{n+1}\Delta t
\end{equation}
\end{subequations}
$

我不知道如何在这里正确地嵌入代码。

答案1

正如 @daleif 所说,如果所有方程式都必须居中,则 不要使用单独的方程式环境,而要使用多行(不是multline!)环境。此外,我认为这里的分数系数有点太大了。您可以使用(中等大小的分数,约 80% )来进一步减少间距:gather\mfrac\displaystylenccmath

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath, nccmath}
\usepackage[french]{babel}

\begin{document}

\begin{subequations}
  \begin{equation}
    x_{n+1}= x_n + v_n Δt + \frac{1}{2} a_n Δt²
  \end{equation}
  \begin{equation}
    v\left(t_n+Δt/2\right)= v_n + \frac{1}{2}a_n Δt
  \end{equation}
  \begin{equation}
    a_{n+1}=\frac{1}{m} F(x_{x+1},t_{n+1})
  \end{equation}
  \begin{equation}
    v_{n+1}=v(t_n+Δt/2) + \frac{1}{2}a_{n+1}Δt
  \end{equation}
\end{subequations}

\bigskip

\begin{subequations}
  \begin{gather}
    x_{n+1}= x_n + v_n Δt + \mfrac{1}{2} a_n Δt²\\
    v\left(t_n+Δt/2\right)= v_n + \mfrac{1}{2}a_n Δt\\
    a_{n+1}=\mfrac{1}{m} F(x_{x+1},t_{n+1})\\
    v_{n+1}=v(t_n+Δt/2) + \mfrac{1}{2}a_{n+1}Δt
  \end{gather}
\end{subequations}
\end{document} 

在此处输入图片描述

答案2

我还建议使用aligninsidesubequations来删除单独的方程式环境之间的额外间距。nccmath正如@Bernard 指出的那样,使用也是一个好主意。

\documentclass{article} 
\usepackage{mathtools,nccmath}
\begin{document} 

\begin{subequations}
\begin{align}
x_{n+1}&= x_n + v_n \Delta t + \mfrac{1}{2} a_n \Delta t^2\\
v\left(t_n+\Delta t/2\right)&= v_n + \mfrac{1}{2}a_n \Delta t\\
a_{n+1}&=\mfrac{1}{m} F(x_{x+1},t_{n+1})\\
v_{n+1}&=v(t_n+\Delta t/2) + \mfrac{1}{2}a_{n+1}\Delta t
\end{align}
\end{subequations}

\end{document}

在此处输入图片描述

相关内容