![当 minipage、samepage、nopagebreak 不起作用时,如何强制文本和图形位于同一页面上](https://linux22.com/image/235998/%E5%BD%93%20minipage%E3%80%81samepage%E3%80%81nopagebreak%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E6%96%87%E6%9C%AC%E5%92%8C%E5%9B%BE%E5%BD%A2%E4%BD%8D%E4%BA%8E%E5%90%8C%E4%B8%80%E9%A1%B5%E9%9D%A2%E4%B8%8A.png)
我试图让四个图形(以 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
显然,在这种情况下,您不希望图形浮动,因此自然的方法是不使用浮动环境。您可以使用minipage
s 正确对齐子图形,并使用\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}
我demo
在graphicx
包中添加了该选项,以便每个人都可以编译我的示例;请这样做不是在实际代码中使用该选项。
顺便说一句,您似乎正在使用该subfigure
包;该包已经过时,不应再使用;您可以改用该subcaption
包。
答案2
我认为这与您使用有关。通常,figure*
您可以使用[H]
漂浮包裹。
\begin{figure}[H]
...
\end{figure}
将强制图形精确地显示在输入文件中的位置。但是,带星号的图形只能显示在页面顶部,或显示在自己的页面上。