当前位置:   article > 正文

latex 插图_TikZ: LaTeX绘图包

latex standalone 包

c8286f0779d77d46d62ef4360f577be5.png

TikZ是一款

风格的绘图包, 本文对其做一个简要介绍。

原文链接:TikZ: LaTeX绘图包

依赖与安装

  • 编译器, 例如: MiKTeX | TeXlive

有了编译器后, 通过相应包管理器安装即可。
以MiKTeX为例, 在MiKTeX Console中点击Packages, 搜索tikzpgf安装相关包[1]

2d673d8d9bad267aade1d1df45143f24.png

检查是否准备就绪

新建一个.tex文件, 填入以下内容, 用PdfLaTeX或者LaTeX编译, 通过即说明准备就绪。

  1. documentclass{article}
  2. usepackage{tikz}
  3. begin{document}
  4. Document itself
  5. end{document}

适合图形尺寸: standalone

一般通过TikZ画示意图, 用于blog中, 那么可以借由standalone类实现(而不是article)。此时, 需要先安装standalone包, 方式同样是通过包管理器搜索安装。而后, 只需指定文档类型为standalone即可: documentclass{standalone}, 如此生成的文档尺寸将贴合图形大小[2]

TikZ基础语法与元素

基本语法

TikZ语言包装于begin{tikzpicture}end{tikzpicture}环境下[3], 导言区需要添加tikz包, 如上。

每行一句, 务必以分号;结尾。

以下给出示例代码及效果: [在Overleaf中打开]

e33cf0583bbf6bd1fbe6754eea430281.png

常用元素

几何中常见的元素包括: 点、线、圆、面。在TikZ下分别通过以下关键词定义:

0f8e80be7c67d1ff9641f2ecf74475aa.png

更多详细的用法说明与文档可以参阅[3]以及manual[4]

常见需求

在此罗列若干常见需求, 以备将来查用。

描点

以上介绍的coordinate方法只是创建了点, 但实际上并不会显示(因为点并没有大小), 而实际中可能需要将相应的点标注出来, 即描点。通过以下方式即可:

node at (O)[circle,fill,inner sep=1pt]{};

即在

点创建一个
node对象, 其风格为填充( fill)圆( circle), 宽度为1pt, 看起来也就是一个可见的点。 {}中为 node对象的标识, 此处不需要故留白。

指定标签位置

在创建元素时, 可以为其添加标签, 并控制标签出现在元素的相对位置, 如下:

cb433f7b62d627394475dcda892e85e9.png

以上左侧代码分别演示将标签放置于元素的上方|下方|左上方, 右侧给出了可设置的八种方位。

为线添加标签

除了为点标注标签外, 为线添加标签也是常见需求, 实现如下[5]: [在Overleaf中打开]

6eee50f1a859e0421023fc304615d8d6.png

以上代码创建效果如右图。前半部分为画线, 然后创建node元素以承载对线条

的标签, 通过
above| midway控制标签相对于线条
的位置, 即置于线条上方|中间。此外,
(line)为该对象设置索引, 方便其他语句引用该对象。(若无需再指向该对象则可以省略)

设定数值包含根式的元素

某些情况下可能需要以根式值作为线段或圆半径设定对象, 而实际上TikZ支持在语句中使用sqrt函数, 以下为用例: [在Overleaf中打开]

0576a5e5162e9c0da222f9c16b4306e1.png

其中, 我们定义了

以及
两个包含根式的长度, 分别时
点以及
外接圆圆心的横坐标。

注意: 务必将sqrt运算符用{}花括号括起来[6], 以告诉TikZ需要运算。

转为SVG格式

默认情况下, 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]可用于创建直角符号(

): [在Overleaf中打开]

4c306748a8b7eefae76e9eb3f25d118e.png

通过tkzMarkRightAngle命令标注了直角, 其中[]内为属性设定, 而(C, A, B)是围成直角的三个点。

注意: 需要注意的是, tkzMarkRightAngle并不是TikZ原生的命令, 而是扩展包中的命令[8], 使用它之前需要在导言区加入:

  1. usepackage{tkz-euclide}
  2. usetkzobj{all}

[7]中还给出了无需扩展包支持的方法, 在此略过。

参考

  1. ^LaTeX Error: File 'tikz.sty' not found https://tex.stackexchange.com/a/473043
  2. ^How to install LaTeX package called “standalone” properly so I can get update with Synaptic package manager? https://askubuntu.com/a/100931
  3. ^abGraphics in LaTeX using TikZ https://leimao.github.io/downloads/tools/Latex-Guidance/tikz_beginner_tutorial.pdf
  4. ^TikZ & PGF manual https://pgf-tikz.github.io/pgf/pgfmanual.pdf
  5. ^How to draw a line of dots in tikz? https://tex.stackexchange.com/a/76295
  6. ^Translate and rotate an object in TikZ (2D) https://tex.stackexchange.com/q/49169
  7. ^abInsertion of perpendicular symbol at intersection of two perpendicular lines https://tex.stackexchange.com/a/21766
  8. ^LaTeX complains that tkzDrawArc is not defined https://tex.stackexchange.com/a/165879
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/238161
推荐阅读
相关标签
  

闽ICP备14008679号