我想在“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}