创建 TiKz 库

创建 TiKz 库

如何创建 TiKz 库(可能吗)?对于初学者来说,这是一项艰巨的任务吗?作为一名化学工程师,我非常希望有一个库来创建流程图,如下所示,您可以在其中放置具有特定形状的节点并根据特定端口连接它们。

在此处输入图片描述

更新:

我实际上发现有几个用于此目的的库:

答案1

我认为最简单的答案是“视情况而定”。这个答案的目的是告诉你如何简单的就是建立一个图书馆。

创建库本身并不难。这只是一个命名约定。

tikzlibrary<library name>.code.tex

我对化学工程或您希望使用的符号一无所知。因此,以下只是关于您可能考虑如何处理此问题的非常简单的介绍。

这是一个非常简单且相当无聊的库示例,我将其称为unitcircle。将其保存到名为 的文件中tikzlibraryunitcircle.code.tex,并将其放在文档的当前目录中或存储自定义代码的任何位置。

我从未创建过节点形状:如果你想创建新的形状,你可能需要查看创建节点形状。所以,我将把这部分留给你。但是,创建图片相对容易。这就是我在这里所做的。

\def\aeunitcircleradius{1cm}
\tikzset{
  quadrant I/.pic={%%
    \draw[line width=1pt] (-\aeunitcircleradius/2,\aeunitcircleradius/2)  arc (90:0:\aeunitcircleradius);
    \path (0,0)                  coordinate (-center)
                -- ++ (0.5,-0.5) coordinate (-se)
                -- ++ (0,1.0)    coordinate (-ne)
                -- ++ (-1,0)     coordinate (-nw)
                -- ++ (0,-1)     coordinate (-sw);
    },
  quadrant II/.pic={%%
    \draw[line width=1pt] (-\aeunitcircleradius/2,-\aeunitcircleradius/2)  arc (180:90:\aeunitcircleradius);
    \path (0,0)                  coordinate (-center)
                -- ++ (0.5,-0.5) coordinate (-se)
                -- ++ (0,1.0)    coordinate (-ne)
                -- ++ (-1,0)     coordinate (-nw)
                -- ++ (0,-1)     coordinate (-sw);
    },
  quadrant III/.pic={%%
    \draw[line width=1pt] (-\aeunitcircleradius/2,\aeunitcircleradius/2)  arc (180:270:\aeunitcircleradius);
    \path (0,0)                  coordinate (-center)
                -- ++ (0.5,-0.5) coordinate (-se)
                -- ++ (0,1.0)    coordinate (-ne)
                -- ++ (-1,0)     coordinate (-nw)
                -- ++ (0,-1)     coordinate (-sw);
    },
  quadrant IV/.pic={%%
    \draw[line width=1pt] (-\aeunitcircleradius/2,-\aeunitcircleradius/2)  arc (-90:0:\aeunitcircleradius);
    \path (0,0)                  coordinate (-center)
                -- ++ (0.5,-0.5) coordinate (-se)
                -- ++ (0,1.0)    coordinate (-ne)
                -- ++ (-1,0)     coordinate (-nw)
                -- ++ (0,-1)     coordinate (-sw);
    },
}

以下是standalone调用这个新的 TikZ 库的文档:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{unitcircle}
\begin{document}

\begin{tikzpicture}

  \path
              (0,0) pic (LL) {quadrant III}
        -- ++ (1,0) pic (LR) {quadrant IV}
        -- ++ (0,1) pic (UR) {quadrant I}
        -- cycle
        -- ++ (0,1) pic (UL) {quadrant II}
      ;
  \draw[blue] (LR-ne) -- (LR-sw);

  \draw[red] (LL-ne) rectangle (LL-sw);

  \draw (LL-center) -- (UR-center)
                    -- (UL-center)
                    -- (LR-center);
\end{tikzpicture}

\end{document}

结果如下:

在此处输入图片描述

您可能需要花一些时间检查系统上的某些 TikZ 库文件,例如 tikzlibraryarrows.code.tex。还有一些由其他人创建的库,例如hobbytikzmark。花点时间打开这些文件并查看其中的操作方式可能是值得的。

答案2

该程序迪亚可以将绘图导出为 tex 文件。我指出这一点是因为它已经有一个化学工程图书馆。我的回答并不能帮助用户学习如何编写形状库,但它可以帮助用户获得高质量的乳胶图像、化学工程文档/图纸……或者至少提供一些基本的 tex 代码来构建库。

相关内容