页面底部的标题

页面底部的标题

我正在使用 pdflatex 排版一个大型文档(phdthesis),并且正在使用KOMAscript文档scrreprt类。

我很惊讶地看到一个标题 ( \subsubsection) 位于页面底部,而下面没有任何文字!这种风格真的很差,其他人似乎也遇到过这种情况(见在 LaTeX 中,如何让 \section{} 不出现在页面末尾?避免在章节/小节标题后立即分页),但在我的例子中,分页符直接位于标题之后 - 甚至没有附加两行文本...

这似乎与本章中的许多大浮点数有关,我想当文本完成并且编辑完成后,我必须手动调整它。

但是,我想知道是否pdflatex至少应该在日志文件中打印一个关于此的警告(我找不到任何与此相关的警告),如果觉得有必要做这样丑陋的事情......而且我使用-option \raggedbottom(因为我也遇到了大段落之间间距很大的问题),所以我希望这样可以避免这样的“孤儿”。

将惩罚设置为 1000 并没有改变任何事情:

\widowpenalty=1000
\clubpenalty=1000

----------编辑:

我现在知道它来自哪里,但不知道如何避免它:
我已经定义了一个命令,可以使用它快速fixme向文档添加注释,\N{Note}
它定义为\newcommand{\N}[1]{\fxfatal*[inline=true,nomargin]{/#1/}{}}

...我在有问题的部分命令之后直接使用了它,例如:

\subsubsection{Title of the section}
\N{note about what to change in that section later} And now starts the normal text of the section...

如果我将注释移到\N{...}另一个位置,例如,移到该部分的第一句话之后,分页符就会位于部分标题之前。

问题:我可以做些什么来重新定义 \N{} 命令以避免这种行为?


在这种情况下,构建一个最小的例子会很困难,所以我的问题是:
1) 为什么没有警告?2) 我认为一个孤独的标题比在底部有一些空白的页面更糟糕 - 我怎样才能让 pdflatex “知道”这一点?

随着时间的推移,我的序言变得相当复杂 - 我省略了所有“简单”的新命令等,只尝试保留可能干扰我的问题的内容:

\documentclass[11pt, a4paper,  
twoside, autooneside,
headinclude, footexclude, 
liststotoc, bibtotoc,
tablecaptionabove, noonelinecaption, headsepline, halfparskip 
]{scrreprt}

\usepackage{svn-multi}
\svnidlong
%(...)

\areaset[8mm]{15.5cm}{25.2cm} 

\setkomafont{sectioning}{\normalfont\normalcolor\bfseries} 
\addtokomafont{captionlabel}{\bfseries} 

\usepackage[UKenglish, ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[TS1, T1]{fontenc}
\usepackage{aecompl}
\usepackage[ngerman, iso]{isodate}
\isodate
\usepackage{datetime} 
\usepackage[version=3]{mhchem} 
\usepackage[caption=false, format=hang]{subfig} 
\usepackage{pdflscape} 
\usepackage[stable]{footmisc} 

\usepackage[automark]{scrpage2} 
\pagestyle{scrheadings}
\automark[section]{chapter}
\cfoot{\footnotesize Rev.~\svnrev{} (\svnfilerev) \\vom \svnyear-\svnmonth-\svnday \ \svnhour:\svnminute:\svnsecond} 
\ifoot{\footnotesize erstellt:\\\today{} \currenttime} 


\usepackage{hyperref} 
\usepackage[pdftex]{graphicx} 
\usepackage{color} 

\usepackage{amsmath} 
 \usepackage{amstext} 
\usepackage{amssymb} 


\usepackage{array} 
\usepackage{tabularx} 
\usepackage{longtable}
\usepackage{booktabs} 


\usepackage[numbers, sort&compress]{natbib} 
\usepackage[]{rotating} 
\usepackage{url} 
\usepackage[tight]{units} 

\usepackage[color]{showkeys} 
\renewcommand*\showkeyslabelformat[1]{\fbox{\normalfont\tiny\ttfamily#1}} 
\definecolor{refkey}{cmyk}{0.26,0,0.76,0}%{gray}{0.5} 
\definecolor{labelkey}{cmyk}{0.26,0,0.76,0}%{gray}{0.5}

\usepackage[draft]{fixme} 
\fxsetup{theme=color, inline, targetlayout=color, author=} 



\usepackage{paralist}

\deffootnote[1em]{1em}{1em} {\textsuperscript{\thefootnotemark} }


\setcapindent{1cm}

\makeatletter
\setlength{\@fptop}{0pt}
\makeatother

% Alter some LaTeX defaults for better treatment of figures:
%Quelle: http://mintaka.sdsu.edu/GF/bibliog/latex/floats.html
    % See p.105 of "TeX Unbound" for suggested values.
    % See pp. 199-200 of Lamport's "LaTeX" book for details.
    %   General parameters, for ALL pages:
    \renewcommand{\topfraction}{0.9}    % max fraction of floats at top
    \renewcommand{\bottomfraction}{0.8} % max fraction of floats at bottom
    %   Parameters for TEXT pages (not float pages):
    \setcounter{topnumber}{3}
    \setcounter{bottomnumber}{2}
    \setcounter{totalnumber}{4}     % 2 may work better
    \setcounter{dbltopnumber}{2}    % for 2-column pages
    \renewcommand{\dbltopfraction}{0.9} % fit big float above 2-col. text
    \renewcommand{\textfraction}{0.07}  % allow minimal text w. figs
    %   Parameters for FLOAT pages (not text pages):
    \renewcommand{\floatpagefraction}{0.8}  % require fuller float pages
    % N.B.: floatpagefraction MUST be less than topfraction !!
    \renewcommand{\dblfloatpagefraction}{0.8}   % require fuller float pages
    % remember to use [htp] or [htpb] for placement

答案1

如果您的文档中有分页符,则意味着您的代码中的某些内容允许或要求分页。那么 pdflatex 为什么要抱怨呢?它只是在执行您的代码。

上次我看到这个问题是因为章节标题中的颜色命令(但在新的 KOMA 版本中不应该发生这种情况)。因此,首先尝试从\setkomafont{sectioning}.

另一种可能性是标题后面的文本允许分页。例如,长表可能是一个问题。在这种情况下,包 needspace 可以提供帮助。

相关内容