Hasse 图中花括号

Hasse 图中花括号

我需要在 LaTeX 中创建哈斯图(即格子图)。目前,我在 tikz-cd 中有以下代码。

\documentclass{standalone}

\usepackage{amsmath,tikz, tikz-cd}

\begin{document}
\begin{tikzpicture}[baseline= (a).base]
\node[scale=.85] (a) at (0,0){
\begin{tikzcd}[every arrow/.append style={dash}]
& & K_1 
\arrow[ddll]
\arrow[d]\\
& & k_1
    \arrow[ddll,sloped,pos=0.7,"\text{degree $p$}"]\\
K_0 \arrow[d,swap,"\text{degree 2} \, \,"] & & \\
k_0 & &
\end{tikzcd}
};
\end{tikzpicture}
\end{document}

哈斯图

我想在图表的侧面添加带标签的垂直括号,最好是花括号。例如,我想在图表的左侧添加一个垂直括号,标记为“H”,从底部的 K_0 到顶部的 K_1。(注意:这是不是整个图表——括号应延伸到 K_0,而不是一直延伸到图表底部的 k_0。)

添加这些括号的最简单方法是什么?我可以在 tikz-cd 中做到这一点吗?如果不行,最简单的替代方法是什么?

答案1

我不知道如何使用 tikz 添加仅包含图形高度一部分的括号,但使用以下命令可以轻松获得它pstricks

\documentclass[border=3mm]{standalone}

\usepackage{amsmath, pstricks-add}
\usepackage{auto-pst-pdf}

\begin{document}
\psset{linejoin=1}
\everypsbox{\footnotesize}
$ \begin{psmatrix}[rowsep=1.3cm, colsep=2.5cm]
    \pnode[-4pt, 1.5ex]{K1}\phantom{K₁} & K₁ \\
    & k₁ \\
    \pnode[-4pt, -0.5ex]{K0}K₀ \\
    k₀
    \psset{nodesep=4pt, labelsep=2pt}
    \ncline{3,1}{1,2}\ncline{4,1}{2,2}\nbput[nrot=:U]{\text{degree $ p $}}
    \ncline{1,2}{2,2}\ncline{4,1}{3,1}\naput[nrot=:U]{\text{degree $ 2 $}}
    \psset{braceWidthInner=3pt,braceWidthOuter=3pt, braceWidth =0.8pt, nodesepB=-4pt, nodesepA=-1pt}
    \psbrace(K1)(K0){H}
  \end{psmatrix} $

\end{document}

在此处输入图片描述

答案2

一个简单的cases环境就可以了:

\documentclass[border=3mm]{standalone}

\usepackage{amsmath, tikz, tikz-cd}

\begin{document}

$ H \begin{cases}
    \begin{tikzpicture}[baseline= (a).base]
      \node[scale=.85] (a) at (0,0){
        \begin{tikzcd}[every arrow/.append style={dash}]
          & & K_1
          \arrow[ddll]
          \arrow[d]\\
          & & k_1
          \arrow[ddll,sloped,pos=0.7,"\text{degree $p$}"]\\
          K_0 \arrow[d,swap,"\text{degree 2} \, \,"] & & \\
          k_0 & &
        \end{tikzcd}
      };
    \end{tikzpicture}
  \end{cases} $

\end{document}

在此处输入图片描述

答案3

拥有\left\lbrace\right.

\documentclass[border=3mm]{standalone}

\usepackage{amsmath,tikz, tikz-cd}

\begin{document}
$H \left\lbrace 
    \begin{tikzpicture}[baseline= (a).base]
    \node[scale=.85] (a) at (0,0){
        \begin{tikzcd}[every arrow/.append style={dash}]
        & & K_1 
        \arrow[ddll]
        \arrow[d]\\
        & & k_1
        \arrow[ddll,sloped,pos=0.7,"\text{degree $p$}"]\\
        K_0 \arrow[d,swap,"\text{degree 2} \, \,"] & & \\
        k_0 & &
        \end{tikzcd}
    };
    \end{tikzpicture}
\right.$    
\end{document}

答案4

tikz-cd 的解决方案decorations.pathreplacing

\documentclass{standalone}

\usepackage{amsmath,tikz}
\usetikzlibrary{cd,decorations.pathreplacing}

\begin{document}
\begin{tikzcd}[every arrow/.append style={dash}]
    \vphantom{K_1} \arrow[dd, start anchor=north, end anchor=south, no head, xshift=-1em, decorate, decoration={brace,mirror}, "H" left=3pt] & & K_1 \arrow[ddll] \arrow[d]\\
    & & k_1 \arrow[ddll,sloped,pos=0.7,"\text{degree $p$}"]\\
    K_0 
        \arrow[d,swap,"\text{degree 2} \, \,"] & & \\
    k_0 & &
\end{tikzcd}
\end{document}

在此处输入图片描述

注意\vphantom{K_1}确保锚北处于正确的位置。

以下其他问题的答案很有帮助

以及以下网页链接

相关内容