矢印付きの波線

矢印付きの波線

- エプソム の投稿
返信数: 4

~~~~> 見たいな「矢印付きの波線」を探しています。

できれば \xrightarrow のように矢印の上下に文字列を書きたいと思っています。

文字列の長さに合わせて矢印の長さが変われば最高です。

よろしくお願いします。

エプソム への返信

Re: 矢印付きの波線

- 和田 勇 の投稿
\sim(〜) \succ(>)を利用して試してみました。〜と>の間の空白がちょっと空きすぎ (*1)とか、左側がちょっと余分かな?とか、あまり綺麗ではないのですが、参考に改良してみてください。

(*1) \, \: \; などだと重なってしまうので 「~ 」にしました。

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

\makeatletter
%\def\rightsquigarrowfill@{\arrowfill@\sim\sim{~ \succ}}% 先頭で〜が重なる
\def\rightsquigarrowfill@{\arrowfill@{~ }\sim{~ \succ}}% 空白調整が一寸面倒

\newcommand{\xrightsquigarrow}[2][]{\ext@arrow 0359\rightsquigarrowfill@{#1}{#2}}
\makeatother

\begin{document}

$\xrightarrow[aaaaa]{bbbbbb}$ ... $\xrightsquigarrow[aaaaa]{bbbbbb}$

$\xrightsquigarrow[xxxxxxxxxxxxxxxxxxxxaaaaa]{bbbbbb}$

\end{document}

和田 勇 への返信

Re: 矢印付きの波線

- エプソム の投稿

ありがとうございます。

矢の先端を重ね文字を使って

\def\Ya{{\ooalign{\hfil$-$\hfil\crcr$>$}}} % 矢印の頭


\def\rightsquigarrowfill@{\arrowfill@{~ }\sim{~ \Ya}}

にしてみました。

エプソム への返信

Re: 矢印付きの波線

- Dora TeX の投稿
\xrightarrow の波線版ということでしたら,TikZ を使って例えばこんな感じでどうでしょうか。

\documentclass[dvipdfmx]{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}

\makeatletter
\newcommand*\snakerightarrow[2][]{%
\mathrel{%
\settowidth\@tempdima{\footnotesize#1}%
\settowidth\@tempdimb{\footnotesize#2}%
\ifdim\@tempdimb>\@tempdima\@tempdima=\@tempdimb\fi
\advance\@tempdima15pt
\tikz[font=\footnotesize,baseline=-2pt]
\draw[decorate,decoration={snake, pre length=3pt, post length=3pt, segment length=6pt, amplitude=2pt},->]
(0,0) -- node[above] {#2} node[below] {#1} (\@tempdima,0);%
}%
}
\makeatother

\begin{document}
$a \snakerightarrow{} b$\par
$a \snakerightarrow{hoge} b$\par
$a \snakerightarrow[hogehoge]{} b$\par
$a \snakerightarrow[hoge]{hogehoge} b$
\end{document}