使用 TeXLive 2015。
加载包时,命令\lsem
和\rsem
不起作用。比较代码,和MnSymbol
unicode-math
unicode-math
\documentclass{scrreprt}
\usepackage{unicode-math}
\usepackage{MnSymbol}
\begin{document}
With unicode-math: $\lsem x \rsem$
\end{document}
并且没有unicode-math
\documentclass{scrreprt}
%\usepackage{unicode-math}
\usepackage{MnSymbol}
\begin{document}
Without unicode-math: $\lsem x \rsem$
\end{document}
以及它们各自的产出:
问题。我该如何修复这个问题\lsem
并按\rsem
预期使用?
答案1
MnSymbol
旨在改变全部数学符号,使用自己的。为此,它重新定义了标准数学系列以使用其字体。特别是它
\DeclareSymbolFont{largesymbols} {OMX}{MnSymbolE}{m}{n}
\DeclareSymbolFont{symbols} {U} {MnSymbolF}{m}{n}
但这些声明后来被覆盖unicode-math
,因此当某些东西使用largesymbols
数学组时,它最终会以当前 Unicode 数学字体中的字符结束。
使包与 兼容意味着将所有使用和unicode-math
的符号定义更改为不同的。要获取和,您可以这样做:largesymbols
symbols
\lsem
\rsem
\documentclass{scrreprt}
\usepackage{MnSymbol}
\usepackage{unicode-math}
\DeclareSymbolFont{MNlargesymbols}{OMX}{MnSymbolE}{m}{n}
\makeatletter
\Decl@Mn@Open {\lsem}{MNlargesymbols}{'102}
\Decl@Mn@Close{\rsem}{MNlargesymbols}{'107}
\makeatother
\begin{document}
With unicode-math: $\lsem x \rsem$
\end{document}
您可能需要更多重新定义,但它们和这些一样简单:只需在中查找所需符号的定义即可MnSymbol.sty
。