我尝试通过包bmdefine
中的命令定义可扩展粗体分隔符的命令bm
(显然所涉及的大多数包似乎是不必要的,但我需要这些包,也许问题与它们有关):
\documentclass[a4paper,12pt]{amsart}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathtools} % amsmath improvement
\mathtoolsset{mathic} % math italics correction
\usepackage[ scale = 1.09 ]{Baskervaldx} % text font
\usepackage{inconsolata} % sans serif monospaced ("typewriter") font
\usepackage{eulerpx} % math font
\usepackage{eucal} % upright cursive
% improved bold math
\newcommand\bmmax{0}
\usepackage{bm}
\bmdefine{\blparen}{\delimiter\delcode`(}
\bmdefine{\brparen}{\delimiter\delcode`)}
\bmdefine{\blbrack}{\delimiter\delcode`[}
\bmdefine{\brbrack}{\delimiter\delcode`]}
\begin{document}
\[ ) \quad \bm{ ) } \quad \brparen \]
\[ \Biggl( \quad \bm{ \Biggl( } \quad \Biggl\blparen \]
\[ \Bigr] \quad \bm{ \Bigr] } \quad \Bigr\brbrack \]
\end{document}
正如您所看到的,使用bmdefine
命令创建的粗体版本不起作用,但“pure”命令\bm{***}
可以工作,即使在定界符的缩放版本上也是如此(eulerpx
我想这种粗体变体是由软件包提供的)。使用命令创建的命令bmdefine
取自 David Carlisle 对我之前提出的一个问题的回答(现已删除)。
我的问题是:我做错了什么?
答案1
该示例使用
\newcommand\bmmax{0}
所以bm
不会定义任何粗体字体,所以可扩展的字符不是粗体。
\boldsymbol
一些字符将被本地切换的较慢系统变为粗体,\boldmath
但可扩展字符无法使用。
此设置禁用了软件包的 90% 功能。基本上,它要求软件包在不使用额外字体的情况下将内容加粗。