![与包 mathastext 的字形碰撞](https://linux22.com/image/262347/%E4%B8%8E%E5%8C%85%20mathastext%20%E7%9A%84%E5%AD%97%E5%BD%A2%E7%A2%B0%E6%92%9E.png)
当我尝试使用 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
时不会发生冲突。关于这个问题有什么帮助或建议吗?mathdesign
mathastext
其次,我想避免 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
分散开来,我想应该提供一些选项来避免这种情况)。