我知道包中stmaryrd
有一个较短的版本\rightarrow
,,\shortrightarrow
我想知道是否有一个较短的对角箭头版本(例如\searrow
),如果没有,是否有一种简单的方法来绘制我自己的?
答案1
您可以旋转短右箭头;但是,由于字体的怪癖,旋转需要人为地增加符号的高度。图片显示了它的边界框;黑色斑点显示箭头杆位于数学轴上,因此要获得对称放置,需要将高度加倍。
\documentclass{article}
\usepackage{amsmath,stmaryrd,graphicx}
\makeatletter
\newcommand{\fixed@sra}{$\vrule height 2\fontdimen22\textfont2 width 0pt\shortrightarrow$}
\newcommand{\shortarrow}[1]{%
\mathrel{\text{\rotatebox[origin=c]{\numexpr#1*45}{\fixed@sra}}}
}
\makeatother
\begin{document}
$a\shortrightarrow a$ % the base symbol
% the following is just to show the bounding box
{\vrule width 4pt height \fontdimen22\textfont2 \fboxsep=0pt\fbox{$\shortrightarrow$}}
% The usage example
$
a\shortarrow{0}
a\shortarrow{1}
a\shortarrow{2}
a\shortarrow{3}
a\shortarrow{4}
a\shortarrow{5}
a\shortarrow{6}
a\shortarrow{7}
a
$
\end{document}
答案2
使用tikz
(手指交叉)
\documentclass{minimal}
\usepackage{tikz}
\usepackage{mathtools}
\newcommand{\myarrow}[1][-45]{%
\mathrel{%
\text{$
\begin{tikzpicture}[baseline = -0.5ex]
\node[inner sep=0pt,outer sep=0pt,rotate = #1] (a) at (0,0) {$\xrightarrow{}$};
\end{tikzpicture}
$}%
}%
}%
\begin{document}
\[
A \myarrow T_{A \myarrow T_{A \myarrow T}}
\]
\[
A \myarrow[45] T_{A \myarrow[45] T_{A \myarrow[45] T}}
\]
\[
A \myarrow[135] T_{A \myarrow[135] T_{A \myarrow[135] T}}
\]
\[
A \myarrow[-135] T_{A \myarrow[-135] T_{A \myarrow[-135] T}}
\]
\end{document}
我不确定垂直放置的位置。因为这[baseline = -0.5ex]
可能会调整。