Tikz

Table of Contents

1 Code Structure

\usepackage{tikz}
\usetikzlibrary{shapes.multipart}

\tikzset{>=latex}
\tikzset{grid/.style={gray,very thin,opacity=1}}

\begin{figure*}[ht]
  \centering
  \begin{tikzpicture}[options]
  \end{tikzpicture}
  \caption{}
  \label{}
\end{figure*}

\tikz command; is the same as begin and end tikzpicture, and put command inside.

The most common errors for tikz are:

  • miss semicolon
  • miss curly braces
  • miss include tikz library

2 Simple

\draw[grid] (-2,0) grid (2,12);
\draw[grid,blue] (-10,0) grid (-3,12);

3 Style

Action

  • draw=green
  • fill=green!70!blue
  • opacity=1
  • scale=0.8

Shape

  • rectangle
  • rounded corners

String type:

  • dashed
  • dotted
  • thick

4 Coordinate

([shift={(2,-0.5)}] iflen.east)

5 Node

align=left
have to have this to make the "\\" able to create newline
text=color
apply on text
draw=color
apply on border
color
apply for everything

\path node is the same as \node.

To add the arrow tips, first add [->] option for the tikz environment.

\node (poi)[cfg,bench] at (0,0) {\texttt{strcpy(buf,s)}};
\draw (c9) -- (poi);
\draw[dotted] (c8) -- node[mystyle,auto]{The Text} (c9); % auto will place the label above the edge
\draw (c8) -- node[tf,auto,']{false} (poi); % swap(') will swap the auto label to the other half
\draw (callbar) .. controls ++(right:3) and +(left:3) .. (bar.west); % edge that curves

The text of a node can be anything, e.g. lstlisting environemnt.

5.1 Label

  • every label/.style
  • label position={north east}
\node (A)[opt,label={right:label text}] at (0,0) {text};

6 Matrix

\matrix {
  \node {}; & \node {}; \\
  \node {}; & \node {}; \\
};

7 Packages

7.1 shapes.multipart

\usetikzlibrary{shapes.multipart}

It adds to the node following options:

mynode/.style={split, rectangle split parts=2}

Author: Hebi Li

Created: 2017-06-14 Wed 22:42

Validate