如果有可用空白空间,则使用图像的替代缩放比例

如果有可用空白空间,则使用图像的替代缩放比例

我写了一本包含多个章节的书。每个章节包含几张(浮动)图片,通常是标准横向风格的照片,因此它们被缩放到 0.4\textheight 的大小,以便至少有两张图片与标题一起适合页面(以节省空间)。

我使用以下函数“\photo”来添加照片:

\newcommand{\photo}[3] {
\begin{figure}[htbp]
\begin{center}
\leavevmode
\includegraphics[height=0.4\textheight]{#2}
\end{center}
\caption{#3}
\label{foto:#1}
\end{figure}
}

但是,经常会发生这样的情况:在章节的最后一页,只显示一张(最后一张)图像。当我使用缩放功能时,它会将图像缩放到相同的 0.4 大小,在这种情况下不需要这样做,因为页面的其余部分无论如何都是空白的(章节末尾),甚至可以缩放到 0.9\textheight。

问题是我不知道照片是否浮动到段落末尾。或者,照片是否定位到最后一页,其中也填充了一些文本,或者有大量可用空间。

这本书实际上是由程序生成的(它是一本家谱书,自动分成章节),我不想手动编辑它。

那么,Latex(LuaLaTex)中是否有一个选项可以

  • 正常情况下将图像缩放到所需大小,但
  • 如果有可用空白空间,则将图像放大以填满页面。

(总之缩放要根据照片浮动后放置的位置来决定。)

答案1

我知道您使用\photo命令来包含图像,然后您就知道章节末尾是两个图像还是只有一个图像。所以我认为在需要时手动更改缩放因子比编写自动方法更容易。

无论如何,您可以在\photo命令中引入第四个(可选)参数,即比例因子(默认为 0.4)。当您想要整页图像时,只需写入\photo[0.9]{label}{image-file}{caption}

\newcommand{\photo}[4][0.4]{
\begin{figure}[htbp]
\begin{center}
\leavevmode
\includegraphics[height=#1\textheight]{#3}
\end{center}
\caption{#4}
\label{foto:#2}
\end{figure}
}

相关内容