![强制 Latex 将图形和表格放在同一页中](https://linux22.com/image/328512/%E5%BC%BA%E5%88%B6%20Latex%20%E5%B0%86%E5%9B%BE%E5%BD%A2%E5%92%8C%E8%A1%A8%E6%A0%BC%E6%94%BE%E5%9C%A8%E5%90%8C%E4%B8%80%E9%A1%B5%E4%B8%AD.png)
我尝试过使用浮动属性和静态对齐来强制 Latex 将图形和表格放在一起,但没有成功。此外,当我使用\noindent\begin{minipage}{\linewidth}
包时\captionof
,它们会被放在一起,但是,短暂中断会导致前一页在中间被切断。有人能给我一个建议吗?实际上这些图形和表格必须占据整个页面。
%\noindent\begin{minipage}{\linewidth}
%\centering
%\resizebox{13.4cm}{!}{\includegraphics{figures}}
%\captionof{figure}{figure i would like to be on top}
%\label{fig:BN_breakdown}
%%\end{figure}
%%\begin{table}[]
%\small
%\centering
%\captionof{table}{Table I would like to be bottom of the figure}
%\label{table}
%\centering
%\begin{tabular}{| l | l | p{7cm}|c|}
%\hline
%\textbf{} & \textbf{Category} & \textbf{Description} & \textbf{Time\%} \\
%\hline
%\\ \hline
%\end{tabular}
%\end{minipage}
答案1
您可以加载后页将图形/表格材料包装并封装在一个\afterpage{...}
语句中:指令参数的排版\afterpage
被推迟到下一页的开始。
\documentclass{article}
\usepackage[demo]{graphicx} % remove 'demo' option in real document
\usepackage{caption,afterpage,tabularx}
\usepackage{lipsum} % for filler text
\begin{document}
\lipsum[1-3] % filler text
\afterpage{% % defer placement until start of next page
\noindent
\begin{minipage}{\textwidth}
\centering
\includegraphics[width=0.9\textwidth]{figures} % choose width of graph
\captionof{figure}{Figure above table}
\label{fig:BN_breakdown}
\vspace{2cm} % choose the vertical separation between figure and table
\small
\captionof{table}{Table below figure}
\label{table}
\begin{tabularx}{0.9\textwidth}{| l | l | X | c |} % choose width of `tabularx`
\hline
\textbf{} & \textbf{Category} & \textbf{Description} & \textbf{Time \%} \\
\hline
& & & \\ \hline
\end{tabularx}
\end{minipage}
\clearpage % if needed/desired
}% end of argument of \afterpage
\lipsum[4-9] % more filler text
\end{document}
答案2
您可以将图片和表格放在一个环境中(例如\begin{table}
),然后使用\captionof
命令添加相应的标题。由于您说图形和表格应该占据一页,因此只需添加[p]
说明符作为表格的可选参数即可。
梅威瑟:
\documentclass{article}
\usepackage{caption}
\usepackage{lipsum} % for dummy text
\usepackage{tikz} % for dummy picture
\begin{document}
\lipsum[1] % dummy text
\begin{table}[p]
\centering
\begin{tikzpicture} % dummy picture
\fill circle (3cm);
\end{tikzpicture}
\captionof{figure}{\protect\lipsum[2]} % dummy caption
\hspace{\parskip}
\captionof{table}{\protect\lipsum[2]} % dummy caption
\begin{tabular}{| l | l | p{7cm} | c |} % dummy table
\hline
\textbf{} & \textbf{Category} & \textbf{Description} & \textbf{Time\%} \\ \hline
\textbf{} & 00000 & 11111 & 22222 \\
\textbf{} & 00000 & 11111 & 22222 \\
\textbf{} & 00000 & 11111 & 22222 \\ \hline
\end{tabular}
\end{table}
\lipsum[1-5] % dummy text
\end{document}