我发现 kpfonts 中的花括号很难与其他括号状符号区分开来,因此我想用另一种字体中的花括号替换所有数学符号\{
and \}
(so \lbrace
and \rbrace
)。目前 CM 可以做到,但我愿意听取其他建议。按照这个问题和这个问题我已经成功地对大版本进行了此操作,即当\{
其前面有\left
或\big
等等时:
\documentclass{article}
\usepackage{kpfonts}
\DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n}
\DeclareMathDelimiter{\lbrace}{\mathopen}{symbols}{"66}{CMlargesymbols}{"08}
\DeclareMathDelimiter{\rbrace}{\mathopen}{symbols}{"67}{CMlargesymbols}{"09}
\begin{document}
$\{a\} \quad \big\{a\big\}$
\end{document}
常规大小的括号仍然来自 kpfonts。我认为\lbrace
和可能\rbrace
被声明了两次,一次用于常规情况,另一次用于largesymbols
,但在source2e
他们仅针对此案进行申报largesymbols
。
例如,乍一看,newtxmath.sty
似乎更改常规尺寸\lbrace
/的字体\rbrace
是隐式完成的,而不是显式完成的(它的唯一声明是针对大尺寸;kpfonts.sty
没有为它们做出任何声明,这让我更加困惑)。
我该如何更改常规尺寸的字体?
PS 我知道字体设计师设计这些括号是有原因的。这只是为了个人使用,以提高可读性。
答案1
还需要更换正常尺寸的牙套。
\documentclass{article}
\usepackage{kpfonts}
\DeclareSymbolFont{CMsymbols}{OMS}{cmsy}{m}{n} % <---
\DeclareSymbolFont{CMlargesymbols}{OMX}{cmex}{m}{n}
\DeclareMathDelimiter{\lbrace}{\mathopen}{CMsymbols}{"66}{CMlargesymbols}{"08} % <---
\DeclareMathDelimiter{\rbrace}{\mathopen}{CMsymbols}{"67}{CMlargesymbols}{"09} % <---
\begin{document}
$\{a\} \quad \bigl\{a\bigr\}$
\end{document}
不要\big
与分隔符一起使用;分别使用\bigl
和\bigr
作为开始和结束。