拉丁现代数学中 amssymb \square 和 \Diamond 的等价物?

拉丁现代数学中 amssymb \square 和 \Diamond 的等价物?

问题

使用amssymb,我得到\square\Diamond如下:

\documentclass{article}
\usepackage{amssymb}

\begin{document}

BLAH $\square$ $\Diamond$ BLAH

\end{document}

\square 和 \Diamond 与 amssymb

如何使用拉丁现代数学获得相同(或非常相似)的符号?

由...来指导http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/unicode-math/unimath-symbols.pdf,我尝试了以下操作(xelatex当然使用):

\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}

BLAH $\enclosesquare$ $\mdlgwhtlozenge$ BLAH

\end{document}

但输出中缺少这两个符号:

拉丁现代数学中缺少符号

日志文件显示:

Missing character: There is no ⃞ in font LMMath-Regular/OT:script=math;language
=DFLT;!
Missing character: There is no ◊ in font LMMath-Regular/OT:script=math;language
=DFLT;!

奇怪的是,这些日志消息显示了实际丢失的符号!

解决方案

寻找数学字体:

由于我不完全理解的原因,缺少拉丁现代数学字体的问题已得到解决。

虽然该文件latinmodern-math.otf确实如预期的那样在 中/usr/local/texlive/2019/texmf-dist/fonts/opentype/public/lm-math,但我也有(通过 macOS Font Book.app)lmmath-regular.otf在 中/Library/Fonts/Latin Modern

无论最近是否运行了 TeX Live Utility 并自动调用了updmap修复内容,无论如何,现在都可以按预期使用以下命令加载字体xelatex

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{unicode-math} 
\setmathfont{Latin Modern Math}
\begin{document}

BLAH $\enclosesquare$ $\mdlgwhtlozenge$ BLAH

\end{document}

得到我想要的两个符号:

前面的源现在还在pdf 中打印字符\enclosesquare和。\mdlgwhtlozenge

然而,我一直在尝试用这两种方法来代替我真的在我陷入丢失字体文件的困境之前,我可以使用一种常见的解决方法:amsfonts在之前加载unicode-math。现在,它实现了我真正想要的效果:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{amsfonts} % for \square & \Diamond
\usepackage{unicode-math} 
\setmathfont{Latin Modern Math}

\begin{document}

HELLO $\square$ $\diamond$ GOODBYE

\end{document}

\square 和 \Diamond 替代

相关内容