如何从数学公式中删除空格?

如何从数学公式中删除空格?

这几乎就是我想要的

在此处输入图片描述

$f_1($但是,例如和之间的空间$v_1$太大。

我怎样才能解决这个问题?


我得到了这个

\begin{equation}
  \begin{array}{llllll}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

我也尝试了\mathtt很多次\,但对齐总是有点偏离(由于下标?)和LaTeX 技巧:显示数学说我不应该插入这样的空格。\quad建议在那里插入太多空格。

答案1

减少列间距的一种方法是使用@{}

在此处输入图片描述

我已将它@{}放在每一列之间,但是您当然也可以只在您希望的列上使用它。

您可以将该@{<stuff>}操作视为添加<stuff>到该列中的每个元素。

\documentclass{article}


\begin{document}

Original
\begin{equation}
  \begin{array}{llllll}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

New
\begin{equation}
  \begin{array}{@{}l@{}l@{}l@{}l@{}l@{}l@{}}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

\end{document}

@egreg 建议:您可以使用这个想法在\,列后面放置234,这样可以得到

截屏

\begin{equation}
  \begin{array}{@{}l@{}l@{\,}l@{\,}l@{\,}l@{}l@{}}
    f_1( & v_1, & v_2  &     &     & ) = 0 \\
    f_2( &      & v_2, & v_3 &     & ) = 0 \\
    f_3( &      & v_2, &     & v_4 & ) = 0 \\
    f_4( & v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

正如 @barbarabeeton 指出的那样,似乎没有必要使用6列;5列就可以正常工作

\begin{equation}
  \begin{array}{l@{\,}l@{\,}l@{\,}l@{}l@{}}
    f_1( v_1, & v_2  &     &     & ) = 0 \\
    f_2(      & v_2, & v_3 &     & ) = 0 \\
    f_3(      & v_2, &     & v_4 & ) = 0 \\
    f_4( v_1, &      &     & v_4 & ) = 0 
  \end{array}
\end{equation}

我假设最后一列是空的,这样结尾)就会对齐。

答案2

减少水平间距

负空间\!看起来似乎有点奇怪,但请看以下例子:

  \left(
    \begin{array}{c}
      n \\
      r
    \end{array}
  \right) = \frac{n!}{r!(n-r)!}

图片 #1 - 空间太大

用于表示二项式系数的矩阵式表达式过于填充。括号与括号内的实际内容之间有太多空格。只需在左括号后和右括号前添加负空格即可轻松纠正此问题。

  \left(\!
    \begin{array}{c}
      n \\
      r
    \end{array}
  \!\right) = \frac{n!}{r!(n-r)!}

图片 #2 - 缩小空间

无论如何,应尽可能避免手动添加一些空格:这会使源代码更加复杂,并且违背了“所见即所想”方法的基本原则。

最好的做法是使用您想要的所有空格来定义一些命令,然后,当您使用命令时,您不必添加任何其他空格。稍后,如果您改变了对水平空间长度的想法,您只需修改之前定义的命令即可轻松更改它。

让我们举个例子:你想要d解析积分中的 用罗马字体书写,并与其他部分保持一小段距离。如果要键入类似 的积分\int x \, \mathrm{d} x,可以定义如下命令:

    \newcommand{\dd}{\mathop{}\,\mathrm{d}}

在文档的序言中。我们之所以选择它,\dd只是因为它让人想起它所取代的“d”,而且输入起来很快。这样做,你的积分代码就变成了\int x \dd x。现在,每当你写一个积分时,你只需要用代替\dd“d”,你所有的积分都会有相同的风格。如果你改变主意,你只需要改变序言中的定义,你所有的积分都会相应地改变。

相关内容