我正在考虑建立一个新的符号库,我需要测试命令集。我使用一组命令快速拼凑了一组数学符号
\newcommand{\example}{\includegraphics[height=\height]{example.jpg}}
和扫描仪。对于临时解决方案来说,它工作得很好,但问题是我希望将参数\height
设置为等于1em
当前显示样式中的值(即,下标和上标的值较小,等等)。我找不到任何信息,也不知道是否有办法做到这一点(这不是 graphicx 包的设计目的)。有什么建议吗?
答案1
您要查找的高度是:当前符号字体(系列 2)的文本样式中\fontdimen6\textfont2
的长度(定义为 1em)。当然,如果您使用的是 scriptstyle 或 scripscriptstyle,则需要或,并且可以使用不同的系列(最多 15;我不确定它们的意义是什么,但如果您正在设计字体,也许您是)。\quad
\scriptfont
\scriptscriptfont
我应该提到,如果您在第一次$ $
使用数学对之前使用它,则符号字体将不会被加载,并且您将收到一个神秘的错误\nullfont
。
答案2
您需要使用\mathchoice
原始数据来设置每个数学尺寸:
\def\something{\mathchoice
{\includegraphics[height=\fontdimen6\textfont2]{...}}%
{\includegraphics[height=\fontdimen6\textfont2]{...}}%
{\includegraphics[height=\fontdimen6\scriptfont2]{...}}%
{\includegraphics[height=\fontdimen6\scriptscriptfont2]{...}}%
}
(使用graphicx
包来包含图形)
或者更简单地让 AMS 来照顾你,使用amstext
包然后:
\def\something{\text{\includegraphics[height=1em]{...}}%