表示“出”和“进”的字形?

表示“出”和“进”的字形?

我将如何“实现”如下字形:

enter image description here

表示“退出”,以便我能够将其用作文本的一部分而不会让 pdftex 阻止我?

具体来说,我是否需要研究 tikz 的黑暗巫术,或者我可以通过某种方式使其更简单?也许通过组合+拉伸圆圈和箭头?

答案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}

Result

改进:

  • 左、右侧轴承
  • 对斜体/倾斜的一些支持。
  • 对粗体有一些支持。

例子:

\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}

Result

答案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} 

enter image description here

相关内容