如何在一个文档中多次在 tikz-cd 图表中的节点周围放置省略号

如何在一个文档中多次在 tikz-cd 图表中的节点周围放置省略号

使用的想法https://tex.stackexchange.com/a/394924/305075我用来execute at end picture在图表中绘制椭圆tikz-cd。椭圆所适合的节点名称的形式为tikz@f@1-1-1

第二次应用这个想法的结果表明,两个图之间似乎存在某种干扰。好像第二个图中使用了第一个图中节点的位置。

我尝试将名称重命名为类似的名称tikz@g@1-1-1(请参阅g而不是f),但没有成功。

我的主要问题,如标题:如何tikz-cd在一个文档中多次在图表中的节点周围放置省略号?

第二个问题:我们可以将 重命名tikz@f@1-1-1tikz@g@1-1-1当然g只是一个例子吗?

最后,我喜欢画出几个带有态射和函子的类别图。属于同一类别的对象应通过在其周围放置一个椭圆来分组。每个类别一个椭圆。我给出的示例要简单得多,以便专注于问题。

我尝试这个:

\documentclass[a4paper]{amsart}

\usepackage{tikz}
\usepackage{tikz-cd}

\begin{document}
\usetikzlibrary{shapes.geometric,fit}
\tikzset{
    dashellipse/.style={ellipse,draw,dashed,inner sep=0pt,blue,fit={#1}}
}

\begin{equation}
    \begin{tikzcd}[
        name=jk,
        execute at end picture={
                \node[dashellipse=(tikz@f@1-1-1)(tikz@f@1-1-3)]{};
        }
        ]
        X && Y
    \end{tikzcd}
\end{equation}

\begin{equation}
    \begin{tikzcd}[
        name=mycustommatrix,
        execute at end picture={
            \node[dashellipse=(tikz@f@1-1-1)]{};
        }
        ]
        X
    \end{tikzcd}
\end{equation}

\end{document}

两张图,第二个椭圆放错了位置

答案1

像这样吗?

在此处输入图片描述

tikz图片,使用chainsfitshapes.geometricTiZ 库:

\documentclass[a4paper]{amsart}
\usepackage{tikz}
\usetikzlibrary{chains,
                fit,
                shapes.geometric}
\tikzset{
node distance = 0mm and 9mm,
  start chain = going right,
     N/.style = {inner sep=1pt, on chain},
    de/.style = {ellipse, draw=blue, densely dashed, inner xsep=-3pt,
                 fit={#1}, node contents={}},
every picture/.append style = baseline=(current bounding box.base)
            }

\begin{document}

\begin{equation}
    \begin{tikzpicture}
\node (n1) [N] {A};  \node (n2) [N]  {B};
\node[de=(n1) (n2)];
    \end{tikzpicture}
\end{equation}

\begin{equation}
    \begin{tikzpicture}
    \foreach \i [count=\j] in {C, , D}
\node (n\j) [N] {\i};  
\node[de=(n1) (n3)];
    \end{tikzpicture}
\end{equation}

\begin{equation}
    \begin{tikzpicture}
    \foreach \i [count=\j] in {C, D, E, F, G}
\node (n\j) [N] {\i};
\node[de=(n1) (n3)];
\node[de=(n4) (n5)];
    \end{tikzpicture}
\end{equation}

\begin{equation}
    \begin{tikzpicture}
\node (n1) {X};
\node[de=(n1)];
    \end{tikzpicture}
\end{equation}

\end{document}

相关内容