我可以将子表放在子图旁边,但我希望图和表的顶部对齐,而不是底部对齐。有办法吗?
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\begin{figure*}[!h]
\begin{subfigure}[b]{1\textwidth}
\includegraphics[width=0.5\textwidth]{Image.png}
\end{subfigure}
\hspace{-9cm}
\begin{subtable}[b]{0.48\textwidth}
\setlength\extrarowheight{0.5mm} % for a less cramped "look"
\fontsize{12}{14.4}\selectfont %fontsize
\begin{tabular}{ | *{4}{C{1cm}|} }
0 & 1 & 0 & 1 \\
\hline
0 & 1 & 0 & 1 \\
1 & -1 & 1 & -1 \\
\hline
\end{tabular}
\end{subtable}
\end{figure*}
\end{document}
答案1
- 假设 MWE 不起作用
- 包
subfigure
已过时。我建议您改用subcaption
包 - 您的问题不完全清楚:
- 你的文档有两行吗?如果没有,那么不要
figure*
使用,而要使用figure
! - 有
figure
、subfigure
没有subtable
字幕吗? - 如果你喜欢将
subfigure
和subtable
平行放置,那么它们之间的代码就不能有空行。
- 你的文档有两行吗?如果没有,那么不要
- 为了使图像和桌面顶部对齐,您需要将图片基线和表格移动到其顶部。
可能的 MWE:
\documentclass{article}
\usepackage[export]{adjustbox} % <---
\usepackage{array} % <---
\usepackage{caption}
\usepackage[skip=3ex]{subcaption} % <---
\begin{document}
\begin{figure*}[!h]
\begin{subfigure}{0.48\textwidth}
\includegraphics[width=\linewidth, valign=t]{example-image-duck}%{Image.png}
\end{subfigure}
\hfill
\begin{subtable}{0.48\textwidth}
\fontsize{12}{14.4}\selectfont % font size
\begin{tabular}[t]{ | *{4}{b{1cm}|} }
0 & 1 & 0 & 1 \\
\hline
0 & 1 & 0 & 1 \\
1 & -1 & 1 & -1 \\
\hline
\end{tabular}
\end{subtable}
\end{figure*}
\end{document}
上面显示的编译结果是你想要的吗?
附录:
- 看来我对标题的假设是错误的。显然楼主喜欢将标题垂直对齐,就像表格中的图像对齐一样。
- 这可以通过将图像、表格及其标题插入下表来实现(相对简单)。
\documentclass[border=3.141592, preview]{standalone}
\usepackage[export]{adjustbox} % <---
\usepackage{tabularray} % <---
\UseTblrLibrary{booktabs, counter, varwidth}
\usepackage[skip=1ex]{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\captionsetup[subfigure]{skip=-\abovecaptionskip}
\begin{tblr}{colspec = {X[c] X[c]},
rowsep = 0pt,
measure = vbox % <---- that subcaptions works
}
\includegraphics[width=\linewidth,valign=T]{example-image-duck}
& \begin{tblr}[t]{colspec={| *{4}{r}|} }
\toprule
0 & 1 & 0 & 1 \\
\midrule
0 & 1 & 0 & 1 \\
1 & -1 & 1 & -1 \\
\bottomrule
\end{tblr} \\
\subcaption{figure}
& \subcaption{table}
\end{tblr}
\caption{figure}
\end{figure}
\end{document}
答案2
您需要子浮点数吗?如果要添加子标题,则需要子浮点数,但您没有。
为了实现顶部对齐,请降低图像和tabular
的高度。
\documentclass{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{array}
\begin{document}
\begin{figure}[!htp]
\setlength\extrarowheight{0.5mm} % for a less cramped "look"
\large
\raisebox{-\height}{%
\includegraphics[width=0.5\textwidth,valign=T]{example-image}%
}\hfill
\raisebox{-\height}{%
\begin{tabular}{ | *{4}{w{c}{1cm}|} }
\hline
0 & 1 & 0 & 1 \\
\hline
0 & 1 & 0 & 1 \\
1 & -1 & 1 & -1 \\
\hline
\end{tabular}%
}
\caption{A figure with an accompanying table}
\end{figure}
\end{document}
你没有说C
是什么,但我猜它是用于固定宽度的居中列:w{c}{<width>}
代替使用。