在 LateX 2e 或标准包中,编写一组多个变量或一个函数的多个变量的正确方法是什么?

在 LateX 2e 或标准包中,编写一组多个变量或一个函数的多个变量的正确方法是什么?

使用 LaTeX 进行英文排版时哪种方式才是正确的?

\documentclass{article}
\begin{document}
$f(x,y)= \ldots$

$f(x,\ y) = \ldots$

$f(x,\,y) = \ldots$

The coordinates $(x,y,z,t)$ \ldots

The coordinates $(x,\ y,\ z,\ t)$ \ldots

The coordinates $(x,\,y,\,z,\,t)$ \ldots

The coordinates $(x^0,x^1,x^2,x^3)$ \ldots $\leftarrow$ seems bad.

The coordinates $(x^0,\ x^1,\ x^2,\ x^3)$ \ldots

The coordinates $(x^0,\,x^1,\,x^2,\,x^3)$ \ldots
\end{document}

在此处输入图片描述

我在倒数第二行写下“看起来很糟糕”,因为我觉得逗号前后的空格相同。

有没有一个包可以自动化这个操作?例如,一个包提供了一个命令,\mycoord我们可以使用它,\mycoord{x,y,z,t}并在输出的逗号之间添加正确的空格?

我知道这个问题:排版坐标但是答案并不清楚坐标之间的间距,而且,我不想用 LaTeX 3 来回答,除非它在一个不是那么新的包中(为了与我无法控制的有点旧的系统兼容)。

编辑:在变量带有指数的情况下,在逗号前添加与负空格的比较。

\documentclass{article}
\begin{document}
1) The coordinates $(x,y,z,t)$ \ldots

2) The coordinates $(x^0,x^1,x^2,x^3)$ \ldots 

3) The coordinates $(x^0\!,x^1\!,x^2\!,x^3)$ \ldots
\end{document}

在此处输入图片描述

第三个看起来比第二个好吗?

第二次编辑:

我如何看待间距(可能错了...,但第三个似乎比第二个好一点,但也许负空间有点太大):

在此处输入图片描述

答案1

该软件包semantex(免责声明:我是作者)可以以可定制的方式执行许多类似操作。不幸的是,这是一个相对较新的软件包,但我相信它也适用于旧版本的 LaTeX3,尽管我还没有检查过这一点。

\documentclass{article}

\usepackage{amsmath,semantex}

\NewVariableClass\MyVar

\NewObject\MyVar\mycoord[
    left par=(,
    right par=),
    set arg sep={,},
    set arg dots=\dotsc,
]

\begin{document}

$ \mycoord{x^0, x^1, ... , x^p} $

\SetupObject\mycoord{
    % Let’s change the settings:
    set arg sep={,\,},
}

$ \mycoord{x^0, x^1, ... , x^p} $

\end{document}

在此处输入图片描述


否则,为了获得更便携的解决方案,您可以尝试编辑egreg 的这个答案。正如他在评论中指出的那样,逗号可以很容易地被其他任何符号替换。我相信这应该可以完美地与更早版本的 LaTeX3 配合使用。

相关内容