[Tex/LaTex] How to Label and Caption a Tikzpicture inside a tabular environment

captionscross-referencingtablestikz-pgf

What is the correct way to label and captionize a tkizpicture inside a tabular environment? (Since figures are not allowed inside a tabular)

Excerpt from my .tex:

\begin{tabular}{l r}

&
   \begin{tikzpicture}
   ... % I want to label this tikzpicutre and give it a nice caption
   \end{tikzpicture}
\end{tabular}

Outside the tabular I would have done it like this:

   \begin{figure}
   \begin{tikzpicture}
   ... 
   \end{tikzpicture}
   \label{fig:...}\caption{...}
   \end{figure}

Basically I want to create a page that looks like this:

----------------------------
|Text Text    TKIZ    TKIZ |
|TextText     TKIZ    TKIZ |
| Text Text   Figure X: ...|
|                          |
|This text is under the    |
|table and references above|
|TKIZ Figure with \ref{..} |
----------------------------

Best Answer

I recommend to use the \captionof command of the caption package (or load the tiny capt-of package instead). This command produces captions within other environments than figure or table and even lists them in the list of figures resp. tables.

Here's a complete example for demonstration:

\documentclass{article}
\usepackage{tikz}
\usepackage{caption}
\begin{document}
\listoffigures
\bigskip
\section*{Test table}
\begin{tabular}{lp{4cm}}
Text text text &
   \begin{tikzpicture}
     \draw (0,0) -> (4,0);
   \end{tikzpicture}
   \captionof{figure}{Sample picture}
   \label{tikz}
\end{tabular}

See fig. \ref{tikz}.
\end{document}

alt text

Btw. use \label after \caption, unlike in the example in your question.

Related Question