假设一个人想要方程中的标点符号,如果标点符号跟在分数后面,调整标点符号垂直位置的最佳方法是什么?我在这里使用 Palatino 和 Euler(我通常非常喜欢它们)。这个问题在逗号上尤其明显,逗号最终看起来像分母元素上的素数(如果没有素数,第一个等式看起来就像B'
分母中有素数):
添加标点符号前留一些空格(第二个例子)有点帮助,但对我来说仍然很奇怪。似乎在分数后面时,逗号(可能还有句号)应该稍微升高一点(第三个例子)。
问题
- 在这些情况下包含标点符号的最佳印刷做法是什么?
- 有没有一种可靠的方法可以做到这一点?即以某种方式使用字体信息以在所有大小和字体下正常工作的方法。
显然,标点符号的提升只应发生在特定情况下,例如此处显示的分数。也许有一种方法可以在分数末尾插入一些内容来触发此行为,然后如果以下文本不是标点符号,则将其重置?
下面是我用来制作上述输出的 MWE:
\documentclass{minimal}
\usepackage{mathpazo} % To get Palatino
\linespread{1.05} % See question 31064
\usepackage[small, euler-digits]{eulervm} % and now Euler
\begin{document}
Here are two equations that look awfully similar:
\begin{equation}
a = \frac{1}{A+B}, \qquad b = \frac{1}{A+B'}.
\end{equation}
\begin{equation}
a = \frac{1}{A+B}\,, \qquad b = \frac{1}{A+B'}\,.
\end{equation}
\newcommand\raisepunct[1]{\,\mathpunct{\raisebox{0.5ex}{#1}}}
\begin{equation}
a = \frac{1}{A+B}\raisepunct{,}
\qquad b = \frac{1}{A+B'}\raisepunct{.}
\end{equation}
\end{document}
相关问题
有几个问题涉及方程中的标点符号,但大多数仅讨论是否应包括标点符号,或者是否应包括一个细的水平空格:
- 案例环境后的正确标点符号
- 对于正式文章,显示的等式后面是否应该加上标点以符合语言语法?
- 显示方程式中标点符号前的空格
- 方程式中的标点符号
- 逗号,例如 \cdotPeter Grill 对这个问题的回答提到了提出的问题,并演示了如何使用
\mathpunct
,但这个问题并没有真正解决问题的印刷或稳健性方面 - 数学写作中的句号和逗号(数学溢出)
答案1
显示的字体LaTeX
是正确的。基线处需要放置一个逗号。
如果需要进行任何调整,最好将分数放在括号内。同意逗号可能会被误认为是素数,但请记住,数学是在上下文中阅读的,即,如果变量上没有使用素数,那么数学倾向的读者不太可能混淆。
我已经用几本书检查了上述内容,逗号总是如 LaTeX 所示。
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathpazo} % To get Palatino
\linespread{1.05} % See question 31064
\usepackage[small, euler-digits]{eulervm} % and now Euler
\begin{document}
If the number of independent variable is~$n$, we must have
\[
p = - \frac{n-2}{2}, \quad \text{or} \quad -\left(\frac{n-2}{2} + 1\right), \quad -\left(\frac{n-2}{2} + 2\right),\quad \left(\frac{n-2}{2+a}\right), \quad \dots.
\]
\end{document}
您建议提高逗号可能会导致其他问题,例如$(a,b)\frac{a}{b},
导致逗号不对齐。