帮助:在 \sum 极限内变形的特殊顶置箭头

帮助:在 \sum 极限内变形的特殊顶置箭头

使用来自的代码\overleftarrow 和 \overrightarrow 的反向箭头提示我可以在字母上方创建特殊箭头。但是,当在总和下方使用这些符号时,箭头会变得一团糟(参见下面的示例)。你能帮忙吗?

\documentclass{article}
\usepackage{amsmath,amssymb,trimclip}

\makeatletter

\def\righttailfill@{\arrowfill@{\clipbox{0pt 0pt 6pt 0pt}{\ensuremath\rightarrowtail}}\relbar\relbar}
\ams@newcommand{\overrighttail}{\mathpalette{\overarrow@\righttailfill@}}

\def\leftrighttailfill@{\arrowfill@{\clipbox{0pt 0pt 6pt 0pt}{\ensuremath\rightarrowtail}}\relbar{\clipbox{6pt 0pt 0pt 0pt}{\ensuremath\leftarrowtail}}}
\ams@newcommand{\overleftrighttail}{\mathpalette{\overarrow@\leftrighttailfill@}}

\makeatother


\begin{document}



\[
\overrighttail{abc}
\]

\[
\sum _{\overrighttail{abc}}
\]

\[
\overleftrighttail{abc}
\]


\[
\sum _{\overleftrighttail{abc}}
\]
\end{document}


在此处输入图片描述

答案1

这里是使用 的完全不同的方法tikz。定义新命令\overrighttail\overlefttail\overleftrighttail,它们接受参数,如\overrighttail{abc}。这些命令将参数放在 a 中node,然后draws 上面的箭头。您可以通过更改shift值来调整间距。

要在下面 (或上面) 使用这些命令\sum,请使用附加的新命令\limstyle,该命令具有用法\limstyle{\overlefttail{abc}}。此命令使用\mathclap,它需要mathtools包。

在此处输入图片描述

可选的第二个参数允许进一步设置箭头的样式。例如:

$\overrighttail[red, semithick, densely dotted, line cap=round]{abc}$

在此处输入图片描述

请注意,您可以Straight Barb通过更改设置将箭头样式更改为许多其他形状tail/.tip。例如,

\tikzset{tail/.tip={to[reversed, length=1.5pt]}}

在此处输入图片描述

或者\tikzset{tail/.tip={Latex[reversed, length=4pt]}}

在此处输入图片描述

\documentclass{article}

\usepackage{tikz, mathtools}
\usetikzlibrary{arrows.meta}

\tikzset{tail/.tip={Straight Barb[reversed, length=1.5pt]}}

\newcommand{\limstyle}[1]{\mathclap{\scriptsize{#1}}}
\newcommand{\overrighttail}[2][]{\tikz[baseline, anchor=base]{\node[inner sep=0pt](a){$#2$};
    \draw[tail-, #1]([shift={(1pt,2pt)}]a.north west)--([shift={(-1pt,2pt)}]a.north east);}}
\newcommand{\overlefttail}[2][]{\tikz[baseline, anchor=base]{\node[inner sep=0pt](a){$#2$};
    \draw[-tail, #1]([shift={(1pt,2pt)}]a.north west)--([shift={(-1pt,2pt)}]a.north east);}}
\newcommand{\overleftrighttail}[2][]{\tikz[baseline, anchor=base]{\node[inner sep=0pt](a){$#2$};
    \draw[tail-tail, #1]([shift={(1pt,2pt)}]a.north west)--([shift={(-1pt,2pt)}]a.north east);}}

\begin{document}
\[
\overrighttail{abc}\;\overlefttail{abc}\;\overleftrighttail{abc}\;
\sum_{\limstyle{\overrighttail{abc}}}^{\limstyle{\overlefttail{abc}}}
\]
\end{document}

相关内容