![将图形垂直置于页面上中心?](https://linux22.com/image/315441/%E5%B0%86%E5%9B%BE%E5%BD%A2%E5%9E%82%E7%9B%B4%E7%BD%AE%E4%BA%8E%E9%A1%B5%E9%9D%A2%E4%B8%8A%E4%B8%AD%E5%BF%83%EF%BC%9F.png)
我正在完成一本书,有些页面布局存在一些问题。具体来说,出版商要求图片尽可能多地出现在页面的顶部和底部。我通过使用
\makeatletter
\setlength\@fptop{0pt}
\setlength\@fpsep{8pt plus 1fil}
\setlength\@fpbot{0pt}
\makeatother
在序言中,有时也与和\begin{figure}[b!]
一起\begin{figure}[t!]
。
然而,这意味着一些图形太靠近页面的顶部和底部 - 但可以通过更改\@fptop
和\@fpbot
设置来解决。
另一个我无法解决的问题是,有些页面有两个图 - 一个在顶部,另一个在底部,中间没有文字。我猜 LaTeX 参数决定了没有文本空间。出版商要求移动这些图:顶部的图向下移动,底部的图向上移动,从而使它们更好地居中在页面上,并消除它们之间的垂直空间。
也就是说:
---------------- | ------- | | | | | | | | | | ------- | | | | | | | | | | | | ------- | | | | | | | | | | ------- | ----------------
更改为:
---------------- | | | | | ------- | | | | | | | | | | ------- | | | | ------- | | | | | | | | | | ------- | | | | | ----------------
是否有一些我可以调整的参数或可以使用的包来满足此要求?
答案1
如果我正确理解了您的帖子,则存在三个单独的格式问题:
在包含浮动元素的页面上和文本,浮动内容必须位于页面的顶部或底部。
在仅浮动的页面上,
- 如果有两个或多个浮动元素,则它们必须位于页面的“中央”,即浮动元素上方、之间和下方的空间必须相等;
- 如果有一个浮动元素,则该浮动元素必须放置在页面的顶部,而不是放置在页面的中心。
要实现第一个格式化目标,应根据需要使用定位说明符[t!]
和以及和。请注意,由于参数、和适用于仅浮动页面,因此如果页面同时包含文本和浮动,则它们的设置无关紧要。[b!]
\begin{figure}
\begin{table}
\@fptop
\@fpsep
\@fpbot
转到第二和第三个格式化目标,让我们首先回想一下“主要” LaTeX 文档类(即,,article
和book
)分别为,和report
提供了以下设置:\@fptop
\@fpsep
\@fpbot
\setlength{\@fptop}{0pt plus 1fil}
\setlength{\@fpsep}{8pt plus 2fil}
\setlength{\@fpbot}{0pt plus 1fil}
为了实现第二个格式化目标,只需发出命令
\makeatletter
\setlength{\@fpsep}{0pt plus 1fil}
\makeatother
在序言中。
在我看来,第二和第三个格式化目标是相互冲突的。如果浮动元素足够大,需要单独放置在页面上,那么将其垂直居中,上下留出相等的空白,而不是将其放置在顶部,并在其下方留出大量空白,这样看起来会更好。您能做些什么来说服出版商修改第三个目标吗?另一方面,如果将单个浮动元素放置在最顶部确实是出版商想要的,那么对于只有浮动元素的页面,切换到完全不同的系统似乎不太合适,因为页面有两个(或更多)浮动元素?
答案2
\documentclass[10pt]{article}
\usepackage{graphicx}% to include graphics
\usepackage{subcaption} % this package aligns images
\begin{document}
\begin{figure}
\begin{subfigure}[b]{\textwidth} % placement of image and width of box for image
\centering
\includegraphics{a.jpg}
\caption{figure one}
\end{subfigure}
\\ % space can be added using \\[]
\begin{subfigure}[b]{\textwidth}
\centering
\includegraphics{b.jpg}
\caption{figure two}
\end{subfigure}
\end{figure}
\end{document}