我正在用 Python 编写一本 LaTeX 格式的书。
每章都有一个章节文件;该部分包含文档的扫描件,这些文档包含在内。我使用来自包的\includegraphics[width=\textwidth]{"/filePath/DocumentScan.png"}
阻止图形跨部分浮动。\FloatBarrier
placins
但是我确实遇到过这种情况:章节标题在一页上,由于该页空间不足,所以图形被放置在下一页。这导致章节标题和图形之间出现很大的空白 - 请参阅所附屏幕截图。
在这种情况下,我更希望有章节标题还移至下一页,并停留在(浮动)图形上。
由于文档很长,有没有办法在 LaTeX 中解决这个问题,而无需手动添加\newpages
?
---编辑1
一个最小的工作示例:
\documentclass[hidelinks,a4paper,titlepage,10pt]{book}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{graphicx}
\usepackage{caption}%
\usepackage[section]{placeins}%
\usepackage{blindtext}%
\usepackage{tikz}
%
\makeatletter%
%
\begin{document}%
\normalsize%
\chapter{Chapter 1}%
\section{Section 1}%
\blindtext
\section{Section 2}
\begin{figure}[h]%
\centering%
\begin{tikzpicture}
\node[rectangle,draw, minimum width = \textwidth, minimum height = \textwidth] (r) at (0,0) {Figure};
\end{tikzpicture}
\caption{Figure Caption}%
\end{figure}%
\FloatBarrier
\end{document}
答案1
已解决 - 但可能不是最好的解决方案
使图形不浮动和使用
caption
-package 将章节标题与其后的图形放在一起。将章节标题 + 完整的第一部分放在小页面中,以删除第一页标题之间的额外空白
请参见下面的截图。
代码:
\documentclass[hidelinks,a4paper,titlepage,10pt]{book}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{graphicx}
\usepackage{caption}%
\usepackage[section]{placeins}%
\usepackage{blindtext}%
\usepackage{tikz}
%
\makeatletter%
%
\begin{document}%
\normalsize%
\begin{minipage}{\textwidth}
\chapter{Chapter 1}%
\section{Section 1}%
\blindtext
\end{minipage}
\section{Section 2}
% \begin{figure}[htbp]%
\centering%
\begin{tikzpicture}
\node[rectangle,draw, minimum width = \textwidth, minimum height = \textwidth] (r) at (0,0) {Figure};
\end{tikzpicture}
\captionof{figure}{Caption}%
% \end{figure}%
\FloatBarrier
\end{document}