我正在寻找一种在 Latex 中重现此符号的方法(我认为该文档也是用 Latex 编写的(但只有 PDF 版本),所以我不能做得很复杂,但我对它很陌生所以我不知道该怎么做!):
我对符号之间的箭头没有问题,但对于反身箭头,我无法在任何地方找到符号。
我看到这个网站上有一个关于某些附近事物的帖子,但我不确定是否可以在不使用节点的情况下使用给定的答案(我指的是这个帖子:反身箭)
答案1
tikzcd 的使用
代码
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzcd}[cells={nodes={minimum size=0.5cm}}]
x\arrow[thick,]{r}{}
\arrow[out=180,in=90,loop,thick]{}
& y
\end{tikzcd}
% different arrows style
\begin{tikzcd}[cells={nodes={minimum size=0.5cm}}]
x\arrow[thick,-stealth]{r}{}
\arrow[out=180,in=90,loop,thick,-stealth]{}
& y
\end{tikzcd}
% different style
\begin{tikzcd}[cells={nodes={minimum size=0.5cm}}]
x\arrow[thick,-stealth]{r}{}
\arrow[out=110,in=70,loop,thick,-stealth]{}
& y
\end{tikzcd}
\end{document}
您还可以像其他人所建议的那样将其用作函数:
\newcommand{\customarrow}[1]{
\begin{tikzcd}[cells={nodes={minimum size=0.5cm}}]
#1
\arrow[out=180,in=90,loop,thick]{}
\end{tikzcd}
}
然后像这样调用它:
\customarrow{x}
答案2
您实际上只需要graphicx
包和包mathb
中的字体mathabx
。由于此包重新定义了大多数数学符号(并在标准符号中添加了一些),我将仅从字体中定义一些数学符号并从中派生出两个命令:\lreflexivearrow
和\rreflexivearrow
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools, amssymb}
\usepackage{graphicx}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{
<-6> mathb5 <6-7> mathb6 <7-8> mathb7
<8-9> mathb8 <9-10> mathb9
<10-12> mathb10 <12-> mathb12
}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\lefttorightarrow}{\mathrel}{mathb}{"FC}
\DeclareMathSymbol{\righttoleftarrow}{\mathrel}{mathb}{"FD}
\DeclareMathSymbol{\uptodownarrow}{\mathrel}{mathb}{"FE}
\DeclareMathSymbol{\downtouparrow}{\mathrel}{mathb}{"FF}
\newcommand\lreflexivearrow{ \reflectbox{$\mkern3mu\righttoleftarrow$}}
\newcommand\rreflexivearrow{\mbox{$\mkern3mu \righttoleftarrow $}}
\begin{document}
\[ \lreflexivearrow x ―――→ y\rreflexivearrow \]%
\end{document}
答案3
起点如下tikz
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,bending}
\usepackage{amsmath}
\newcommand{\arrowed}[1]{%
\begin{tikzpicture}[baseline=(a.base)]
\node[inner sep=1pt] (a) {$#1$};
\draw[arrows = {-Latex[scale=0.5,bend]}] (a.west) .. controls ++(-1ex,0.5ex) and ++(-0.5ex,1ex) .. (a.north);
\end{tikzpicture}
}
\begin{document}
\[x\arrowed{x} \longrightarrow y\]
\end{document}