使用 `\mathcal` 忽略希腊字母

使用 `\mathcal` 忽略希腊字母

我想使用命令定义各种样式,以便以后可以根据需要全局更改它们。例如,我希望使用 编写所有集合\mathcal{...}

这一直有效,直到我需要使用希腊字母作为集合描述:

\documentclass{article}
\usepackage{amsmath} 

\newcommand{\set}[1]{\mathcal{#1}}

\begin{document}
\begin{itemize}
\item $\set{A} = ...$
\item $\set{\Omega} = ...$
\end{itemize}
\end{document}

在此处输入图片描述

有没有办法告诉 XeLatex 不要对希腊字母进行“修改”?

答案1

要绕过数学字母命令,例如,\mathcal您可以简单地将所有希腊字母mathord改为大写mathalpha。如果发生冲突,请使用 还原字母\mathchardef


\documentclass{article}

\DeclareMathSymbol{\Gamma}{\mathord}{operators}{"00}
\DeclareMathSymbol{\Delta}{\mathord}{operators}{"01}
\DeclareMathSymbol{\Theta}{\mathord}{operators}{"02}
\DeclareMathSymbol{\Lambda}{\mathord}{operators}{"03}
\DeclareMathSymbol{\Xi}{\mathord}{operators}{"04}
\DeclareMathSymbol{\Pi}{\mathord}{operators}{"05}
\DeclareMathSymbol{\Sigma}{\mathord}{operators}{"06}
\DeclareMathSymbol{\Upsilon}{\mathord}{operators}{"07}
\DeclareMathSymbol{\Phi}{\mathord}{operators}{"08}
\DeclareMathSymbol{\Psi}{\mathord}{operators}{"09}
\DeclareMathSymbol{\Omega}{\mathord}{operators}{"0A}

\begin{document}

\[\mathcal{\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega}\]

\mathchardef\Gamma="7000
\mathchardef\Delta="7001
\mathchardef\Theta="7002
\mathchardef\Lambda="7003
\mathchardef\Xi="7004
\mathchardef\Pi="7005
\mathchardef\Sigma="7006
\mathchardef\Upsilon="7007
\mathchardef\Phi="7008
\mathchardef\Psi="7009
\mathchardef\Omega="700A

\[\mathcal{\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega}\]

\mathchardef\Gamma="00
\mathchardef\Delta="01
\mathchardef\Theta="02
\mathchardef\Lambda="03
\mathchardef\Xi="04
\mathchardef\Pi="05
\mathchardef\Sigma="06
\mathchardef\Upsilon="07
\mathchardef\Phi="08
\mathchardef\Psi="09
\mathchardef\Omega="0A

\[\mathcal{\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega}\]

\end{document}

在此处输入图片描述

答案2

既然您说的是 XeLaTeX,只需加载unicode-math

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{unicode-math}

\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}

\newcommand{\set}[1]{\mathcal{#1}}

\begin{document}

\begin{itemize}
\item $\set{A} = ...$
\item $\set{\Omega} = ...$
\end{itemize}

\end{document}

阿尔法与欧米茄

可以测试参数中每个字符的插槽号并使用它,但这是一个非常简单的修复方法。

相关内容