Part IV of the PGF manual is all the libraries; the TOC gives their names, and each section starts with a short introduction.
–
Ryan ReichJan 28 '12 at 19:56

2

@RyanReich Why don't you add that as an answer? (If Marco still wants to collect libraries here, this question should probably be CW.)
–
doncherryJan 29 '12 at 9:10

3

What about third party libraries? It would actually be more useful to list those.
–
Faheem MithaJan 29 '12 at 12:43

1

@doncherry: I don't think it would be a very good answer, and however correct, he must have known that already. Also, as an answer it would not be the first, whereas it is now the top comment :)
–
Ryan ReichJan 29 '12 at 17:23

I totally do not understand the purpose of this list that just mimics the very good PGF documentation. Apparently, other members consider it as very useful, given the number of favorite links, which is a mystery to me. Am I overlooking something?
–
DanielMay 25 '12 at 19:07

Automata Drawing Library, accessed by \usetikzlibrary{automata}, and is used for drawing "finite state automata and Turing Machines". To draw these graphs, each node, its name and relative position is defined, as well as the types of path between each.

Background Library, accessed by \usetikzlibrary{backgrounds}, and "defines background for pictures". To use this in a Tikzpicture, an option is passed, e.g. \begin{tikzpicture}[show background rectangle], with a background rectangle style defined before the picture. (e.g. \tikzstyle{background rectangle}=[define background rectangle here]

Calendar Library, accessed through \usetikzlibrary{calendar}. This library is used to display calendars (I guess it's a Ronseal thing). You define a calendar as \calendar[display options and date options](Name (optional)).

Entity Relationship Diagram Library, accessed by \usetikzlibrary{er}, as in the automata drawing library, each node is defined, as is each edge between each node, as well as any attributes. As a note of warning, underlining should be used for attributes, but this is not used as it is both ugly and difficult to implement. Italics are used instead.

Intersection library, accessed through \usetikzlibrary{intersections}, to calculate intersections of paths. See details below.

Matrix Library, accessed through \usetikzlibrary{matrix}. Matrices are defined in the same way as in maths mode, however, each item in the matrix as assigned a value as a node, starting from 1. Each node can then be identified and manipulated. Delimiters can also be selected in the matrix options and can be "any delimiter that is acceptable to TeX’s \left command".

Pattern Library \usetikzlibrary{patterns}. This package "defines patterns for filling areas". In the documentation, each pattern is named and an example given.

Petri-Net Library. This is used to draw Petri Nets, as used for mathematical modelling. As with other similar flowchart style diagrams, each node and edge is defined, as well as their style and position. Tokens can also be embedded within nodes, by treating them as children and child nodes.

Plot handler Library, accessed through \usetikzlibrary{plothandlers}. TikZ loads this library automatically. Each point is defined (as a node) for the plot and the each point has a curve placed

Plot Mark Library, accessed through \usetikzlibrary{plotmarks} is used to define additional styles for plots as used above. Each point is defined as \pgfuseplotmark{Plot description}.

Shape library, used to define shapes other than rectangle, circle and co-ordinate. Accessed through either \usetikzlibrary{shapes} or \usetikzlibrary{shapes.shape type}. The following additional types are available: geometric shapes, either named shapes (star, diamond, etc.) or polygons of specified side numbers; symbol shapes, e.g. "forbidden sign" as used in No Smoking signs; "multipart" shapes, with "multiple (text) parts"; and finally, "misc" shapes which "do not fit in the previous categories", such as strikethrough crosses. See details below.

Snake library, as accessed through \usetikzlibrary{snakes} and can be best described as curved lines, and are used either between nodes or as a border to a shape , or as independent shapes.

To Path library, accessed through \usetikzlibrary{topaths}. This library is used to define paths between two points, and is loaded automatically. Additionally, it can take the form of curved lines between two shapes or as a loop back to a node.

Tree library, accessed through \usetikzlibrary{trees}. Each point on the tree is defined as a node, with children, and each child can have its own children. The tree's direction can also be specified, as well as the angle at which children emerge, however, when left to its own devices, the results are acceptable.

Sources: Anything in inverted commas has been lifted from the tikzpgfmanual, as well as the calendar sample.

How about making a CW answer for each library including an example image. So one can easily add new librarys. I would make an example and start to port your list to separated answers if it’s ok with you.
–
TobiJan 29 '12 at 13:04

1

@Tobi: The draw back of the cw is that jClark94 doens't earned any reputation though he provides a great answer.
–
Marco DanielJan 29 '12 at 13:06

1

I'd rather it was useful, than I got rep for it, whatever's best for the community
–
jClark94Jan 29 '12 at 13:07

Intersections library

Accessed by \usetikzlibrary{intersections}

Description
Allows automated calculation of path intersections.

Example 1

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
% Draw to path and give a name to them
\draw [red, name path={red line}] (0,0) -- (4,3);
\draw [blue, name path={blue curve}] (1,-0.5) to[out=80, in=100] (3,2);
% use the intersections on a path to giv them coordinates
% and draw a line between them
\draw [green, name intersections={of=red line and blue curve,
by={first intersect, second intersect}}]
(first intersect) -- (second intersect);
% one can use the coordinates furtheron
\node [above] at (first intersect) {A};
\node [below] at (second intersect) {B};
\end{tikzpicture}
\end{document}

Thanks … the link was outdated. I made an update to may answer. Btw. your first link points to the 2.10 version whir 3.00 is the current one on CTAN. (The second doesn’t load on my computer at the moment …)
–
TobiJul 24 at 18:12

Mindmap Library

Accessed by \usetikzlibrary{mindmap}

Description

The main focus point, is placed in the middle, with sub-points branching off. Each node is defined, as are its children. Nodes can also be separate from each other, and each node can also be coloured differently and interconnected. Annotations are also available.

Chains Library

Accessed by \usetikzlibrary{chains}

Description

Chains are sequences of nodes that are arranged in a row or a column and that are, typically, connected by edges. More generally, they can be used to position nodes of a branching network in a systematic manner. For the positioning of nodes in rows and columns you can also use matrices (see
Section 17 of pgfmanual.pdf) but chains can also be used to describe the connections between nodes that have already been connected using, say, matrices. Thus, it often makes sense to use matrices for the positioning of elements
and chains to describe the connections.