调整 Fourier 中的 / 和 \backslash 符号

调整 Fourier 中的 / 和 \backslash 符号

傅立叶,在我看来,无尺寸斜线/\backslash太小,与有尺寸的版本相比倾斜度不够。例如,写入a / ba \big/ b,我们会得到如下所示的结果:

一个 / 乙

这样可能不太容易看出来,但是第一道斜线的倾斜程度不如第二道。

我知道fourier.sty,我们有

\DeclareMathDelimiter{/}{\mathord}{operators}{047}{largesymbols}{177}

这解释了为什么 的/行为与 不同\big/,因为它们指向不同的符号(与 类似\backslash)。也许可以将其更改为

\DeclareMathDelimiter{/}{\mathord}{largesymbols}{177}{largesymbols}{177}

使它们指向相同的符号,然后以某种方式重新缩放并重新定位它。然而,只改变这一行,我们得到

a / b 但更糟

首先,斜线的位置非常糟糕,其次,它的大小与 相同\big/

我怎样才能使无尺寸斜线倾斜到与尺寸版本一样多,并使它们比当前略大?我仍然希望能够简单地写入a / b,但斜线与尺寸版本一致。

更新:mathdesign的斜线看起来不错。不过,我不知道如何用这些来代替 Fourier 的。也许这个帖子可以有所帮助。

注意:这似乎与此封闭的帖子。希望这个问题能够继续存在,因为我正在努力寻找解决方案。

答案1

由于mathdesign的斜线非常相似,因此可以很容易地将这两条斜线用 的乌托邦部分中的对应斜线替换掉mathdesign

我得到的是

结果

以下是如何生成该代码的相应代码:

\documentclass[12pt,oneside]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[draft=false]{scrlayer-scrpage}
\usepackage{mathtools}
\usepackage{fourier}

\makeatletter
% slash
\DeclareFontFamily{OT1}{mdput}{\hyphenchar \font =45}
\DeclareFontShape{OT1}{mdput}{m}{n}{
   <->s * [0.94]  mdputr7t
}{}
\DeclareFontShape{OT1}{mdput}{b}{n}{
   <->s * [0.94]  mdputb7t
}{}
\DeclareSymbolFont{newoperators}{OT1}{mdput}{m}{n}
\SetSymbolFont{newoperators}{bold}{OT1}{mdput}{b}{n}
\DeclareMathDelimiter{/}{\mathord}{newoperators}{047}{largesymbols}{177}

% backslash
\DeclareFontFamily{OMS}{mdput}{\skewchar \font =48}
\DeclareFontShape{OMS}{mdput}{m}{n}{
   <->s * [0.94]  mdputr7y
}{}
\DeclareFontShape{OMS}{mdput}{b}{n}{
   <->s * [0.94]  mdputb7y
}{}
\DeclareSymbolFont{newsymbols}{OMS}{mdput}{m}{n}
\SetSymbolFont{newsymbols}{bold}{OMS}{mdput}{b}{n}
\DeclareMathDelimiter{\backslash}{\mathord}{newsymbols}{110}{largesymbols}{178}

% just to patch sized delimiters in the Fourier font
\def\resetMathstrut@{%
  \setbox\z@\hbox{%
    \mathchardef\@tempa\mathcode`\(\relax
    \def\@tempb##1"##2##3{\the\textfont"##3\char"}%
    \expandafter\@tempb\meaning\@tempa \relax
  }%
  \ht\[email protected]\ht\z@ \dp\[email protected]\dp\z@
}
\makeatother

\begin{document}
This is a demonstration of slash:~$a / b = (a / b)$.

This is a demonstration of backslash:~$a \backslash b = (a \backslash b)$.
\begin{gather*}
  a / b
\;=\;
  a \big/ b
\\
  a \backslash b
\;=\;
  a \big\backslash b
\\
  / \mspace{-6mu} \big/
\\
  \backslash \mspace{-6mu} \big\backslash
\end{gather*}
\end{document}

这是通过观察mathdesignUtopia 如何加载符号字体operator并将symbol其移植到这里而实现的。

相关内容