寻找绘制给定图表的方法

寻找绘制给定图表的方法

这只是我在排版课程笔记时尝试实现的一个具有挑战性的图表。

图的上下文是幂集上的偏序关系,U 型符号是子集符号$\subset$

我想过尝试使用它来创建它tikz,但我只有绘制基本交换图的经验。

另外,还有一个稍微复杂一点的图表,显示链中的元素

谢谢!!

(1) 在此处输入图片描述

在此处输入图片描述

答案1

您可以使用tikz-cd子集图。使用phantom标有 的箭头\subset。要使子集符号跟随箭头,请使用选项sloped。请注意,对于指向左上方的箭头,您应该使用\supset,因为方向会翻转。

在此处输入图片描述

\documentclass{article}

\usepackage{amssymb} % to use \varnothing
\usepackage{tikz-cd}

\begin{document}

\[
\begin{tikzcd}
     & \{a,b,c\} \\
    \{a,b\}\arrow[ur, phantom, "\subset"{sloped}] & \{a,c\}\arrow[u, phantom, "\subset"{sloped}] & \{b,c\}\arrow[ul, phantom, "\supset"{sloped}] \\
    \{a\}\arrow[u, phantom, "\subset"{sloped}]\arrow[ur, phantom, "\subset"{sloped}, pos=.4] & \{b\}\arrow[ul, phantom, "\supset"{sloped}, pos=.4]\arrow[ur, phantom, "\subset"{sloped}, pos=.4] & \{c\}\arrow[ul, phantom, "\supset"{sloped}, pos=.4]\arrow[u, phantom, "\subset"{sloped}] \\
     & \varnothing\arrow[ul, phantom, "\supset"{sloped}]\arrow[u, phantom, "\subset"{sloped}]\arrow[ur, phantom, "\subset"{sloped}]
\end{tikzcd}
\]

\end{document}

为了避免子集符号重叠,您可以使用pos=.4或任何您认为合适的位置。

作为该解决方案的替代方法pos=.4,您可以使用xshift。这样做的好处是使符号在行中保持相同的高度,但会使它们与两组略微不一致:

在此处输入图片描述

这些代码是

\{a\}\arrow[u, phantom, "\subset"{sloped}]\arrow[ur, phantom, "\subset"{sloped}, xshift=5pt] & 
\{b\}\arrow[ul, phantom, "\supset"{sloped}, xshift=-5pt]\arrow[ur, phantom, "\subset"{sloped}, xshift=5pt] & 
\{c\}\arrow[ul, phantom, "\supset"{sloped},xshift=-5pt]\arrow[u, phantom, "\subset"{sloped}] \\
 & \varnothing\arrow[ul, phantom, "\supset"{sloped}]\arrow[u, phantom, "\subset"{sloped}]\arrow[ur, phantom, "\subset"{sloped}]

如果您希望符号像第一幅图那样反转,请将5ptshifts 替换为-3ptshifts 并-5pt用 替换3pt

相关内容