TikZ in LaTeX (1) 起步



  • 0 简介

    TikZLaTeX 绘图框架 PGF(“画手”)的“设计师”。PGF 提供了绘图引擎、数学引擎、对象设计引擎(key机制)等,但是语法较为繁杂。TikZ 是德语 TikZ ist kein Zeichenprogramm 的首字母缩写,意思是 TikZ不是一个绘图程序,但是实际上 TikZ 可以绘制绝大多数图形(文档有 1318 页,是我看过最长的文档)。比较有特色的就是流程图、电路图(更全面的可以使用基于 TikZ 开发的 Circuitikz 库)、几何证明用图、函数图像(含三维)、脑图等等。

    tikzdemo1.png

    tikzdemo2.png

    看起来精美,学起来也并不复杂,掌握了基本的语法之后每个人都可以在 LaTeX 中画出自己想要的图像。此贴中为模板的汇总,不同的功能将在各个帖子中记录。

    在未特别说明的情况下,LaTeX 使用 XeLaTeX 引擎渲染,TikZ 版本为 3.1.5。部分功能需要安装 gnuplot 软件。

    1 Snippet

    这里是模板汇总

    0) 起步

    导入

    \usepackage{tikz}
    \usepackage{pgf} % optional
    \usetikzlibrary{calc, graphs, shapes, ...} % require libraries
    

    环境

    \begin{tikzpicture}[<options>]
     % 绘图内容
    \end{tikzpicture}
    

    当然也可以作为浮动元素

    \begin{figure}[htb!]
        \begin{tikzpicture}[scale=1]
         % 绘图内容
        \end{tikzpicture}
        \caption{<caption>}
        \label{<label>}
    \end{figure}
    

    1) 点

    \coordinate (<id>) at (<x>, <y>); % name a point 
    \node (<id>) at (<x>, <y>) [<options>] {<text>}; % place a node with text
    

    Example

    \begin{tikzpicture}[]
        \node (N) [font=\tiny] at (0,0) {$0$};
        \node [red] at ([xshift=0.5cm] N) {$\frac{1}{2}$};
        \node [blue] at (3, 0) {Oh you can really dance!};
    \end{tikzpicture}
    

    tikzsnippet1.png

    2) Draw / Path

    1 Basic

    \path ... <coordinate> ...; % Move To
    \path ... -- <coordinate or cycle> ...; % StraightLines
    \path ... -| <coordinate or cycle> ...; % Horizontal and Vertical Lines, or |-
    \path ... foreach <variables>[<options>] in {<path commands>} ...; % Foreach
    

    \draw 可以看作 \path[draw] 语句。此外还有弧、贝塞尔曲线、矩形、圆角折线、圆(椭圆)、正余弦、网格等。

    Example

    \begin{tikzpicture}[]
        \draw[help lines] (-2, -2) grid (2, 2); % Grids
        \draw[thick] (-2, -2) -- (-1.5, -1.5) -| (-1, 0) to (0, -1); % Lines
        \path[draw, purple] (0, -1) .. controls (0.1, 0) and (0.7, -0.5) .. (1.5, 1.5); % Bezier curve
    \end{tikzpicture}
    

    tikzsnippet2.png

    2 Line Width Options

    设置线宽。

    /tikz/line width = <dimension> % initally 0.4pt, no default
    

    Display

    \begin{tikzpicture}[]
        \foreach \y/\s/\w in {
            0/ultra thin/0.1pt, .2/very thin/0.2pt,
            .4/thin/0.4pt, .6/semithick/0.6pt,
            .8/thick/0.8pt, 1/very thick/1.2pt,
            1.2/ultra thick/1.6pt
        }
        {
            \draw[\s] (0, \y) -- ++(1, 0) node[right, font=\tiny] {\s};
            \node[font=\tiny] at (2.7, \y) {\textsf{\w}};
        };
    \end{tikzpicture}
    

    tikzsnippet3.png


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

Looks like your connection to Dian was lost, please wait while we try to reconnect.