如何在 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}