长虚线右箭头

长虚线右箭头

有没有

\dashrightarrow

相当于:

\xrightarrow{\hspace*{4mm}} or \longrightarrow 

或者用类似的方式来欺骗它?

答案1

这是一个选项:

enter image description here

\documentclass{article}

\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\makeatletter
\newcommand{\xleftrightarrow}[2][]{\ext@arrow 3359\leftrightarrowfill@{#1}{#2}}
\newcommand{\xdashrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@@{#1}{#2}}
\newcommand{\xdashleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@@{#1}{#2}}
\newcommand{\xdashleftrightarrow}[2][]{\ext@arrow 3359\leftrightarrowfill@@{#1}{#2}}
\def\rightarrowfill@@{\arrowfill@@\relax\relbar\rightarrow}
\def\leftarrowfill@@{\arrowfill@@\leftarrow\relbar\relax}
\def\leftrightarrowfill@@{\arrowfill@@\leftarrow\relbar\rightarrow}
\def\arrowfill@@#1#2#3#4{%
  $\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
   \relax#4#1
   \xleaders\hbox{$#4#2$}\hfill
   #3$%
}
\makeatother

\begin{document}
$A \xrightarrow{\text{something}} B$

$A \xdashrightarrow{\text{something}} B$

$A \xleftarrow{\text{something}} B$

$A \xdashleftarrow{\text{something}} B$

$A \xleftrightarrow{\text{something}} B$

$A \xdashleftrightarrow{\text{something}} B$

\end{document}

上面定义了一种新的\arrowfill@@风格(类似于\arrowfill@已经定义的原始风格amsmath。新样式删除了\mkern用于构建可扩展箭头的元素之间的任何负数。此外,\cleaders它使用而\xleaders不是 来尽可能地展开破折号(参见想要用重复的字符串填充行)。

奇怪的是, byamsmath并没有定义\xleftrightarrow,尽管它为穿过的箭头提供了填充leftrightarrowfill@……

答案2

使用 TikZ 可能是一种过度的解决方案。

它定义了\xdasharrow将箭头上方的文本和箭头方向作为参数。后者是可选的。使用可选参数可以选择箭头尖端以及颜色。

代码:

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}

% code by Werner:
% http://tex.stackexchange.com/a/152489/13304
\makeatletter
\newcommand{\xleftrightarrow}[2][]{\ext@arrow 3359\leftrightarrowfill@{#1}{#2}}
\makeatother

\newcommand{\xdasharrow}[2][->]{
% correct vertical setting by egreg:
% http://tex.stackexchange.com/a/59660/13304
\tikz[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]{
\node[anchor=south,font=\scriptsize, inner ysep=1.5pt,outer xsep=2.2pt](x){#2};
\draw[shorten <=3.4pt,shorten >=3.4pt,dashed,#1](x.south west)--(x.south east);
}
}


\begin{document}
$A \xrightarrow{\text{something}} B$

$A \xdasharrow{\text{something}} B$

$A \xleftarrow{\text{something}} B$

$A \xdasharrow[<-,>=latex]{\text{something}} B$ % change of arrow tip

$A \xleftrightarrow{\text{something}} B$

$A \xdasharrow[<->]{\text{something}} B$

\end{document}

结果:

enter image description here

答案3

如果您只想要基本箭头,则可以避免加载繁重的程序包(这可能会导致意外的交互)。我们只使用 {color} 来擦除部分茎。结果具有与 \rightarrow 相同的箭头尖:

\usepackage{颜色}

\newcommand\dashto{\mathrel{
  -\mkern-6mu{\to}\mkern-20mu{\color{白色}\bullet}\mkern12mu
}}

这也适用于下标/上标。

答案4

有点晚了,但还有\xymatrix

\documentclass[12pt]{amsart}
\usepackage[all]{xy}
\begin{document}
$
\xymatrix{
A\ar@{-->}[r]&B
}
$
\end{document}

相关内容