![覆盖单个角色的外观?](https://linux22.com/image/406252/%E8%A6%86%E7%9B%96%E5%8D%95%E4%B8%AA%E8%A7%92%E8%89%B2%E7%9A%84%E5%A4%96%E8%A7%82%EF%BC%9F.png)
我想覆盖 mathsf 字体中字母 I 的外观,因为它看起来像垂直线和字母 l。默认情况下,它看起来像以下内容:
我的目标是看起来像这样:
我怎样才能仅更改 mathsf 字体中的这个单个字母?
我看过如何更改字母的字体和改变一个字母会改变整篇论文的顺序但它们对我没什么帮助。我甚至用过解毒但这也无济于事。
编辑:
在...的帮助下@大卫·卡莱尔的回答,我想出了一个半解决方案,即声明一个名为的新命令\I
并为其分配以下内容:
\newcommand{\I}{{\fontfamily{lcmss}\selectfont\ensuremath{\mathrm{I}}}}
因此$\I$, \I
得出:
答案1
答案2
使用该包,您可以使用选项unicode-math
覆盖单个数学模式字符,在本例中,只更改数学无衬线 I。但是,将整个无衬线字母表加载为可能会获得更好的效果。[range=...]
\setmathfont
\setmathfont[range=\msansI]
\setmathfont[range=sfup]
使用旧字体,你可以加载\mathsf
字母表并[sfdefault=...]
选择包裹isomath
。 OML 编码中支持的选项有cmbr
、fav
、hvm
、iwona
和jkpfss
。llcmss
答案3
你需要使用一些低级 TeX 才能完成这项工作。你关心的命令是\mathcode
第 17 章中描述的TeXbook。我手边没有我的副本,无法给你提供你需要做的事情的完整说明,但你可以做一些类似的事情
\mathcode`I="7A49
其中,A
需要更改为与数学字体系列的数值相对应——它将是 8-F 范围内的一个值,具体取决于字母表的声明时间。
我希望这足以帮助你开始。