![有没有办法通过宏确定字体中是否存在某个字符?](https://linux22.com/image/342679/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E9%80%9A%E8%BF%87%E5%AE%8F%E7%A1%AE%E5%AE%9A%E5%AD%97%E4%BD%93%E4%B8%AD%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E6%9F%90%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我想\interrobang
为我的个人实用宏包制作一个宏,用于打印该字符‽
(也称为问号)。但是,有些字体没有这个字符,在这种情况下,我想默默地返回到简单地打印!?
。有办法吗?
当我在宏中键入 Unicode 字符,然后在该字符不可用时在文档中使用该宏时,得到的结果如下:
! Undefined control sequence.
\u-default-8253 #1->\textinterrobang
答案1
您显示的特定错误与字体无关(tex 从未发展到那么远)只是命令未定义,您可以定义
\providecommand\textinterrobang{!?}
然后就会出现错误,并且如果任何其他字体包定义此命令来访问字体中的字符,那么\providecommand
就不会执行任何操作。