tikzcd 中的垂直子集符号

tikzcd 中的垂直子集符号

我正在写一个简单的交换图,第二行的一些对象是第一行对象的子集,因此,我希望使用集合包含符号(向左倾斜 90 度并有效替换箭头)而不是向上的箭头。使用 $\cong$ 符号似乎很容易实现,但我找不到带有子集或 supset 符号的示例。

答案1

从概念上来说非常类似Bernard 的精彩回答,但基于tikz-cd

\documentclass[12pt]{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[remember picture]
    A \arrow[r] & B\\
    C \arrow[r] & D\\
\end{tikzcd}
\begin{tikzpicture}[overlay,remember picture]
\path (\tikzcdmatrixname-1-1) to node[midway,sloped]{$\subset$}
(\tikzcdmatrixname-2-1);
\path (\tikzcdmatrixname-1-2) to node[midway,sloped]{$\subset$}
(\tikzcdmatrixname-2-2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

tikzcd这可以通过使用幻影箭头单独完成:

在此处输入图片描述

如果您希望行更紧凑[row sep=small],可以添加或设置row sep为您喜欢的任意长度。

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd} % [row sep=small]
A\arrow[r] & B\\
C\arrow[r]\arrow[u, phantom, sloped, "\subset"] & D\arrow[u, phantom, sloped, "\subset"]
\end{tikzcd}

\end{document}

答案3

只是为了好玩,一个简单的解决方案与psmatrix环境来自pstricks

 \documentclass[border=5pt, 11pt]{standalone}
\usepackage{mathtools}
\usepackage{graphicx}
\usepackage{pst-node, auto-pst-pdf}

\newpsobject{ncemptyline}{ncline}{linestyle=none}
\newcommand*\ncsubset[2]{\ncemptyline{#1}{#2}\ncput[nrot=:U]{\subset}}

\begin{document}

$  \psset{npos = 0.45}
\begin{psmatrix}[rowsep = 0.4, colsep =1cm]
[name = L] L & [name = L1] L'\\
[name = K] K & [name = K1] K'
\ncsubset{K}{L}\ncsubset{K1}{L1}
\psset{arrows=->, arrowinset=0.12, linewidth=0.5pt, nodesep=2pt}
\ncline{K}{K1}\ncline{L}{L1}
\end{psmatrix} $

\end{document} 

在此处输入图片描述

答案4

使用优秀的代码https://tex.stackexchange.com/a/216042/4427

\documentclass{article}
\usepackage{tikz-cd}

% https://tex.stackexchange.com/a/216042/4427
\tikzset{
  symbol/.style={
    draw=none,
    every to/.append style={
      edge node={node [sloped, allow upside down, auto=false]{$#1$}}}
  }
}


\begin{document}

\begin{tikzcd}[row sep=small]
A\arrow[r] & B\\
C\arrow[r]\arrow[u,symbol=\subset] & D\arrow[u,symbol=\subset]
\end{tikzcd}

\end{document}

在此处输入图片描述

相关内容