TikZ Diagrams Guide
SkillDev toolsCreate publication-quality scientific diagrams with TikZ in LaTeX
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the TikZ Diagrams Guide skill
What this skill tells your AI
The instructions your AI receives, as published by brycewang-stanford/auto-empirical-research-skills in skills/43-wentorai-research-plugins/skills/writing/latex/tikz-diagrams-guide/SKILL.md and read by ahel’s review.
A skill for creating publication-quality scientific diagrams directly in LaTeX using the TikZ package. Covers basic drawing commands, flowcharts, neural network architectures, data flow diagrams, and integration with PGFplots for camera-ready figures.
Getting Started with TikZ
Basic Setup
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, positioning, shapes.geometric, calc, fit}
\begin{document}
\begin{tikzpicture}
% Your drawing commands here
\end{tikzpicture}
\end{document}
Fundamental Drawing Commands
% Lines and shapes
\draw (0,0) -- (3,0) -- (3,2) -- cycle; % Triangle
\draw[thick, ->] (0,0) -- (4,0); % Arrow
\draw[dashed, blue] (0,0) circle (1.5); % Dashed circle
\filldraw[fill=gray!20, draw=black] (2,1) ellipse (1 and 0.5);
% Nodes (text labels with optional shapes)
\node[draw, rectangle, minimum width=2cm] (A) at (0,0) {Input};
\node[draw, circle] (B) at (3,0) {Process};
\draw[->] (A) -- (B);
% Relative positioning (requires positioning library)
\node[draw, rectangle] (C) [right=2cm of B] {Output};
\draw[->] (B) -- (C);
Common Scientific Diagrams
Flowcharts
\begin{tikzpicture}[
block/.style={rectangle, draw, fill=blue!10, text width=5em,
text centered, rounded corners, minimum height=3em},
decision/.style={diamond, draw, fill=green!10, text width=4em,
text centered, inner sep=0pt, aspect=2},
line/.style={draw, -Stealth}
]
\node[block] (data) {Collect Data};
\node[block, below=1cm of data] (clean) {Clean \& Preprocess};
\node[decision, below=1cm of clean] (valid) {Valid?};
\node[block, below=1cm of valid] (analyze) {Analyze};
\node[block, right=2cm of valid] (fix) {Fix Issues};
\path[line] (data) -- (clean);
\path[line] (clean) -- (valid);
\path[line] (valid) -- node[right] {Yes} (analyze);
\path[line] (valid) -- node[above] {No} (fix);
\path[line] (fix) |- (clean);
\end{tikzpicture}
Neural Network Architecture
\begin{tikzpicture}[
neuron/.style={circle, draw, minimum size=0.8cm, fill=orange!20},
layer/.style={rectangle, draw, dashed, inner sep=0.3cm}
]
% Input layer
\foreach \i in {1,2,3,4} {
\node[neuron] (I\i) at (0, -\i*1.2) {};
}
% Hidden layer
\foreach \j in {1,2,3} {
\node[neuron, fill=blue!20] (H\j) at (3, -\j*1.2 - 0.6) {};
}
% Output layer
\foreach \k in {1,2} {
\node[neuron, fill=green!20] (O\k) at (6, -\k*1.2 - 1.2) {};
}
% Connections
\foreach \i in {1,2,3,4} {
\foreach \j in {1,2,3} {
\draw[->] (I\i) -- (H\j);
}
}
\foreach \j in {1,2,3} {
\foreach \k in {1,2} {
\draw[->] (H\j) -- (O\k);
}
}
% Labels
\node[above=0.5cm of I1] {Input};
\node[above=0.5cm of H1] {Hidden};
\node[above=0.5cm of O1] {Output};
\end{tikzpicture}
Integration with PGFplots
Combining Diagrams and Plots
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{tikzpicture}
\begin{axis}[
xlabel={Epoch},
ylabel={Loss},
legend pos=north east,
grid=major,
width=8cm, height=6cm
]
\addplot[blue, thick, mark=none] table {
1 0.95
5 0.72
10 0.45
20 0.22
30 0.15
50 0.08
};
\addlegendentry{Training}
\addplot[red, thick, dashed, mark=none] table {
1 0.98
5 0.75
10 0.52
20 0.35
30 0.30
50 0.28
};
\addlegendentry{Validation}
\end{axis}
\end{tikzpicture}
Tips for Publication-Quality Figures
Style Guidelines
1. Font consistency:
- Use the same font family as your document body
- Minimum 8pt for axis labels and annotations
- Match font size to caption text
2. Color considerations:
- Use colorblind-friendly palettes (avoid red-green only)
- Ensure figures are readable in grayscale
- Use patterns or line styles as secondary differentiators
3. Size and resolution:
- TikZ produces vector output (PDF) -- always sharp
- Set figure width to match column width (single or double)
- Use consistent sizing across all figures in the paper
4. Labeling:
- Label all axes with units
- Use (a), (b), (c) for sub-figures
- Place legends inside the plot area when possible
Exporting Standalone TikZ Figures
% standalone.tex -- compile separately, include as PDF
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{arrows.meta, positioning}
\begin{document}
\begin{tikzpicture}
% ... your diagram ...
\end{tikzpicture}
\end{document}
% In your main document:
% \includegraphics{standalone.pdf}
Useful TikZ Libraries
| Library | Purpose |
|---|---|
positioning | Relative node placement (right=of, below=of) |
arrows.meta | Modern arrow tip styles |
shapes.geometric | Diamond, trapezium, ellipse nodes |
calc | Coordinate calculations |
fit | Fit a node around a set of other nodes |
decorations.pathreplacing | Braces, snakes, zigzag lines |
backgrounds | Draw behind other elements |
matrix | Grid-based node layouts |
Signals
- GitHub stars
- 4k
- Forks
- 531
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
tikz-diagrams-guide- Source
- github.com/brycewang-stanford/auto-empirical-research-skills
github.com/brycewang-stanford/auto-empirical-research-skills
Related picks
Skill · k-dense-ai
The pick for LaTeXlatex-drawing-guide
Skill · brycewang-stanford
The pick for LaTeXgolden-pdf-ch
Skill · yusufkaraaslan
The pick for PDFpdf-co-automation
Skill · composio-community
The pick for PDFteach
Skill · mattpocock
More in Dev toolsimplement
Skill · mattpocock
More in Dev tools