我正在使用文档类scrreprt
来设置章节序言(使用\setchapterpreamble{}
)以及章节起始页上的页眉。除非我abstract
在章节序言中引入环境,否则这通常可以正常工作。在这种情况下,章节起始页上不会生成任何页眉,也不会报告任何错误。其他页面上的页眉生成正常。MWE 重现了该问题:
\documentclass[twocolumn,twoside,abstract=on]{scrreprt}
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\newpairofpagestyles[scrheadings]{test999}{
\KOMAoptions{headsepline=on}
\KOMAoptions{plainheadsepline=on}
\lehead[plain.LEFT]{LEFT}
\rehead[plain.RIGHT]{RIGHT}
\lohead[plain.LEFT]{LEFT}
\rohead[plain.RIGHT]{RIGHT}
\cefoot{\pagemark} \cofoot{\pagemark}
}
\pagestyle{test999}
\renewcommand*\chapterpagestyle{plain.test999}
\usepackage{fontspec}
\usepackage{lipsum}
\begin{document}
\setchapterpreamble{\begin{abstract} \lipsum[1] \end{abstract}}
\chapter{one}
\section{one.one}
\lipsum
\end{document}
替换或删除abstract
上述代码中章节序言中的环境会导致在章节开始页上正确生成标题。
我可以使用quote
环境来暂时解决这个问题,但我更喜欢使用环境,因此如果能提供长期解决方案,我将非常感激abstract
。
答案1
如果您定义一个新环境,效果会更好。默认情况下scrreprt
使用选项。使用此选项,环境将执行包括... 如果您设置选项,则抽象的布局会发生变化。titlepage=on
abstract
\titlepage
\thispagestyle{empty}
titlepage=off
虽然你可以通过以下方式解决问题
\newcommand*{\originaltitlepage}{}
\let\originaltitlepage\titlepage
\renewcommand\titlepage{\originaltitlepage\thispagestyle{plain}}
或者
\begin{abstract}\thispagestyle{plain} \lipsum[1] \end{abstract}
这仍然是对环境的滥用abstract
。
题外话:\pagestyle{test999}
样式名称后面headings
是 的别名test999
,plain
是 的别名plain.test999
。如果您不想将plain.test999
用作章节页面样式与其他页面样式组合使用,则无需重新定义\chapterpagestyle
。示例:
\documentclass[twocolumn,twoside,abstract=on]{scrreprt}
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\newpairofpagestyles[scrheadings]{test999}{
\KOMAoptions{headsepline=on}
\KOMAoptions{plainheadsepline=on}
\lehead[plain.LEFT]{LEFT}
\rehead[plain.RIGHT]{RIGHT}
\lohead[plain.LEFT]{LEFT}
\rohead[plain.RIGHT]{RIGHT}
\cefoot{\pagemark} \cofoot{\pagemark}
}
\pagestyle{test999}
\usepackage{fontspec}
\usepackage{lipsum}
\begin{document}
%\setchapterpreamble{\begin{abstract}\thispagestyle{plain} \lipsum[1] \end{abstract}}
\chapter{one}
\section{one.one}
\lipsum
\end{document}