Tikzit 库混淆

Tikzit 库混淆

我正在使用 TikZiT 绘制带有节点和边的图形。如果可能的话,如何将该图片转换为我的 LaTeX 文档的 pdf 版本。TikZiT 中的图片下方有一个代码,我将其复制粘贴到 LaTeX 文档中,但它没有以 pdf 格式显示图片,我不知道我这里到底缺少什么。我只有\usepackage{tikz}LaTeX 文档的序言。

我复制粘贴到 LaTeX 的 TikZiT 代码示例:

\begin{tikzpicture}
    \begin{pgfonlayer}{nodelayer}
        \node [style=new style 0] (0) at (-10, 2) {};
        \node [style=new style 0] (1) at (-10, 0) {};
    \end{pgfonlayer}
    \begin{pgfonlayer}{edgelayer}
        \draw [bend left=90, looseness=2.75] (0) to (1);
        \draw [bend right=90, looseness=2.75] (0) to (1);
    \end{pgfonlayer}
\end{tikzpicture}

答案1

您可以使用 pdflatex 编译此序言而无需更改。(序言取自https://github.com/tikzit/tikzit/blob/master/tex/sample/tikzit.sty并使用 MiKTeX 进行测试)

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{arrows}
\usetikzlibrary{shapes,shapes.geometric,shapes.misc}

\pgfdeclarelayer{edgelayer}
\pgfdeclarelayer{nodelayer}
\pgfsetlayers{background,edgelayer,nodelayer,main}
\tikzstyle{none}=[inner sep=0mm]
%\tikzstyle{new style 0}=[inner sep=0mm]
\tikzset{new style 0/.style={circle,draw}}

\begin{document}
\begin{tikzpicture}
    \begin{pgfonlayer}{nodelayer}
        \node [style=new style 0] (0) at (-10, 2) {};
        \node [style=new style 0] (1) at (-10, 0) {};
    \end{pgfonlayer}
    \begin{pgfonlayer}{edgelayer}
        \draw [bend left=90, looseness=2.75] (0) to (1);
        \draw [bend right=90, looseness=2.75] (0) to (1);
    \end{pgfonlayer}
\end{tikzpicture}
\end{document}

答案2

您提供的代码非常容易理解,它应该生成的图片也非常简单。但它使用了图层(这里至少有两层),您可以像下面这样去掉它们。还定义了一种样式(您的代码中没有提供)。我们假设节点是圆形的,您可以先告诉我们您的意图。

尝试 1

\documentclass[tikz,border=3.14mm]{standalone}


\tikzset{new style 0/.style={circle,draw}}

\begin{document}

    \begin{tikzpicture}
            \node [style=new style 0] (0) at (-10, 2) {};
            \node [style=new style 0] (1) at (-10, 0) {};
    
    
            \draw [bend left=90, looseness=2.75] (0) to (1);
            \draw [bend right=90, looseness=2.75] (0) to (1);
    
    \end{tikzpicture}

\end{document}

也许这可以作为您了解如何将这些内容实现到 LaTeX 编译器中的起点。

答案3

首先,不完全清楚你的问题是什么(我没弄清楚你为什么使用\begin{pgfonlayer}{edgelayer}\begin{pgfonlayer}{nodelayer};它可能是tikzit我不熟悉的具体问题)。

如果您喜欢使用纯tikz图片代码,那么您也可以尝试以下解决方案,其中节点位置由positioningTi的帮助确定Z 库:

\documentclass[border=3.141592]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}

\tikzset{new style 0/.style={circle,draw}}

\begin{document}

    \begin{tikzpicture}[
node distance = 20mm and 0mm,
   arr/.style = {bend left=90, looseness=2.75},
     C/.style = {circle, draw}  
                        ]
\node (n1) [C] {};
\node (n2) [C, below=of n1] {};
%
\draw (n1)  to [arr]    (n2)
      (n2)  to [arr]    (n1);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容