我在我的报告中使用如下图像以使其位于顶部居中。
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{graphicx,caption}% http://ctan.org/pkg/{graphicx,caption}
\begin{document}
\lipsum[1-3]
\begin{figure}[h!]
\includegraphics[width=0.7\linewidth]{example-image-a}
\caption{This is a caption}
\end{figure}
\end{document}
但这不起作用。如果页面中只有一张图片,则图片始终居中。我怎样才能使其居中?
答案1
图形的放置可能很棘手,取决于其周围的环境。作为 TeX 算法背后的主要资源,请阅读如何影响 LaTeX 中图形和表格等浮动环境的位置?
在这种情况下,您可以使用以下设置:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{graphicx,caption}% http://ctan.org/pkg/{graphicx,caption}
\begin{document}
\lipsum[1-2]
\newpage
\noindent%
\begin{minipage}{\linewidth}
\centering
\includegraphics[width=0.7\linewidth]{example-image-a}
\captionof{figure}{This is a caption}
\end{minipage}
\vfill
\newpage
\lipsum[3-4]
\end{document}
这样做的目的是避免使用像 这样的浮动环境figure
,因为您不希望 TeX 进行放置。相反,像 这样的minipage
环境可以使用“假的” \caption
。
从技术上讲,你不需要整个caption
包裹,正如\captionof
您在此处使用的那样。因此,使用capt-of
包裹也足够了。另外,这里不需要环境minipage
。但是,要包含\centering
与组的对齐,minipage
有帮助。
lipsum
仅提供虚拟文本,乱数风格。
为了更自动化地将图形插入到单独的页面上,请使用afterpage
包裹插入它。以下 MWE 显示了这一点:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{afterpage,graphicx,caption}% http://ctan.org/pkg/{afterpage,graphicx,caption}
\begin{document}
\lipsum[1-2]
\afterpage{%
\noindent%
\begin{minipage}{\linewidth}
\centering
\includegraphics[width=0.7\linewidth]{example-image-a}
\captionof{figure}{This is a caption}
\end{minipage}
\newpage%
}
\lipsum[3-7]
\end{document}
答案2
如果你不想让带有单个浮动元素的页面居中,那么一个更好的选择就是在前言中包含这三行补丁。问题解决了。
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{graphicx,caption}% http://ctan.org/pkg/{graphicx,caption}
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\begin{document}
\lipsum[1-3]
\begin{figure}
\includegraphics[width=0.7\linewidth]{example-image-a}
\caption{This is a caption}
\end{figure}
\end{document}