答案1
如果在任何用例中需要逗号和分号的这种行为,则可以使用以下“技巧”:更改逗号和分号的数学代码:
\mathcode`\;="303B
\mathcode`\,="013B
在 mathcode 中,第一个数字代表数学符号的类别。默认分号和逗号属于第 6 类(标点符号),因此空格应放在其后,而不是其前。
第 3 类是关系(如符号 +、- 等),因此两边都放置了细空格。第 0 类是普通符号,因此不放置空格。
在这种情况下,如果您需要使用逗号作为标点符号(例如在列表中),则必须手动在逗号后留出细空格。
\documentclass[12pt]{article}
\mathcode`\;="303B
\mathcode`\,="013B
\begin{document}
\[ (2;3) \quad 2,3 \quad \{x,\,y,\,1,\,2,\,3\} \]
\end{document}
对于使用的任何语言包,您都必须将 mathcode 声明括在\AtBeginDocument
命令中并将其放在加载包之后:
\documentclass[12pt]{article}
\usepackage{polyglossia}
\AtBeginDocument{
\mathcode`\;="303B
\mathcode`\,="013B
}
\begin{document}
\[ (2;3) \quad 2,3 \quad \{x,\,y,\,1,\,2,\,3\} \]
\end{document}