TikZ 和 TikZ-cd 中交换图中漂亮的非箭头符号

TikZ 和 TikZ-cd 中交换图中漂亮的非箭头符号

我希望找到某种方法能够在交换图中写出漂亮的非箭头符号(同构\cong\simeq\neq\subset等等)。

对于这个目的,我认为TikZ package这是最好的解决方案。在这个博客中有一些解决方案,例如\simeq符号:TikZ 中交换图中的同构 但是结果相当丑陋。由于 LaTeX 可以达到很好的效果,我相信一定有办法定义这些符号。

为了完整性,我mwe使用 编写了一个带有通用图表TikZ

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{mathtools}
\usepackage{stmaryrd}
\usepackage{tikz-cd}% diagramas
\usetikzlibrary{babel}
\begin{document}

\[
\begin{tikzpicture}
\matrix(m)[matrix of math nodes,
row sep=4em, column sep=4em,
text height=1.5ex, text depth=0.25ex]
{
A   &   B \\
C   &   D \\};
\path[->]
(m-1-1) edge node[auto] {$a$} (m-1-2);
\path[->]
(m-1-1) edge node[left] {$c$} (m-2-1);
\path[->]
(m-1-2) edge node[right] {$b$} (m-2-2);
\path[->]
(m-2-1) edge node[auto] {$d$} (m-2-2);
\end{tikzpicture}
\]

\end{document}

谢谢。

答案1

我不确定这是否是您想要的。您可以使用phantom中的箭头选项tikzcd,然后如果您包含标签,它将出现在箭头位置。选项sloped将使符号遵循“箭头”的方向。

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{tikz-cd}

\begin{document}
\[
\begin{tikzcd}
A\arrow[r, phantom,"\ne"]\arrow[d, phantom, sloped, "\subseteq"]  &   B\arrow[d, phantom, sloped, "\simeq"] \\
C\arrow[r, phantom,"\cong"]   &   D 
\end{tikzcd}
\]
\end{document}

答案2

那么像这样的事情怎么办?

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage{mathtools}
\usepackage{stmaryrd}
\usepackage{tikz-cd}% diagramas
\usetikzlibrary{babel}

\begin{document}

\begin{tikzcd}[
row sep=4em, column sep=4em]
A \ar[r, "a"{yshift=5pt}, equal, "/" marking]\ar[d, swap, "\subset" description, "c"{xshift=-3pt},]  &   B \ar[d,"\simeq" description, "b"{xshift=3pt}]\\
C \ar[r, "\cong" description, "d"{yshift=-2pt}, swap]  &   D;
\end{tikzcd}

\end{document}

在此处输入图片描述

答案3

另一个带有xy包的解决方案。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all,cmtip]{xy}
 
\begin{document}
\xymatrix@R=4pc@C=4pc{ A \ar@{=}|{/}[r]^a \ar[d]_{c}|{\subset} & B 
\ar[d]^b|{\cong} \\
 C \ar[r]_d|{\cong} & D;}
\end{document}

在此处输入图片描述

相关内容