我想这是一个有点奇怪的要求。我有一个表格和一个图形,我想让它们并排放在同一页的顶部,表格在左栏,图形在右栏。
我知道我可以把它们放在一个盒子或一个小页面里,但是这个模型比桌子高得多,因此桌子下面会浪费空间。
我也听说过这个floatrow
包,但是它有一个限制,即两个对象需要是同一类型(一个表格和一个图形)。
有没有办法做到这一点,或者我注定要在最终修订之前手动平衡文本?
答案1
这是一个解决方案。我们设置 \setcounter{topnumber}{1}
然后恢复它的值
\documentclass[twocolumn]{article}
\usepackage{mwe}
\edef\mttopnumber{\arabic{topnumber}}
\setcounter{topnumber}{1}
\begin{document}
\begin{table}[tp]
\centering
\caption{A table}
\begin{tabular}{|c|c|}
\hline
12 & 13 \\
\hline
10 & 11 \\
\hline
\end{tabular}
\end{table}
\begin{figure}[tp]
\centering
\includegraphics[scale=.5]{example-image}
\caption{Nice figure}
\end{figure}
\setcounter{topnumber}{\mttopnumber}
\lipsum
\begin{table}[tp]
\centering
\caption{A table}
\begin{tabular}{|c|c|}
\hline
12 & 13 \\
\hline
10 & 11 \\
\hline
\end{tabular}
\end{table}
\begin{figure}[tp]
\centering
\includegraphics[scale=.5]{example-image}
\caption{Nice figure}
\end{figure}
\lipsum
\end{document}
答案2
一种奇怪的方法,使用figure*
跨越列和嵌套表格环境的环境来实现对齐。
填充当然取决于表格和图像的大小。(s\hline
仅用于检查,而不是实际输出)
\documentclass[twocolumn]{article}
\usepackage{tabularx}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{figure*}[ht!]
\begin{tabularx}{\linewidth}[t]{*{2}X}
\hline
\begin{tabular}[c]{p{\linewidth}}
\centering
\begin{tabular}[c]{lllll}
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
Here & comes & the & real & table \tabularnewline
\end{tabular}
\end{tabular} &
\centering
\begin{tabular}[c]{c}
\includegraphics{example-a}
\end{tabular} \tabularnewline
\captionof{table}{A table} &
\captionof{figure}{A figure} \tabularnewline
\hline
\end{tabularx}
\end{figure*}
\blindtext
\end{document}