赞
踩
TikZ是一款
原文链接:TikZ: LaTeX绘图包
有了编译器后, 通过相应包管理器安装即可。
以MiKTeX为例, 在MiKTeX Console
中点击Packages
, 搜索tikz
与pgf
安装相关包[1]。
新建一个.tex
文件, 填入以下内容, 用PdfLaTeX
或者LaTeX
编译, 通过即说明准备就绪。
- documentclass{article}
- usepackage{tikz}
- begin{document}
- Document itself
- end{document}
standalone
一般通过TikZ画示意图, 用于blog中, 那么可以借由standalone
类实现(而不是article
)。此时, 需要先安装standalone
包, 方式同样是通过包管理器搜索安装。而后, 只需指定文档类型为standalone
即可: documentclass{standalone}
, 如此生成的文档尺寸将贴合图形大小[2]。
TikZ语言包装于begin{tikzpicture}
与end{tikzpicture}
环境下[3], 导言区需要添加tikz
包, 如上。
每行一句, 务必以分号;
结尾。
以下给出示例代码及效果: [在Overleaf中打开]
几何中常见的元素包括: 点、线、圆、面。在TikZ下分别通过以下关键词定义:
更多详细的用法说明与文档可以参阅[3]以及manual[4]。
在此罗列若干常见需求, 以备将来查用。
以上介绍的coordinate
方法只是创建了点, 但实际上并不会显示(因为点并没有大小), 而实际中可能需要将相应的点标注出来, 即描点。通过以下方式即可:
node at (O)[circle,fill,inner sep=1pt]{};
即在
node
对象, 其风格为填充(
fill
)圆(
circle
), 宽度为1pt, 看起来也就是一个可见的点。
{}
中为
node
对象的标识, 此处不需要故留白。
在创建元素时, 可以为其添加标签, 并控制标签出现在元素的相对位置, 如下:
以上左侧代码分别演示将标签放置于元素的上方|下方|左上方, 右侧给出了可设置的八种方位。
除了为点标注标签外, 为线添加标签也是常见需求, 实现如下[5]: [在Overleaf中打开]
以上代码创建效果如右图。前半部分为画线, 然后创建node
元素以承载对线条
above
|
midway
控制标签相对于线条
(line)
为该对象设置索引, 方便其他语句引用该对象。(若无需再指向该对象则可以省略)
某些情况下可能需要以根式值作为线段或圆半径设定对象, 而实际上TikZ支持在语句中使用sqrt
函数, 以下为用例: [在Overleaf中打开]
其中, 我们定义了
注意: 务必将sqrt
运算符用{}
花括号括起来[6], 以告诉TikZ需要运算。
默认情况下, TikZ通过LaTeX编译器生成的是pdf文件, 而在blog中插图时一般需要SVG格式的图片, 那么还需要一步转换过程。在Linux系统下, 可以通过pdf2svg
这个工具直接转化:
pdf2svg fig.pdf fig.svg
该工具通过apt
即可安装。而Windows下可以利用在线工具或者Adobe Acrobat。另外, 也可以在WSL(Windows Subsystem for Linux)下安装pdf2svg
(目前采用的方法)。结合最开始提到的standalone
模板, 就可以通过TikZ, 利用命令精确控制创建精美的blog矢量式插图了。
以下公式[7]可用于创建直角符号(
通过tkzMarkRightAngle
命令标注了直角, 其中[]
内为属性设定, 而(C, A, B)
是围成直角的三个点。
注意: 需要注意的是, tkzMarkRightAngle
并不是TikZ原生的命令, 而是扩展包中的命令[8], 使用它之前需要在导言区加入:
- usepackage{tkz-euclide}
- usetkzobj{all}
[7]中还给出了无需扩展包支持的方法, 在此略过。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。