![使用子文件包时,带有 scrpage2 的页眉在“最后一页”上消失](https://linux22.com/image/276974/%E4%BD%BF%E7%94%A8%E5%AD%90%E6%96%87%E4%BB%B6%E5%8C%85%E6%97%B6%EF%BC%8C%E5%B8%A6%E6%9C%89%20scrpage2%20%E7%9A%84%E9%A1%B5%E7%9C%89%E5%9C%A8%E2%80%9C%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B5%E2%80%9D%E4%B8%8A%E6%B6%88%E5%A4%B1.png)
当我将两个或多个 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.tex
和test2.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