在阅读了当前 AMS-Notices 上有关 STIX 字体的 Grätzer 的文章后,我想在我正在写的文章中使用其中一个数学符号。
我天真地按照建议做了:我把该行\RequirePackage{stix}
作为文档的第一行。
好的,您已经知道发生了什么:这篇文章不再与以前的样子相似并且变得完全无法阅读。
以下是我的情况:我只想使用 STIX 字体中的一些选定数学符号,其他部分则保持原样。最好的处理方式是什么?
我想要的只是分隔符\lbrbrak
和\rbrbrak
来自 STIX 的。
\RequirePackage{stix}
\documentclass{amsart}
%\DeclareFontEncoding{LS1}{}{}
%\DeclareFontSubstitution{LS1}{stix}{m}{n}
%\DeclareSymbolFont{largesymbols} {LS1}{stixsf}{m} {n}
%\DeclareMathDelimiter{\lbrbrak} {\mathrel}{largesymbols}{"EE}{largesymbols}{"EE}
%\DeclareMathDelimiter{\rbrbrak} {\mathrel}{largesymbols}{"EF}{largesymbols}{"EF}
\newcommand{\newbrak}[2]{\genfrac{\lbrbrak}{\rbrbrak}{0pt}{}{#1}{#2}}
\begin{document}
\begin{equation}
\newbrak{k}{m} =
(m n)! \, \frac{\Omega_{k}(z)}{\Omega_{m}(z)}
\end{equation}
\end{document}
此脚本有效。以“Declare...”开头的行试图模仿下面 David 的答案。但是,注释掉第一行并取消注释“Declare..”行会导致错误“扩展字体不足”。我做错了什么?
答案1
以下是添加所需符号的方法。您没有正确识别所需的字体和符号。
寻找\lbrbrak
,stix.sty
找到
\stix@MathDelimiter{\lbrbrak} {\mathopen} {largesymbols}{"EE}{largesymbols}{"14}
\stix@MathDelimiter{\rbrbrak} {\mathclose}{largesymbols}{"EF}{largesymbols}{"15}
因此我们需要看看字体largesymbols
指的是什么:
\DeclareSymbolFont{largesymbols} {LS2}{stixex} {m} {n}
好的,现在我们需要LS2
:
\DeclareFontEncoding{LS2}{}{\noaccents@}
\DeclareFontSubstitution{LS2}{stix}{m}{n}
接下来,我们必须为数学字体选择一个不同的符号名称,并将各部分放在一起(以相反的顺序)。
\documentclass{amsart}
\makeatletter
\DeclareFontEncoding{LS2}{}{\@noaccents}
\makeatother
\DeclareFontSubstitution{LS2}{stix}{m}{n}
\DeclareSymbolFont{largesymbolsstix}{LS2}{stixex}{m}{n}
\DeclareMathDelimiter{\lbrbrak}{\mathopen}{largesymbolsstix}{"EE}{largesymbolsstix}{"14}
\DeclareMathDelimiter{\rbrbrak}{\mathclose}{largesymbolsstix}{"EF}{largesymbolsstix}{"15}
\newcommand{\newbrak}[2]{\genfrac{\lbrbrak}{\rbrbrak}{0pt}{}{#1}{#2}}
\begin{document}
\begin{equation}
\lbrbrak x\rbrbrak,\quad
\bigl\lbrbrak x\bigr\rbrbrak,\quad
\newbrak{k}{m} = (m n)! \, \frac{\Omega_{k}(z)}{\Omega_{m}(z)}
\end{equation}
\end{document}
答案2
您只需查看 stix.sty 并提取任何字符的定义:
\documentclass{article}
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareSymbolFont{arrows1} {LS1}{stixsf} {m} {n}
\DeclareMathDelimiter{\DDownarrow} {\mathrel}{arrows1}{"FF}{arrows1}{"FF}
\begin{document}\showoutput
\[\alpha + \sum x_i \DDownarrow \phi \]
\end{document}