使用子文件包时,带有 scrpage2 的页眉在“最后一页”上消失

使用子文件包时,带有 scrpage2 的页眉在“最后一页”上消失

当我将两个或多个 TeX 文件放在一起时subfiles软件包中,包含文件的最后几页的页眉消失了。这是为什么?

文件Root.tex

 \documentclass[a4paper]{scrartcl}
 \usepackage{subfiles}
 \usepackage{scrpage2}
 \usepackage[ngerman]{babel}
 \usepackage{blindtext}

 \clearscrheadfoot
 \pagestyle{scrheadings}

 \begin{document}
   \subfile{test1.tex}\newpage
   \subfile{test2.tex}
 \end{document}

使用的子文件具有相同的内容,并且名为test1.textest2.tex

 \documentclass[Root.tex]{subfiles}
 \clearscrheadfoot
 \chead[Test]{Test}

 \begin{document}
   \Blindtext
   \Blindtext
 \end{document}

答案1

由于这里没有人回答,所以我在 komascript.de 上询问了 Markus Kohm(德语:“用 scrpage2 和子文件打包成文件”)。

据我了解,将其保持在本地,\clearpage在每个子文件末尾插入一个将解决问题。

他还提到了一个全局解决方案,即以下代码(插入根序言中):

\makeatletter
\renewcommand{\skip@preamble}{%
  \expandafter\def\expandafter\document\expandafter{%
    \expandafter\endgroup
    \expandafter\def\expandafter\document\expandafter{\document}%
  }%
  \expandafter\def\expandafter\enddocument\expandafter{%
    \expandafter\endinput
    \expandafter\def\expandafter\enddocument\expandafter{\enddocument}%
    \begingroup
    \edef\@currenvir{document}%
  }%
  \renewcommand{\documentclass}[2][subfiles]{}%
}
\renewcommand*{\subfile}[1]{\skip@preamble\input{#1}}
\makeatother

相关内容