在一些资料中,建议使用较低的 \textfraction=0.07 值(参见https://aty.sdsu.edu/bibliog/latex/floats.html)。但是,如果我应用这些值,即使有足够的空间,我的一些浮动元素(图像和表格)也会与文本重叠。这是为什么呢?
最小工作示例见下文:
% Document class
\documentclass[ a5paper, % type of paper
fontsize=9pt,
parskip=half, % distance between paragraphs shall be half a line
usegeometry, % facilitates use of geometry package into scrbook class
]{scrbook}
\usepackage[english, ngerman]{babel}
\usepackage{geometry}
\newgeometry{left=5cm, right=1.6cm, top=1.1cm, bottom=1.1cm, % margins from page to body
includeheadfoot, % header and footer are considered as part of the body, hence are placed within margins
headsep=0.6cm, % vertical distance from top of textbody to bottom of header
footskip=0.9cm, % vertical distance from bottom of textbody to top(?) of footer
footnotesep=0.9cm, % vertical distance from bottom of textbody to top(?) of footnotes
}
\usepackage{showframe}
\renewcommand{\textfraction}{0.07} % allow minimal text w. figs
\usepackage[draft]{pgf}
\begin{document}
and classified correctly. Then, the linear fit described in step three can be correctly performed (see right hand side of Fig.~\ref{fig:06_FSM_preoptim}).
\begin{figure} [htbp]
\centering
\begin{pgfpicture}
\pgftext{\pgfimage[width=\textwidth,height=12.927cm]{dummy}}
\end{pgfpicture}
\caption{Diagram, in which the benefits of the preoptimization before the linear fit are demonstrated}
\label{fig:06_FSM_preoptim}
\end{figure}
\section{Next section}
In contrast to ...
\end{document}
答案1
我认为您遇到的文本图像重叠问题与该指令无关(至少不是直接相关)
\renewcommand{\textfraction}{0.07}
相反,看起来该\geometry
指令的作用与与该类相关的其他一些设置过程scrbook
要完成的任务之间存在隐藏的冲突。当然,删除该选项
includeheadfoot
该\geometry
指令解决了重叠问题。
恐怕由于不知道页面布局到底应该是什么样的,我无法提出其他建议。
答案2
因此,问题似乎是 parskip、flushbottom 和明显未充满的 vbox 的组合。在这种情况下,Tex 可能会将元素定位为重叠。自 2010 年以来,人们就知道这个错误,但似乎没有通用的解决方案,而是手动在浮动和下一节标题之间添加 \vspace{\parskip}。
资料来源:
- Markus Kohm 用德语回答了我的问题:https://komascript.de/node/2176
- 同样的问题:parskip=half 有时会导致页面混乱
- 问题解释及解决方案:https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/4112