在文本中组合箭头符号

在文本中组合箭头符号

我想在我的 latex 文档中显示一些类似于附图中的文本内箭头。我知道\leftrightarrow\updownarrow命令,但我不知道如何组合它们,也不知道如何旋转它们。tikz 是否是实现此目的所必需的?

在此处输入图片描述

任何帮助都感激不尽。

编辑:我澄清得更清楚了,如果我的问题不清楚,我很抱歉。我想避免使用数学模式(但这并不重要)和 tikz(以避免加载太多包),但环顾四周似乎 tikz 是必要的。最后,我想要一些类似的东西,A \to B但带有我描述的符号。

为了将来参考,我的问题类似于这个

答案1

叠加箭头

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\arrowtimes}{\mathrel{\mathpalette\enzo@arrowtimes\relax}}
\newcommand{\enzo@arrowtimes}[2]{%
  \ooalign{%
    $\m@th#1\nwarrow$\cr
    $\m@th#1\swarrow$\cr
    $\m@th#1\nearrow$\cr
    $\m@th#1\searrow$\cr
  }%
}
\newcommand{\arrowplus}{\mathrel{\mathpalette\enzo@arrowplus\relax}}
\newcommand{\enzo@arrowplus}[2]{%
  \ooalign{%
    $\m@th#1\leftarrow\mathrel{\mspace{-9mu}}\rightarrow$\cr
    \hidewidth$\m@th#1\text{$\m@th\big\uparrow$}$\hidewidth\cr
    \hidewidth$\m@th#1\text{$\m@th\big\downarrow$}$\hidewidth\cr
  }%
}
\makeatother

\begin{document}

\[
A \arrowtimes B_{x\arrowtimes y}
\qquad
A \arrowplus B_{x\arrowplus y}
\]

\end{document}

在此处输入图片描述

箭头不太突出,仅用于文本模式,带有mathabx箭头。

\documentclass{article}

\DeclareFontFamily{U}{abxarrows}{}
\DeclareFontShape{U}{abxarrows}{m}{n}{
  <-5.5> matha5
  <5.5-6.5> matha6
  <6.5-7.5> matha7
  <7.5-8.5> matha8
  <8.5-9.5> matha9
  <9.5-11> matha10
  <11-> matha12
}{}
% left="D0
% right="D1
% up="D2
% down="D3
% nw="D4
% ne="D5
% sw="D6
% se="D7

\newcommand{\timesarrows}{%
  \raisebox{0.5\depth}{%
    \usefont{U}{abxarrows}{m}{n}%
    \ooalign{%
      \symbol{"D4}\cr
      \symbol{"D5}\cr
      \symbol{"D6}\cr
      \symbol{"D7}\cr
    }%
  }%
}
\newcommand{\plusarrows}{%
  \raisebox{0.5\depth}{%
    \usefont{U}{abxarrows}{m}{n}%
    \ooalign{%
      \hidewidth\symbol{"D2}\hidewidth\cr
      \symbol{"D0}\cr
      \symbol{"D1}\cr
      \hidewidth\symbol{"D3}\hidewidth\cr
    }%
  }%
}

\begin{document}

X\timesarrows Y\plusarrows Z

\end{document}

在此处输入图片描述

答案2

如果问题能提供更多关于上下文以及如何使用的信息,那就太好了。正如\leftrightarrow\updownarrow明确提到的,我假设这些箭头是你在数学模式中使用的类似二元关系。一种选择是使用蒂克兹如下:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\tikzset{
  % define default style for the arrows
  myarrows/.style={scale=0.25,
                   baseline=(current bounding box.south),
                   >={Latex[length=2pt]},
                   <->
  }
}

\newcommand\biarrow[1][]{\mathbin{\tikz[myarrows,#1]{
      \draw(0,0.5)--++(1,0);\draw(0.5,0)--++(0,1);
}}}
\newcommand\diarrow[1][]{\mathbin{\tikz[myarrows,#1]{
      \draw(0,0)--(1,1);\draw(0,1)--(1,0);
}}}

\begin{document}

  $A \biarrow B$

  $A \diarrow[blue] B$

  $A \diarrow[densely dotted, xscale=3] B$

\end{document}

此代码产生:

在此处输入图片描述

代码定义了两个宏,\biarrow\diarrow,用于\tikz{...}绘制箭头。这两个宏接受一个可选参数,可用于应用tikz样式,如上面的第二和第三个示例所示。我使用来\tikzset为这两个宏定义通用样式。

如果要将其用于上标和下标等,则应使用来定义\mathpalette;参见\mathpalette 的奥秘

编辑

如果您不想在数学模式中使用这些,那么宏就会变得更简单,因为您可以删除\mathbin

\newcommand\biarrow[1][]{\tikz[myarrows,#1]{
      \draw(0,0.5)--++(1,0);\draw(0.5,0)--++(0,1);
}}
\newcommand\diarrow[1][]{\tikz[myarrows,#1]{
      \draw(0,0)--(1,1);\draw(0,1)--(1,0);
}}

相关内容