我想要一个表格覆盖我的图形的每一列,其中包含列布局中的子图。我尝试了 minipage 和 adjustbox 的不同组合,但未能找到解决方案。
这两个表应该彼此相邻,因此没有 y 偏移。
\documentclass{article}
\usepackage[abs]{overpic}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{siunitx}
\usepackage{adjustbox}
\usepackage{tikz}
\begin{document}
\begin{figure}
\begin{minipage}[c]{\textwidth}
\adjustbox{valign=t}{
\subfloat{
\begin{tabular}{ll}
Line style & Explanation \\
\hline
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}
} \qquad
} \qquad
\adjustbox{valign=t,center}{
\subfloat{
\begin{tabular}{ll}
Line style & Explanation \\
\hline
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}
} \qquad
}
\end{minipage} \qquad
\subfloat[\SI{30}{\degree} left]{\includegraphics[width=0.5\textwidth]{example-image-a}}\qquad
\subfloat[\SI{30}{\degree} right]{\includegraphics[width=0.5\textwidth]{example-image-a}}\qquad
\caption{figure name}
\label{fig:label}
\end{figure}
\end{document}
\end{document}
答案1
您插入了多个不需要的空格和换行符。如果您不想开始新的段落,请不要使用空行。
\adjustbox{valign=t}{
\subfloat{
必须
\adjustbox{valign=t}{%
\subfloat{%
因为这两行都引入了虚假的空白。如果您加载包lua-visual-debug
并使用 LuaLaTeX 进行编译,这将大有帮助。您会发现您的示例在讨论边距和夸大框时遇到了很多问题。
由于我不知道您想通过这些adjustbox
es 获得什么,我擅自重写了您的代码,就像我本来会写的那样。我希望我理解您的意思。请注意,实际上只需要一行空白。您可能需要更改这些子图和表格的宽度。如果您想将框推到最外面的位置\hfil
,可以使用\hfill
。
% arara: pdflatex
\documentclass{article}
\usepackage{siunitx}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\begin{subtable}{.45\linewidth}
\centering
\begin{tabular}{ll}
Line style & Explanation \\\midrule
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}\hfil
\end{subtable}
\begin{subtable}{.45\linewidth}
\centering
\begin{tabular}{ll}
Line style & Explanation \\\midrule
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}
\end{subtable}
\begin{subfigure}{.45\linewidth}
\centering
\includegraphics[width=.45\textwidth]{example-image-a}
\caption{\ang{30} left}
\end{subfigure}\hfil
\begin{subfigure}{.45\linewidth}
\centering
\includegraphics[width=.45\textwidth]{example-image-b}
\caption{\ang{30} right}
\end{subfigure}
\caption{figure name}\label{fig:label}
\end{figure}
\end{document}
由于您没有为表格使用任何标题,因此您也可以将它们subfigure
与图像放在相同的位置,这样代码会更短:
% arara: pdflatex
\documentclass{article}
\usepackage{siunitx}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}{.45\linewidth}
\centering
\begin{tabular}{ll}
Line style & Explanation \\\midrule
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}
\includegraphics[width=.45\textwidth]{example-image-a}
\caption{\ang{30} left}
\end{subfigure}\hfil
\begin{subfigure}{.45\linewidth}
\centering
\begin{tabular}{ll}
Line style & Explanation \\\midrule
some text 1 & other text 1 \\
some text 2 & other text 2 \\
\end{tabular}
\includegraphics[width=.45\textwidth]{example-image-b}
\caption{\ang{30} right}
\end{subfigure}
\caption{figure name}\label{fig:label}
\end{figure}
\end{document}