当 minipage、samepage、nopagebreak 不起作用时,如何强制文本和图形位于同一页面上

当 minipage、samepage、nopagebreak 不起作用时,如何强制文本和图形位于同一页面上

我试图让四个图形(以 2x2 网格为页面中心)显示在同一页面上,作为章节标题(“附录”)。

下面将单词“附录”放在一页上(单独放置),然后将四个图表放在各自的页面上。

我已经尝试过\nopagebreak,,\begin{samepage}...\end{samepage}但是\begin{minipage}...\end{minipage}没有成功。

\bibliographystyle{plain}
\bibliography{sid}
\vfill\eject
\appendix
\label{sec:ads}
\begin{figure*}
\centering
\subfigure[]{
  \includegraphics[height=150pt]{./figs/jjj.png}
  \label{fig:jjj}
} \quad
\subfigure[]{
  \includegraphics[height=150pt]{./figs/xxx.png}
  \label{fig:xxx}
} \quad
\subfigure[]{
  \includegraphics[height=150pt]{./figs/nnn.png}
  \label{fig:nnn}
} \quad
\subfigure[]{
  \includegraphics[height=150pt]{./figs/aaaa.png}
  \label{fig:aaa}
} \quad
\caption{blah  }
\label{fig:aaaa}
\end{figure*}

任务\vfill\eject是让“附录”一词出现在新页面的顶部,而不是紧跟在参考书目之后。顺便说一句,文件\appendix中有此条目cls

 \def\appendix{\par
 \section*{APPENDIX}
 \setcounter{section}{0}
 \setcounter{subsection}{0}
 \def\thesection{\Alph{section}} }

答案1

显然,在这种情况下,您不希望图形浮动,因此自然的方法是不使用浮动环境。您可以使用minipages 正确对齐子图形,并使用\captionof标题subcaption包,您可以为子图和图形添加标题,以便使用相应的标签进行交叉引用。这里有一个小例子:

\documentclass{book}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[demo]{graphicx}

\begin{document}

\appendix
\chapter{Test Appendix}\label{sec:ads}

\noindent\begin{minipage}{\textwidth}
\begin{minipage}{.5\textwidth}
  \centering
  \includegraphics[height=150pt]{./figs/jjj.png}
  \captionof{subfigure}{First subfigure.}
  \label{fig:jjj}
\end{minipage}%
\begin{minipage}{.5\textwidth}
  \centering
  \includegraphics[height=150pt]{./figs/xxx.png}
  \captionof{subfigure}{Second subfigure.}
  \label{fig:xxx}
\end{minipage}\\
\begin{minipage}{.5\textwidth}
  \centering
  \includegraphics[height=150pt]{./figs/nnn.png}
  \captionof{subfigure}{Third subfigure.}
  \label{fig:nnn}
\end{minipage}%
\begin{minipage}{.5\textwidth}
  \centering
  \includegraphics[height=150pt]{./figs/aaaa.png}
  \captionof{subfigure}{Fourth subfigure.}
  \label{fig:aaa}
\end{minipage}
\captionof{figure}{A figure with four subfigures.}
\label{fig:aaaa}
\end{minipage}

\end{document}

demographicx包中添加了该选项,以便每个人都可以编译我的示例;请这样做不是在实际代码中使用该选项。

顺便说一句,您似乎正在使用该subfigure包;该包已经过时,不应再使用;您可以改用该subcaption包。

答案2

我认为这与您使用有关。通常,figure*您可以使用[H]漂浮包裹。

\begin{figure}[H]
...
\end{figure}

将强制图形精确地显示在输入文件中的位置。但是,带星号的图形只能显示在页面顶部,或显示在自己的页面上。

相关内容