如何仅使用 STIX 字体的选定数学符号?

如何仅使用 STIX 字体的选定数学符号?

在阅读了当前 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

以下是添加所需符号的方法。您没有正确识别所需的字体和符号。

寻找\lbrbrakstix.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}

相关内容