在寻找创建时间线的不同软件包时,我遇到了以下软件包:
\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage{tikz}
\usetikzlibrary{snakes}
\begin{document}
\begin{tikzpicture}[snake=zigzag, line before snake = 5mm, line after snake = 5mm]
%draw horizontal line
\draw (0,0) -- (2,0);
\draw[snake] (2,0) -- (4,0);
\draw (4,0) -- (5,0);
\draw[snake] (5,0) -- (7,0);
%draw vertical lines
\foreach \x in {0,1,2,4,5,7}
\draw (\x cm,3pt) -- (\x cm,-3pt);
%draw nodes
\draw (0,0) node[below=3pt] {$ 0 $} node[above=3pt] {$ $};
\draw (1,0) node[below=3pt] {$ 1 $} node[above=3pt] {$ 10 $};
\draw (2,0) node[below=3pt] {$ 2 $} node[above=3pt] {$ 20 $};
\draw (3,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (4,0) node[below=3pt] {$ 5 $} node[above=3pt] {$ 50 $};
\draw (5,0) node[below=3pt] {$ 6 $} node[above=3pt] {$ 60 $};
\draw (6,0) node[below=3pt] {$ $} node[above=3pt] {$ $};
\draw (7,0) node[below=3pt] {$ n $} node[above=3pt] {$ 10n $};
\end{tikzpicture}
\end{document}
排版时,我们得到这样的结果:
但是尽管代码显示\usepackage{tikz}
,却没有这个名字的包。根据 CTAN 网站,有一个名为的宏包前列腺素那“带有一个名为 TikZ 的用户友好语法层。”
我已经检查过pgf 文档当然,但似乎没有与我上面发布的代码相关的部分。有很多选项(有些也很好),但没有一个像我正在寻找的。我错过了什么吗?我想知道除了该代码提供的功能之外我还能做什么(如果当然有。
另外:TikZPicture 是什么?这是我应该寻找的吗?我现在很困惑。
答案1
pgf
是一个巨大的 TeX 图形工具箱。tikz
是在此基础上构建的,具有更用户友好的语法。大多数人使用tikz
和 而不是; (和同时)pgf
的手册被称为,这可能会造成混淆。tikz
pgf
pgfmanual
tikzpicture
是由 定义的 LaTeX 环境tikz
。
您提到的代码使用了tikz
;我建议您阅读 的章节/部分 1(基本思想)、2(第一个教程,其中包含线条和节点等示例)、15.10(装饰)和 56(\foreach
)pgfmanual
。还请注意,在 的较新版本中,“蛇”已被“装饰”取代tikz
。
答案2
由于评论和答案中提到了 TikZ/PGF 关系,因此这里是缺少文档的另一个原因。如果您查看 PGF 包下的定义文件,您会看到以下几行
\PackageWarning{pgf}{Snakes have been superseded by decorations. Use
the decoration libraries instead of the snakes library}
\usepgflibrary{decorations.pathmorphing,decorations.pathreplacing,decorations.shapes}
因此, 的特定用法snakes
现已过时,并被上面给出的库取代。有关 TikZ 和 pgf 之间差异的具体示例,请查看我之前的回答在这里它显示了两种相同的高级和低级绘图方式。我希望你能理解 TikZ 的使用非常简单,因为它使用了非常流畅的英语命令风格。