软件包 libertinus-otf 和 yhmath

软件包 libertinus-otf 和 yhmath

使用以下方法编译lualatex

\documentclass{article}
\usepackage{libertinus-otf}
\usepackage{yhmath}
\begin{document}
$\wideparen{ABC}$
\end{document}

给出错误信息

/usr/local/texlive/2022/texmf-dist/tex/latex/yhmath/yhmath.sty:59: LaTeX Error:
 Command `\arrowvert' already defined.

如何防止这种情况发生?

答案1

只需导入\wideparen

\documentclass{article}
\usepackage{libertinus-otf}

\DeclareSymbolFont{yhlargesymbols}{OMX}{yhex}{m}{n}
\DeclareMathAccent{\wideparen}{\mathord}{yhlargesymbols}{"F3}

\begin{document}

$\wideparen{ABC}$

\end{document}

在此处输入图片描述

如果你仔细观察yhmath.sty,你会发现

\DeclareSymbolFont{yhlargesymbols}{OMX}{yhex}{m}{n}

这是设置数学符号字体​​的标准 LaTeX 方式。需要一个名称和一个字体规范;在这种情况下,ofmyhex.fd存在一个名为的字体编码文件,因此我们不需要其他任何东西。

接下来,您将找到所需的\DeclareMathAccent说明,这是 LaTeX 定义数学重音的方法。您可以在基本fontmath.ltx文件(LaTeX 内核的一部分)中找到其中几个示例。

在其他一些情况下,还需要指定字体声明。一种情况是当您需要从mathabx或导入符号时fdsymbols。对于这种情况,里程可能会有所不同,需要一些经验。

相关内容