向图表添加含义

向图表添加含义

我想在“Symm”和“Ref”之间添加一个长暗示符号

在此处输入图片描述

无需改变图表的外观。

我是这样做的:

\documentclass{article}

\begin{document}
\[
\begin{array}
[c]{cccccccc}
& & Symm & \Longrightarrow & S-Comm &\\
& & \Uparrow & & \Uparrow & \\
Comm & \Longrightarrow & F-Symm & \Longrightarrow & Rev & \Longrightarrow & Per & \Longrightarrow^{\ast}M\\
& & \Uparrow & & \Downarrow & \\
& & Red & & Ref &
\end{array}
\]

\end{document}

答案1

这是一种可能性tikz-cd;可能有更好的方法来放置星号。

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[arrows=Rightarrow]
& \text{Symm} \arrow[r] \arrow[ddr] & \text{S-Comm} \\
\text{Comm} \arrow[r] & \text{F-Symm} \arrow[u] \arrow[r,crossing over] &
  \text{Rev} \arrow[r] \arrow[d] \arrow[u] &
  \text{Per} \arrow[r,Rightarrow,"\;\;*" very near end] & \text{M} \\
& \text{Red} \arrow[u] & \text{Ref}
\end{tikzcd}

\end{document}

在此处输入图片描述

答案2

我确信有更简单的方法可以做到这一点,但这就是我的做法:制作\mBox函数

\documentclass{article}
\usepackage{tikz}
\usepackage{ifthen}

\newcommand{\mBox}[6]{
\draw #1 node {#3};
\ifthenelse{#4=1}{\draw #1+(#2,-0.05) node {$\Longrightarrow$};}{}
\ifthenelse{#5=1}{\draw #1+(0,0.8) node {\rotatebox{90}{$\Longrightarrow$}};}{}
\ifthenelse{#6=1}{\draw #1+(-0.05,-0.8) node {\rotatebox{-90}{$\Longrightarrow$}};}{}
}

\begin{document}

\begin{center}
\begin{tikzpicture}
\mBox{(0,0)}{1}{Comm}{1}{0}{0}
\mBox{(2.2,-0.05)}{1}{F-Symm}{1}{1}{1}
\mBox{(2.2,1.5)}{1}{Symm}{1}{0}{0}
\end{tikzpicture}
\end{center}

\end{document}

相关内容