这是对我的问题的部分复述我可以永久改变字母的字体和颜色吗?那里的答案集中在颜色我想要的方面。我还希望能够更改字符所使用的实际字体。
将字符重新分配给特定字体中的特定字形的正确方法是什么?
举一个可能的例子(虽然有点疯狂),假设我想(在数学模式下)C
只使用一组复数。因此输入C
应该会产生ℂ。我还希望能够移动字形,因此也许输入d
应该会产生δ。
Will 对我最初的问题的回答是这样的:
在普通乳胶中,你可以为不同的符号选择不同的字体
但没有告诉我具体该怎么做!
答案1
\DeclareMathSymbol{C}{\mathord}{AMSb}{`C}
第一个参数是您正在定义的标记(控制序列在这里有效)。第二个是类,,,,,,,,,和7\mathord
表示变量(可能有一些变量,但我不知道它是什么)。第三个是字体系列。第四个是该系列中的位置。\mathbin
\mathop
\mathrel
\mathopen
\mathclose
\mathpunct
\mathfoo
正如所料,这个特殊情况最终会扩展为\mathcode `C="0.43
。我真的不知道缺失的十六进制数字(家庭)是什么。\mathcode
是那些神秘的(对我而言)原语之一。
我相信基本格式是:\mathcode `x="cfpp
其中x
是任何文字字符,c
是类(0 = 普通到 7 = 变量),f
是家族,pp
是该家族中的位置。cfpp
当然是一个十六进制值。
我突然想到,您可能想使用7
而不是来\mathord
获取变量类中的字母。我不确定。希望其他人可以就此事发表意见。
答案2
这只是帮助您入门的一个例子;请参阅texdoc fntguide
完整文档。
\documentclass{文章} \usepackage{amsfonts} \DeclareSymbolFont{eulerfrak}{U}{euf}{m}{n} \DeclareMathSymbol{C}{\mathalpha}{eulerfrak}{`C} \开始{文档} \[A B C D\] \结束{文档}
由于这个功能还不太为人所知,因此在 unicode-math 中还没有合适的用户界面。但我在进行下一轮更新时一定会记住这一点。
答案3
尽管已经有了一个可接受的答案,我还是想插一句。我想到的唯一“移位”需要 XeTeX,这是一种包含所有内容(拉丁文、希腊文等)的字体,并且知道要“移位”多少。即。
\count0=0 \advance\count0 by \XeTeXcharglyph`A
\advance\count0 by 500% Or how much it is to shift until the wanted version
\XeTeXglyph\count0% Out comes the shifted glyph
当然,所有这些都需要以某种方式进行宏操作。很抱歉,我对宏操作了解不够多,无法在这里提供帮助,但希望基本想法可以提供一些思考。