XeLaTeX 和 stmaryrd

XeLaTeX 和 stmaryrd

我正在使用 XeLaTeX 和 Minion Pro,但\usepackage[MnSymbol]{mathspec}我需要包中的 \llbracket 和 \rrbracket 命令\usepackage{stmaryrd}。不幸的是,我收到了“数学字母太多”错误消息。作为解决方案,我可以使用现有的 [、] 和 | 符号重新定义我自己的 \llbracket 和 \rrbracket,或者尝试从 stmaryrd 中提取 \rrbracket 和 \llbracket 命令的定义,如下所示(取自 stmaryrd.sty):

\DeclareMathDelimiter\llbracket{\mathopen}{stmry}{"4A}{stmry}{"71}
\DeclareMathDelimiter\rrbracket{\mathclose}{stmry}{"4B}{stmry}{"79}

这有用吗?谢谢

答案1

unicode-math 中的这段代码据说可以消除数学字体的 16 系列限制。它可能会有所帮助。

\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
\let\newfam\new@mathgroup

答案2

经过调查,我找到了 中的等效命令MnSymbol,即\lsem\rsem。我仍然对详细说明如何从包中提取单个命令的方法感兴趣。谢谢

答案3

我晚了两年,但你实际上可以写:

\DeclareSymbolFont{stmry}{U}{stmry}{m}{n}
\SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n}
\DeclareMathDelimiter\llbracket{\mathopen}{stmry}{"4A}{stmry}{"71}
\DeclareMathDelimiter\rrbracket{\mathclose}{stmry}{"4B}{stmry}{"79}

有了上述内容,您实际上不需要任何\usepackage选项,只需要stmaryrd安装即可。

相关内容