这问题解释了如何使其:
表现为\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
那么你所描述的差异就会发生:
\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
。
关于您的第二个问题:不,另一个问题的解决方案都不会影响数学模式之外的冒号。