TikZ 3.1 版是可在 CTAN 上获取自 2019 年 1 月 5 日起。
Christian Feuersaenger 发布最新版本在 sourceforge 上在同一天。
3.0.1a 版本的手册由 1161 页增加至 1282 页。
此版本有哪些新功能?
答案1
我将这个答案做成 Wiki,以便让那些了解 3.1 版新功能的人可以公开它们。
一种新
pic
类型right angle
被添加。(第 561 页)
图片类型
right angle=<A>--<B>--<C>
。此图将向当前路径添加一个直角图形。其工作原理与角度图相同。
\tikz
\draw (1,0,0) coordinate (A) -- (0,0,0) coordinate (B) -- (0,0,1) coordinate (C)
(B) -- (0,1,0) coordinate (D)
pic [fill=gray,angle radius=4mm] {right angle = A--B--C}
pic [draw,red,thick,angle eccentricity=.5,pic text=$\cdot$]
{right angle = A--B--D};
不幸的是“数据可视化后端”
在 3.0.1a 版本中没有记录,现在仍然没有记录。(第 944 页)
图书馆
3d
现在已经记录下来(第 557 页)。
在
grid
如果xstep
或ystep
为 0 或负数,则不会绘制相应的线条(文档第 157 页)。
\begin{tikzpicture}
\draw (0,0) grid [xstep=.5,ystep=.75] (3,2);
\draw[thick,red] (0,0) grid [ystep=0] (3,2);
\end{tikzpicture}
SVG 动画;
编译latex
并dvisvgm --font-format=woff --exact --zoom=-1
\documentclass[dvisvgm]{standalone}
\usepackage{tikz}
\usetikzlibrary{animations}
\begin{document}
\tikz
\node :fill opacity = { 0s="1", 2s="0", begin on=click }
:rotate = { 0s="0", 2s="90", begin on=click }
[fill = blue!20, draw = blue, ultra thick, circle]
{Click me!};
\end{document}
静态 SVG 和动画 SVG没有用户交互(例如点击激活)通过标签嵌入到 HTML 中<img>
,例如:
<img src="https://url/of/some.svg" width="200"/>
此<img>
标签也适用于此网站 (TeX.SX)。遗憾的是,Imgur 不允许上传 SVG 文件,但可以使用第三方网站的文件 URL。
动画 SVG和用户交互和脚本 SVG(如使用 pkg 生成的animate
)必须使用以下标记嵌入到 HTML 中<object>
:
<object type="image/svg+xml" data="https://url/of/some.svg" width="200">
<!-- optional (increases loading time): fallback & search engine indexing -->
<img src="https://url/of/some.svg" />
</object>
不幸的是,博客网站和 StackExchange 不接受该<object>
标签,主要是出于安全原因。作为一种解决方法,<img>
可以使用标签作为链接的文本,在点击时将浏览器重定向到 SVG 的文件 URL。这是针对上述示例所做的。在Markdown句法:
[<img src="https://url/of/some.svg" width="200"/>](https://url/of/some.svg)
透视绘图的一些基本工具
库中添加了具有一个、两个或三个消失点的图层perspective
。文档位于手册第 726 页(第 63 节)。
手册中的一个示例如下:
\documentclass[tikz,margin=2mm]{standalone}
\usetikzlibrary{perspective}
\begin{document}
\begin{tikzpicture}[
isometric view,
perspective={
p = {(12,0,0)},
q = {(0,12,0)},
r = {(0,0,-12)}}]
\fill[gray!80!white] (tpp cs:x=0,y=0,z=3)
-- (tpp cs:x=0,y=3,z=3)
-- (tpp cs:x=3,y=3,z=3)
-- (tpp cs:x=3,y=0,z=3) -- cycle;
\fill[gray] (tpp cs:x=0,y=0,z=0)
-- (tpp cs:x=0,y=0,z=3)
-- (tpp cs:x=0,y=3,z=3)
-- (tpp cs:x=0,y=3,z=0) -- cycle;
\fill[gray!50!white] (tpp cs:x=0,y=0,z=0)
-- (tpp cs:x=0,y=0,z=3)
-- (tpp cs:x=3,y=0,z=3)
-- (tpp cs:x=3,y=0,z=0) -- cycle;
\end{tikzpicture}
\end{document}
结果是:
大量标准 Ti钾z 键尚不受支持,例如shift
,,,,,,xshift
库中的所有键,并且肯定还会有更多yshift
。rotate around x
rotate around y
rotate around z
canvas is ... plane
3d
答案2
答案3
模式
- 在 3.1.4 中,
patterns.meta
记录了一个新库。它提供了定义新模式的机制。记录了宏\pgfdeclarepattern
和\tikzdeclarepattern
及其选项,并附有使用示例。 - 在 3.1.5 中,库中添加了四种新的通用且可配置的模式
patterns.meta
。它们是Lines
、Hatch
(网格)、Dots
和Stars
,可以用来替代patterns
库提供的模式。
pgfmanual.pdf
在最近的版本中
从发行说明的pgf
:
每个功能的具体页码和章节编号在pgfmanual
不同版本间有所变化,因此使用一般描述。
- 要阅读特定库或选项的文档,用户可以
patterns.meta
在部分中搜索关键词(如)参考文献和索引,然后pgfmanual
单击相应的索引条目跳转到其文档。 - 对于像这样的常见(选项)名称
scale
,用户需要区分多个索引条目。
示例图像背后的绘制代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns, patterns.meta}
\begin{document}
\foreach \i in {Lines, Hatch, Dots, Stars} {
\tikz \path[pattern={\i}] (0, 0) rectangle node[above=1cm] {\i} (2, 2);
}
\begin{tikzpicture}
\draw[pattern={Lines[angle=45]}]
(0, 0) rectangle node[above=1cm] {Lines} +(2, 2);
\draw[pattern={Hatch[distance=5pt]}, pattern color=orange]
(2.2, 0) rectangle node[above=1cm] {Hatch} +(2, 2);
\draw[pattern={Dots[radius=.5pt, angle=60]}]
(4.4, 0) rectangle node[above=1cm] {Dots} +(2, 2);
\draw[pattern={Stars[points=5, distance=.5cm, xshift=-.15cm, angle=36]}, pattern color=blue]
(6.6, 0) rectangle node[above=1cm] {Stars} +(2, 2);
\end{tikzpicture}
\end{document}