Заставить латекс поместить рисунок и таблицу на одной странице

Заставить латекс поместить рисунок и таблицу на одной странице

Я пробовал использовать и плавающие свойства, и статическое выравнивание, чтобы заставить 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}

Связанный контент