无需 stix 包(pdflatex)即可获得正确的直径符号

无需 stix 包(pdflatex)即可获得正确的直径符号

我在 TikZ 中绘制了一个自定义直径符号,现在我需要在我的文档 (pdftex) 中使用正确的 unicode 字形 ( U+2300 ) 来在 pdf 中提供正确的复制粘贴文本。我发现包\diameter中的符号stix产生了正确的字形(可在文件格式信息,它应该只显示“直径符号”),但在我的文档中stix 出现许多错误(Too many symbol fonts declared. ...ont{arrows2} {LS1}{stixsf} {m}{it}),我无法找到解决方法。

那么,如何在不使用 的情况下使用 pdftex 获取文档中所需的 unicode 字形stix?我测试过的其他符号包都无法生成正确的字形。

编辑:我已研究stix.sty并尝试使用那里的定义,但这会创建错误的符号......

\documentclass{standalone}
\DeclareMathSymbol{\diam}{\mathord}{symbols}{"60}
\begin{document}
\(\diam\) % should always produce U+2300 
\end{document}

在此处输入图片描述

这个答案可能适用于这里,但我无法让它为我工作。

答案1

您不需要为一个符号设置数学字体。

\documentclass{standalone}
\usepackage{amsmath}

\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareRobustCommand{\diameter}{%
  \text{\usefont{LS1}{stixscr}{m}{n}\symbol{"60}}%
}

\begin{document}
\(\diameter\) % something producing the U+2300 glyph
\end{document}

在此处输入图片描述

如果我从 PDF 复制并粘贴http://r12a.github.io/apps/conversion/我明白了

在此处输入图片描述

相关内容