我有一张图,下面有注释(不是标题:“blah blah blah...”在下面的 MWE 中)。我希望它位于图的正下方,但目前它们之间的空白太多了。
我目前正在运行的代码如下。我使用的是 minipage 环境,因为我插入的图形非常大(它是在 Stata 中生成的,我尝试过多种方式保存它,但没有成功)。有没有办法减少这个环境中的空白?我已经尝试\vspace
在标题后使用 as I do,但它不起作用。对于caption
包、\abovecaptionskip
等也是一样。如果有人能帮忙,我将不胜感激!提前致谢。
\documentclass[12pt]{article}
\begin{document}
\begin{figure}[h!]
\begin{centering}
\begin{minipage}{0.95\textwidth}
\caption{My Title Here}\label{mylabel}
\vspace*{-4cm}
\includegraphics[height=8in]{figure.pdf}
{\footnotesize blah blah blah blah blah blah blah blah blah blah.\par}
\end{minipage}
\end{centering}
\end{figure}
\end{document}
答案1
我猜,问题的根源在于 Stata 生成的图形周围的白框。如果您适当裁剪图形,它将很容易适合页面,如下例所示。该showframe
选项仅用于测试,您可以稍后将其删除。此外,\vspace
这里不需要,正如minipage
@DavidCarlisle 提到的那样。
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage[margin=1in,showframe]{geometry}
\begin{document}
\begin{figure}[h!]
\centering
\caption{My Title Here}\label{mylabel}
%\vspace*{-4cm}
\includegraphics[height=8in,width=.95\textwidth]{example-image}
{\footnotesize blah blah blah blah blah blah blah blah blah blah.\par}
\end{figure}
\end{document}
答案2
如果我删除虚假标记并添加缺失的软件包,我会得到
\documentclass[12pt]{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htp!]
\centering
\caption{My Title Here}\label{mylabel}
\includegraphics[height=8in,width=4in]{example-image}
\footnotesize blah blah blah blah blah blah blah blah blah blah.
\end{figure}
\end{document}
产生
LaTeX Warning: Float too large for page by 63.38252pt on input line 13.
因此,你需要在某个地方损失近一英寸的空间,添加 -64pt 的负空间可以发出警告,但你需要判断是否可以接受从顶部边距窃取那么多空间
\documentclass[12pt]{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htp!]
\centering
\vspace{-64pt}
\caption{My Title Here}\label{mylabel}
\includegraphics[height=8in,width=4in]{example-image}
\footnotesize blah blah blah blah blah blah blah blah blah blah.
\end{figure}
\end{document}
答案3
geometry
只改变一页的上边距以适应一张大图像真的是个好主意吗?使用带有选项的包showframe
来查看边距应该是。如果您需要一张非常大的图像,请一致地更改边距(在整个文档中),但请不要用负片破坏文档布局\vspace
。
但是,您很可能可以缩小图像而不会明显损失分辨率。任何图像(无论其原始高度和宽度如何)都将尽可能缩放,直到适合填充所有水平或所有垂直空间,而不会侵占边距,使用以下选项:
height=\textheight,width=\linewidth,keepaspectratio
如果您还需要两行文本,只需稍微降低高度即可(例如.95\textheight
,在此示例中,将标题和脚注的高度向左减少大约 32pt):
\documentclass[12pt]{article}
\usepackage[margin=1in,showframe]{geometry}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htp!]
\abovecaptionskip0pt
\caption{My Title Here}
\centering
\includegraphics%
[height=.95\textheight,width=\linewidth,keepaspectratio]%
{example-image-10x16}\par\footnotesize
blah blah blah blah blah blah blah blah blah blah.
\end{figure}
\end{document}
笔记:\vspace*{-4cm}
由于您的 MWE在标题和图像之间插入了,我猜您的图像中有一个很大的空白区域。在这种情况下,正确的解决方案是使用外部工具(如 Gimp)裁剪原始图像,或者使用 中的trim
和clip
选项\includegraphics
。请参阅如何自动从图像中裁剪背景?