与包 mathastext 的字形碰撞

与包 mathastext 的字形碰撞

当我尝试使用 sans 字体在标题中输入数学时,我遇到了这个mathastext包,我变得更加贪婪。我用以下 MWE 进行了测试:

\documentclass{memoir}

\usepackage[mdugm]{mathdesign}
\usepackage[subdued,defaultnormal,defaultrm,italic]{mathastext}
\usepackage{garamondx}
\usepackage{biolinum-type1}
\renewcommand\familydefault\sfdefault
\Mathastext[biolinum]
\useosf% changes figure style in garamondx
\renewcommand\familydefault\rmdefault

\newcommand{\testtext}{%
Distribution of singularities -- zeroes and poles -- for
the transfer function $A_v(f)$ in the $s$-domain according to $Q$.
\emph{Remark:} Observe that for $Q=1/2$, we have $p_0=\omega_0$. 
Testing oldstyle figures 0123456789.
\begin{equation}
 V_i(j\omega)=\frac{1}{2}
 \sum_n{}V_n\exp\{-j\phi_n\}\delta(j\omega\pm{}j\omega_n)\,,
\end{equation}}

\begin{document}
\pagestyle{empty}
%\MTVersion{normal}
\testtext
\par\MTVersion{biolinum}
\testtext
\end{document}

几乎一切都运行良好,但有几件事我想修复。

首先,在数学模式下,罗马字体和 sans 字体都存在字形冲突——请检查(f(j。当我不使用mathastext包时,前者不会发生。因此,我希望能够使用该包,但要么避免这种冲突,要么只加载它才能使用“sans math”模式。不过,我无法加载包以使数学罗马字体不受包的影响——正如我所指出的,这很有趣,因为在加载包而不附加mathastext时不会发生冲突。关于这个问题有什么帮助或建议吗?mathdesignmathastext

其次,我想避免 sans 字体中的字形冲突。有没有一种方便的方法可以避免这种情况,而不必每次输入或输入时都发出命令或控制(f序列(j

最后,使用 sans 字体时,即使在数学模式下,我也得到旧式数字。也许这与软件包有关biolinum-type1,但我怎么能在文本模式下得到文本数字,而在数学模式下得到带线条的数字呢?

答案1

由于一些字体包问题,我目前无法测试 MWE,但最近数学文本已更新新功能\MTsetmathskips。因此您可以尝试在序言中添加:

\makeatletter
\@tfor\@tempa:=abcdefghijklmnopqrstuvwxyz\do
    {\MTsetmathskips\@tempa{.5mu}{.5mu}}
\MTsetmathskips{j}{1.5mu}{.5mu}
\MTsetmathskips{f}{1.5mu}{.5mu}
\makeatother

这将在(非柔和)数学模式下将字母隔开。请谨慎使用...(目前,运算符名称也exp分散开来,我想应该提供一些选项来避免这种情况)。

相关内容