带标题的 Tikzpicture

带标题的 Tikzpicture

如何在 Tikz 中制作标题?例如

\begin{tikzpicture}
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\caption{Cuadrado}
\end{tikzpicture}

是錯誤。

答案1

Acaption是你附加到 a 的东西figure;atikzpicture就像一张图片、一段文本,或者任何你想放的东西进入照片。

尝试:

\begin{figure}
    \begin{tikzpicture}
        \draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
    \end{tikzpicture}
    \caption{Un cuadrado}
\end{figure}

答案2

需要明确的是,Rmano 的回答是几乎所有现实情况下的解决方法。然而,在特殊情况下,为某些内容添加标题也是有充分理由的tikzpicture,例如当您将它们排列在表格中时。在这种情况下,您可以这样做

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{caption/.style={insert path={
let \p1=($(current bounding box.east)-(current bounding box.west)$) in
(current bounding box.south) node[below,text width=\x1-4pt,align=center] 
{\captionof{figure}{#1}}}}}
\usepackage{caption}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\path[caption=Cuadrado];
\end{tikzpicture}
\end{document}

在此处输入图片描述

或者您可以定义一种样式,自动将标题放在文章末尾tikzpicture

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{caption/.style={execute at end picture={\path
let \p1=($(current bounding box.east)-(current bounding box.west)$) in
(current bounding box.south) node[below,text width=\x1-4pt,align=center] 
{\captionof{figure}{#1}};}}}
\usepackage{caption}
\begin{document}
\begin{tikzpicture}[caption=Cuadrado]
\draw (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\end{tikzpicture}
\end{document}

相关内容