`:` 设置为 `\colon`,但间距仍然不正确

`:` 设置为 `\colon`,但间距仍然不正确

问题解释了如何使其:表现为\colon。但得票最多的答案中的解决方案并非 100% 有效。该解决方案说要使其:表现为 ,必须使用命令\DeclareMathSymbol{:}{\mathpunct}{operators}{"3A}

使用该命令它看起来像这样(它的外观\colon被添加作为光学参考):

在此处输入图片描述

因此可以看出,:尽管看起来应该如此,但\colon实际上间距有点不同。问题 1: 有办法解决这个问题吗?

为了完整起见,当上述命令被禁用时,它看起来是这样的,并且:按正常方式显示:

在此处输入图片描述

问题 2:激活此选项是否会以任何方式:改变不是在数学模式中使用?

答案1

在最小文档中没有区别:

示例输出

\documentclass{article}

\usepackage{amssymb}
\DeclareMathSymbol{:}{\mathpunct}{operators}{"3A}

\begin{document}

\( f\colon \mathbb R \to \mathbb R \)

\( f: \mathbb R \to \mathbb R \)

\end{document}

但是如果你加载,amsmath那么你所描述的差异就会发生:

Ams 样品

\documentclass{article}

\usepackage{amssymb,amsmath}
\DeclareMathSymbol{:}{\mathpunct}{operators}{"3A}

\begin{document}

\( f\colon \mathbb R \to \mathbb R \)

\( f: \mathbb R \to \mathbb R \)

\end{document}

原因是 的定义\colon改为amsmath

\renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript
  \mkern-\thinmuskip{:}\mskip6muplus1mu\relax}

提供更大的间距。因此,简单地重新定义另一个答案是不够的。您需要使用 egreg 提供的更复杂的版本;他的解决方案会mathtools加载amsmath

关于您的第二个问题:不,另一个问题的解决方案都不会影响数学模式之外的冒号。

相关内容