从 stix2 导入两个符号

从 stix2 导入两个符号

我想从 stix2 包中导入两个数学符号:\rdiagovfdiag如下\fdiagovrdiag所示:

在此处输入图片描述

我想这样做,因为添加整个包会改变我文章的风格,我不喜欢。我在不同的帖子中看到过(例如这里) 这是可能的,但我不知道如何在我的情况下修改这些示例。

答案1

这个想法是复制stix2.sty,搜索定义两个符号的行,删除这些行之后的所有内容,然后向后保留仅定义符号所需的那些行。

将以下行保存在文件中mystix2.sty

\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{mystix2}[2023/11/10 pick X symbols from stix2.sty]
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}
\DeclareSymbolFont{arrows2}       {LS1}{stix2sf}   {m}{it}
\SetSymbolFont{arrows2}     {bold}{LS1}{stix2sf}   {b}{it}
\def\stix@undefine#1{%
    \if\relax\noexpand#1\let#1=\@undefined\fi}
\def\stix@MathSymbol#1#2#3#4{%
    \stix@undefine#1%
    \DeclareMathSymbol{#1}{#2}{#3}{#4}}
\stix@MathSymbol{\rdiagovfdiag}{\mathord}{arrows2}{"C4}
\stix@MathSymbol{\fdiagovrdiag}{\mathord}{arrows2}{"C5}
\endinput

按照下面的示例文档使用它。

\documentclass{article}
\usepackage{mystix2}
\begin{document}
$\rdiagovfdiag$ $\fdiagovrdiag$
\end{document}

在此处输入图片描述

答案2

实际上,您不需要任何包裹。

这个想法是看看命令是如何定义的stix2.sty,你会发现

\stix@MathSymbol{\rdiagovfdiag}{\mathord}{arrows2}{"C4}
\stix@MathSymbol{\fdiagovrdiag}{\mathord}{arrows2}{"C5}

好的,现在我们想看看arrow2指向什么:

\DeclareSymbolFont{arrows2}       {LS1}{stix2sf}   {m}{it}
\SetSymbolFont{arrows2}     {bold}{LS1}{stix2sf}   {b}{it}

我们必须寻找LS1,这是一种非标准编码:

\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}

好的,我们准备好了所有材料。我加了一个前缀,以确保没有任何东西被破坏。

\documentclass{article}
\usepackage{amsmath}

\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}
\DeclareSymbolFont{STIX2arrows2}{LS1}{stix2sf}{m}{it}
\SetSymbolFont{STIX2arrows2}{bold}{LS1}{stix2sf}{b}{it}

\DeclareMathSymbol{\rdiagovfdiag}{\mathord}{STIX2arrows2}{"C4}
\DeclareMathSymbol{\fdiagovrdiag}{\mathord}{STIX2arrows2}{"C5}

\begin{document}

$A\rdiagovfdiag\fdiagovrdiag B$

\end{document}

在此处输入图片描述

如果你不需要粗体版本,你甚至可以避免浪费数学组:

\documentclass{article}
\usepackage{amsmath}

\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix2}{m}{n}

\NewDocumentCommand{\rdiagovfdiag}{}{\text{\usefont{LS1}{stix2sf}{m}{it}\symbol{"C4}}}
\NewDocumentCommand{\fdiagovrdiag}{}{\text{\usefont{LS1}{stix2sf}{m}{it}\symbol{"C5}}}

\begin{document}

$A\rdiagovfdiag\fdiagovrdiag B$

\end{document}

相关内容