我正在使用 pdflscape 包在我的文档中插入横向页面。在其中一个页面上,我希望有一个图形垂直位于页面中央,但我找不到如何操作。
梅威瑟:
\documentclass{article}
\usepackage{graphicx}
\usepackage{pdflscape}
\begin{document}
A portrait mode page...
\begin{landscape}
\begin{figure}[!h]
\centering
\fbox{\includegraphics[width=\linewidth]{VUB_logo.pdf}}
\caption{Some caption}
\end{figure}
\end{landscape}
Another portrait mode page...
\end{document}
结果如下(仅显示横向页面):
而我想要的是这个:( 注意垂直居中)
答案1
\parbox
我会使用具有最大高度(即\textwidth
由于旋转)并\vfill
在内容前后包含一些宏以将其推到中间的 来实现。请注意,在这种情况下,您不应使用浮动环境,而应使用(或包)figure
添加标题。浮动只会在这里干扰。因为内容已经有最大宽度,所以您不需要将其水平居中。但是,可以使用 选项来完成此操作。\captionof{figure}
capt-of
caption
[c]
\parbox
\documentclass{article}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{capt-of}
\begin{document}
A portrait mode page...
\begin{landscape}
\parbox[c][\textwidth][s]{\linewidth}{%
\vfill
\fbox{\includegraphics[width=\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax]{VUB_logo.pdf}}
\captionof{figure}{Some caption}
\vfill
}
\end{landscape}
Another portrait mode page...
\end{document}
我还对\fbox
尺寸进行了补偿,以免产生过满的盒子。
答案2
您是否尝试过将长度参数\@fptop
和重置\@fpbot
为其默认值0pt plus 1fil
?这些参数控制浮动页面上浮动元素上方和下方的“fil”数量。您使用的某个软件包可能已将参数重置@fptop
为类似 的值0pt
。:-( 您可以在文档的序言中输入以下命令:
\makeatletter
\setlength{\@fptop}{0pt plus 1fil}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother
顺便说一句,您可能还想了解一下如何使用该rotating
包及其命令\begin{sidewaysfigure}
...。\end{sidewaysfigure}
每次您需要创建横向浮动时,您不仅可以少输入几个命令 :-),还可以从该rotating
包将浮动内容垂直居中的习惯中受益。以下 MWE 演示了它的用法。祝您 TeXing 愉快!
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{sidewaysfigure}
\centering
\includegraphics[width=\linewidth]{VUB_logo.pdf}
\caption{A sideways figure}
\end{sidewaysfigure}
\end{document}