答案1
不tikz
...适用于各种数学风格。
\documentclass{article}
\usepackage{scalerel,stmaryrd}
\newsavebox\wedgearrowbaseline
\savebox\wedgearrowbaseline{$\scalerel{%
\ooalign{\kern.05pt/\cr/}\mkern-8.5mu}{\ssearrow}$}
\newcommand{\wedgearrow}{\mathrel{\scalerel*{%
\usebox{\wedgearrowbaseline}}{X}}} %stmaryrd
\begin{document}
$K\wedgearrow L$
$\scriptstyle K\wedgearrow L$
$\scriptscriptstyle K\wedgearrow L$
\end{document}
答案2
如同Ahrtaler 的回答,不同之处在于它还与下标(和所有数学样式)配合使用,并且如果处于粗体模式,则会变为粗体。我建议此主题以供进一步阅读。
\documentclass{article}
\usepackage{tikz}
\usepackage{amsmath}
\makeatletter
\DeclareRobustCommand{\checkbold}[1]{% https://tex.stackexchange.com/a/24635/121799
\edef\@tempa{\math@version}\edef\@tempb{bold}%
\ifx\@tempa\@tempb%
\def#1{1}%
\else
\def#1{0}%
\fi}
\makeatother
\tikzset{wedge arrow/.style={->,line cap=round,line join=round}}
\newcommand{\wedgearrow}{\checkbold\tmp%
\ensuremath{\mathrel{%
\mathchoice{%
\tikz[baseline=-0.1ex]{\draw[line width={(1+0.33*\tmp)*0.06em},wedge arrow](0,0) -- (60:0.6em) -- ++ (-60:0.6em);}
}{%
\tikz[baseline=-0.1ex]{\draw[line width={(1+0.33*\tmp)*0.06em},wedge arrow](0,0) -- (60:0.6em) -- ++ (-60:0.6em);}
}{%
\tikz[baseline=-0.075ex]{\draw[line width={(1+0.33*\tmp)*0.045em},wedge arrow](0,0) -- (60:0.45em) -- ++(-60:0.45em);}
}{%
\tikz[baseline=-0.06ex]{\draw[line width={(1+0.33*\tmp)*0.035em},wedge arrow](0,0) -- (60:0.35em) -- ++ (-60:0.35em);}
}}}}
\begin{document}
$A\wedgearrow B_{C\wedgearrow D}$ {\Large $A\wedgearrow B_{C\wedgearrow D}$}
\boldmath$A\wedgearrow B_{C\wedgearrow D}$ {\Large $A\wedgearrow B_{C\wedgearrow D}$}
\unboldmath
\end{document}
編輯:
- 添加
\mathrel
于Eclipse Sun 的建议。 - 使宏也检测字体粗细,因此箭头在
\boldmath
或中变为粗体\boldsymbol
,就像标准箭头一样。 - 添加圆线帽和连接,灵感来自Joey 的评论。
答案3
我认为你可以做这样的事情:
\documentclass{scrartcl}
\usepackage{tikz}
\newlength{\textsize}
\makeatletter
\setlength{\textsize}{\f@size pt}
\makeatother
\newcommand{\wedgearrow}{%
\resizebox {!} {\textsize} {
\begin{tikzpicture}
\draw[->, line width = 2pt] (0,0) -- (.5,1) -- (1,0);
\end{tikzpicture}}
}
\begin{document}
Hi this \wedgearrow is a wedgearrow
\end{document}
答案4
使用\mathpalette
:斜线被调整为与箭头相同的垂直尺寸,稍微加宽以补偿笔画宽度,并垂直放置以适应。
需要进行一些手动调整以使顶部相接。
\documentclass{article}
\usepackage{amsmath}
\usepackage{stmaryrd}
\usepackage{graphicx}
\makeatletter
\newcommand{\wedgearrow}{\mathrel{\mathpalette\wedge@arrow\relax}}
\newcommand{\wedge@arrow}[2]{%
\begingroup
\sbox\z@{$\m@th#1\ssearrow$}%
\sbox\tw@{\resizebox{!}{\dimexpr\ht\z@+\dp\z@}{\raisebox{\depth}{$\m@th#1/$}}}%
\raisebox{-\dp\z@}{\scalebox{1.1}[1]{\box\tw@}}% slash
\mathchoice{\mkern-2.5mu}{\mkern-2.5mu}{\mkern-3mu}{\mkern-3.5mu}%
\box\z@ % arrow
\endgroup
}
\makeatother
\begin{document}
$K\wedgearrow L_{K\wedgearrow L_{K\wedgearrow L}}$
{\Huge$K\wedgearrow L$}
\end{document}