似乎有很多问题询问如何将某个符号(通常是非标准箭头)放置在另一个符号上。同样,许多人也想要可扩展的箭头。正如预期的那样,有很多不错的解决方案,但它们通常是不完整的(例如,它们不适用于下标)。解决方案也往往只针对两种主要问题类型之一:您可以有一个自定义符号,但解决方案不处理可扩展性,或者您可以有一个可扩展的解决方案,但符号不可自定义。此外,许多 hack 解决方案都有垂直间距问题,会不受欢迎地破坏行间间距。例如,典型的建议\overrightarrow{X}
在内联中看起来非常糟糕。
考虑到其中一些问题已经存在很久了(即使我们只讨论 tex.stackexchange 上的问题),令我惊讶的是,至今还没有一个通用的解决方案可供用户使用。我对此的感觉更强烈:这似乎错误的。
无论如何,让我链接到一些帖子来解释我的意思:
向量导数的点表示法:
对于可扩展箭头来说,这是一个很好的解决方案,它不会中断行间距(因此符号不会高出字母太多)。但请注意,它使用 TikZ 来构建箭头(这可能有点过头了),因此您无法使用现有符号。该解决方案还存在一个问题,即它没有考虑到被重音字母的倾斜度。它对于窄字母也不太适用,并且它不处理脚本大小等。符号上方虚线左箭头:
另一个不错的解决方案,用于自定义可扩展箭头。但是,这个解决方案不可自定义,不处理各种数学选择内容,并且存在相当严重的行间距问题。我怎样才能制作一个与 \bar 大小和高度相同的重叠符号,但符号不同?
这是在字母上添加重音符号的更好解决方案之一(在我看来),因为它结合了字母的倾斜度。但是,该解决方案不可扩展,不幸的是,它将矢量符号放置得太高,从而破坏了行间距——而且似乎没有简单的方法来调整高度。可扩展 \vec 替代 \overrightarrow:
另一种适用于特定箭头类型的出色且可扩展的解决方案。符号的倾斜度似乎没有得到考虑。箭头的高度合适,不会增加行间距。不支持数学样式(下标等)。包裹埃克斯普法伊尔非常适合创建自定义的可扩展箭头。您可以自定义符号的左、右和中间部分(中间部分用于扩展)。这不能很好地处理摆动,但我愿意放弃支持任何类似的东西。重要的是,这个包不处理重音。
似乎埃克斯普法伊尔和口音可能相当不错,但目前我还没找到任何东西。有人有这种东西吗?
所以我想我只是想知道这是否是最先进的?如果是这样,我很好奇想听听大家的想法,为什么没有更全面的方法存在……这个问题太难了吗?没有明确说明?还有其他我应该知道的解决方案吗?理想的特征是:
- 允许用户通过左/右/中选项自定义重音
- 正确处理符号倾斜,例如
$X$
- 重音可以扩展到许多符号(单词倾斜也应该被覆盖)
- 行间距的干扰最小。符号上方的距离应该可以用一个好的默认值来定制