根据使用的字体有条件地执行宏
我是&符号的忠实粉丝 - 我非常虔诚地听取SimpleBits的建议“使用最好的&符号”。
为此,我在LaTeX中定义了以下快捷方式:
letamp&
renewcommand&{{scalebox{1.2}{textnormal{fontspec{Baskerville}itshapeamp}}}}
简而言之,这将“普通”&符号的所有用法改为时尚的变体,例如:
This is a text & it contains an ampersand.
(使用&
而不仅仅是&
,因为这就是LaTeX的工作原理 - 后者已经被保留用于分离表环境中的列。)
但是,这总是使用相同的字体 - 这里,Baskerville - 无论它是否适合。我想根据使用的字体系列使用不同的字体。也就是说,我想将另一个&符号与sans serif文本结合使用,特别是我想防止在monospace上下文中重写&符号。所以在以下两个上下文中,我不想触发上面的定义:
{sffamily a & b}
{ttfamily a & b}
我怎么做?
我想象如下:
renewcommand&{
ifsans
{fontspec{Trebuchet MS}{textnormal{itshapeamp}}}
else
ifmono
amp
else
{fontspec{Baskerville}scalebox{1.2}{textnormal{itshapeamp}}}
fi
fi}
没有找到相关结果
已邀请:
2 个回复
先对冈蒲
这意味着,您将&符号的更改包含在(在我的示例中)definition7ѭ的定义中。 缺点是 - 当然 - 您必须为所有想要的字体系列执行此操作。
舞备联
,但是,这可能不如您所希望的那样可靠。下面的代码只检查当前系列是否等于
和
设置的默认系列,而不是字体是否真的是无衬线: