我正在寻找一个像这样的矢量符号
并具有以下特点:
- 适用于数学环境(也是内联的)
- 形式为
\commandname{body}
- 与主体完全一样宽(以避免索引前或后固定的问题)
- 箭头如下:...
- ...但仅限上半部分
- 垂直方向足够紧凑,可以内联。
- 兼容
amsmath
- 箭头下的表达式由多个字符组成箭头应该覆盖整个表达式
有很多解决方案只能解决我一半的问题。最好的起点是包esvect
我拍摄箭头图片的包:
http://mirror.kumi.systems/ctan/macros/latex/contrib/esvect/esvect.pdf
它还包含完整的代码(供理解它的人使用)。包中缺少的esvect
是箭头应该减半。
MWE,即将\myvect
被取代
\documentclass{article}
\usepackage{amsmath}
\newcommand{\myvect}[1]{\mathbf{#1}}
\begin{document}
$\myvect{r}$
\end{document}
这是另一个链接 如何像这样在矢量上使用鱼叉式箭头? 但是 (1) 箭头和箭体之间的空间对我来说是不可接受的(正如评论所指出的)(2)我真的不喜欢这种箭头。
答案1
可扩展箭头可以通过复制 中的定义轻松获得amsmath
。至于尖端的形式,问题在于找到合适的字体。该mathabx
包提供了与箭头更相似的东西esvect
,尽管它仍然不是完美的匹配。由于mathabx
替换了很多符号,人们可能决定只导入一个,请参阅从不同字体导入单个符号。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
% \overarrow@ and \arrowfill@ are defined in amsmath
\newcommand*{\overrightharpoonup}{\mathpalette{\overarrow@\rightharpoonupfill@}}
\newcommand*{\rightharpoonupfill@}{\arrowfill@\relbar\relbar\rightharpoonup}
\makeatother
\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{
<5> <6> <7> <8> <9> <10> gen * matha
<10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
}{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
\DeclareMathSymbol{\varrightharpoonup}{3}{matha}{"E1}
\begin{document}
$\overrightharpoonup{a}$
$\overrightharpoonup{ab}$
$\overrightharpoonup{abcde}$
\bigskip
% using the mathabx harpoon
\let\rightharpoonup\varrightharpoonup
$\overrightharpoonup{a}$
$\overrightharpoonup{ab}$
$\overrightharpoonup{abcde}$
\end{document}
答案2
我完全同意用户@egreg。如果你愿意,可以在地点(它已添加到代码中)您可以\rightharpoonup
根据需要增加或减少符号的高度。如果您设置了,\kern0
符号和字符之间会有一个很好的空白空间。
\documentclass[12pt]{article}
\usepackage{amsmath}
%%%% Edit (\kern0) of the specific macro from https://www.latex4technics.com/?note=3cz1
\makeatletter
\newcommand{\ovset}[3][0ex]{%
\mathrel{\mathop{#3}\limits^{
\vbox to#1{\kern0\ex@
\hbox{$\scriptstyle#2$}\vss}}}}
\makeatother
\begin{document}
$\ovset{\rightharpoonup}{r}, \ovset{\rightharpoonup}{P}$
\end{document}
附录:使用mathabx
包,您可以得到类似的箭头图片。使用trimclip
,clipbox
您可以获得精确的符号。这里有一个附录。
\documentclass[12pt]{article}
\usepackage{amsmath,mathabx}
%%%% Edit (\kern0) of the specific macro from https://www.latex4technics.com/?note=3cz1
\makeatletter
\newcommand{\ovset}[3][0ex]{%
\mathrel{\mathop{#3}\limits^{
\vbox to#1{\kern0\ex@
\hbox{$\scriptstyle#2$}\vss}}}}
\makeatother
\begin{document}
$\ovset{\rightharpoonup}{r}, \quad \ovset{\rightharpoonup}{G}$
\end{document}