我想将两张 TikZ 图片并排放置,分别带有标题“之前”和“之后”。我该怎么做?
我尝试将 TikZ 图片放在figure
环境中作为标题,并将figure
环境放在里面tblr
作为定位,如下所示。
\documentclass{article}
\usepackage{tabularray}
\usepackage{float}%For the 'H' option
\usepackage{tikz}
\begin{document}
\begin{tblr}{}
\begin{figure}[H]
\centering
\tikz \draw (0,0) circle (1);
\caption{Before}
\end{figure}
&
\begin{figure}[H]
\centering
\tikz \draw (0,0) rectangle (1,1);
\caption{After}
\end{figure}
\end{tblr}
\end{document}
不幸的是,该代码无法使用 2022 LuaLaTeX 编译器在 Overleaf 中进行编译。
我该如何修复代码以实现本文开头所述的目标?
答案1
假设图像可以是任意的,所以除此之外tikzpicture
我还使用˙example-image-duck`,它可供任何人使用:
\documentclass{article}
\usepackage[export]{adjustbox} % for "valign", also load graphicx
\usepackage{tabularray}
\UseTblrLibrary{counter, varwidth} % <===
\usepackage[font=small, labelfont=bf]{caption}
\begin{document}
\begin{figure}[htp]
\begin{tblr}{colspec={X[c] X[c]},
measure = vbox % <----
}
\includegraphics[width=\linewidth,valign=t]{example-image-duck}
\caption{Before.}
&
\includegraphics[width=\linewidth,valign=t]{example-image-duck}
\caption{After.}
\end{tblr}
\end{figure}
\begin{figure}[htp]
\begin{tblr}{colspec={X[c] X[c]},
measure = vbox
}
\tikz \draw (0,0) circle (1);
\caption{Before.}
&
\tikz \draw (0,0) rectangle (1,1);
\caption{After.}
\end{tblr}
\end{figure}
\end{document}
笔记:
- 浮动元素不应插入任何框/表格单元格内
- 为了插入
\caption
单元格,您需要加载库varwidth
并添加到表序言选项measure = vbox
- 图形编号正确,
counter
需要图书馆