答案1
使用 TikZ 的解决方案,测量以像素为单位,并缩放到大写字母的高度:
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\DeclareRobustCommand*{\circrarr}{%
\begingroup
\sbox0{H}%
\resizebox{!}{\the\ht0}{%
\begin{tikzpicture}[
line width=41pt,
>={Triangle[length=86pt, width=228pt]},
]
\draw (0, 0) circle[radius=170pt];
\draw[->] (0, 0) -- ++(347pt, 0);
\end{tikzpicture}%
}%
\endgroup
}
\begin{document}
\sffamily A\circrarr B
\end{document}
改进:
- 左、右侧轴承
- 对斜体/倾斜的一些支持。
- 对粗体有一些支持。
例子:
\documentclass{article}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\makeatletter
\newcommand*{\ItalicAngle}{77}
\DeclareRobustCommand*{\circrarr}{%
\begingroup
\sbox0{H}%
\resizebox{!}{\the\ht0}{%
% Italics support
\let\ItalicShape=N
\edef\sldefault{\sldefault}%
\edef\itdefault{\itdefault}%
\edef\f@shape{\f@shape}%
\ifx\f@shape\sldefault
\let\ItalicShape=Y
\fi
\ifx\f@shape\itdefault
\let\ItalicShape=Y
\fi
\ifx\ItalicShape Y
\tikzset{italic/.style={
transform canvas={xslant=1/tan(\ItalicAngle)}%
}}%
\else
\tikzset{italic/.style={}}%
\fi
% Bold support
\edef\f@series{\f@series}%
\if b\expandafter\@car\f@series X\@nil
\def\LineWidth{70pt}%
\def\TriangleLength{106pt}%
\def\TriangleWidth{240pt}%
\else
\def\LineWidth{41pt}%
\def\TriangleLength{86pt}%
\def\TriangleWidth{228pt}%
\fi
\begin{tikzpicture}[
line width=\LineWidth,
>={Triangle[length=\TriangleLength, width=\TriangleWidth]},
]
\begin{scope}[italic]
\draw (0, 0) circle[radius=170pt];
\draw[->] (0, 0) -- ++(306pt + \LineWidth, 0);
\end{scope}
\ifx\ItalicShape Y
\path
(-170pt - 20.5pt, -170pt - 20.5pt)
(306pt + \LineWidth, 170pt + 20.5pt)
;
\fi
\path % side bearings
(current bounding box.west) ++(-50pt, 0)
(current bounding box.east) ++(20pt, 0)
;
\end{tikzpicture}%
}%
\endgroup
}
\makeatother
\begin{document}
\sffamily A\circrarr B
{\slshape A\circrarr B}
{\itshape A\circrarr B}
{\bfseries A\circrarr B}
{\bfseries\itshape A\circrarr B}
\end{document}
答案2
这些图标还可以吗fontawesome
?或者你可以用以下图标制作自己的标志pstricks
:
\documentclass[svgnames]{article}
\usepackage[utf8]{inputenc}
\usepackage{fontawesome}
\usepackage{pstricks, pst-arrow}
\usepackage{auto-pst-pdf}
\newcommand\ArrowIn{\begin{pspicture}\psset{linejoin =1, fillstyle=solid,, opacity=0.4 }
\pscircle[linewidth=2pt]{0.8ex}\psBigArrow[ fillcolor=Tomato!30, linecolor=Tomato, doublesep=0.3ex](0.75em,-0.1ex)(0,-0.1ex)
\end{pspicture}}
\newcommand\ArrowOut{\begin{pspicture}\psset{linejoin =1, fillstyle=solid,, opacity=0.4 }
\pscircle[linewidth=2pt]{0.8ex}\psBigArrow[ fillcolor=RoyalBlue!30, linecolor=RoyalBlue, doublesep=0.3ex](0,0.1ex)(0.75em,0.1ex)
\end{pspicture}}
\begin{document}
\Huge A \faSignIn \,\,B\,\,\faSignOut \,\,C
A\ArrowOut B\ArrowIn C
\end{document}