使用 scrlayer-scrpage 的双面文档中纯页面样式存在问题

使用 scrlayer-scrpage 的双面文档中纯页面样式存在问题

我正在尝试使用scrlayer-scrpage该类处理双面文档scrartcl,但不知何故无法以plain与样式相似的方式格式化页面样式scrheadings。我准备了以下 MWE – 提前致谢!

\documentclass[12,a4paper,twoside]{scrartcl}
\usepackage[automark,headsepline,footsepline,markcase=nouppercase]{scrlayer-scrpage}
\renewcommand*{\sectionmarkformat}{}
\renewcommand*{\subsectionmarkformat}{}
\renewcommand*{\headfont}{\normalfont}
\automark[subsection]{section}
\chead{\leftmark}
\cfoot{\pagemark}
\ihead{}
\ohead{}
\ifoot{}
\ofoot{}

\begin{document}

\pagestyle{scrheadings}

\section{Blah.}

Blah.

\newpage

\section{Blah.}

Blah.

\newpage

\pagestyle{plain.scrheadings}


\section{Blah.}

Blah.

\newpage

\section{Blah.}

Blah.

\end{document}

答案1

要格式化plain页面样式,请使用可选参数\cfootetc:

\cfoot[<settings for plain>]{<settings for scrheadings>}

如果两个参数相等,则可以使用简短的星号版本:

\cfoot*{<settings for plain and scrheadings>}

如果plain样式也应该使用线条,请将plainheadsepline和/或添加plainfootsepline到的包选项中scrlayer-scrpage

\documentclass[12,a4paper,twoside]{scrartcl}
\usepackage[
  automark,
  headsepline,
  plainheadsepline,
  footsepline,
  plainfootsepline,
  markcase=nouppercase
]{scrlayer-scrpage}

\renewcommand*{\sectionmarkformat}{}
\renewcommand*{\subsectionmarkformat}{}
\setkomafont{pagehead}{\normalfont}

\clearpairofpagestyles
\chead*{\leftmark}
\cfoot*{\pagemark}

\usepackage{blindtext}% dummy text
\begin{document}
\pagestyle{scrheadings}
\blinddocument

\clearpage
\pagestyle{plain}
\blinddocument
\end{document}

补充说明:

  • 选项所做的操作与班级不知道章节时automark相同。\automark[subsection]{section}
  • 如果偶数页的页眉中应该有部分,并且可以使用子部分\chead{\headmark}
  • 要设置页眉的字体,请使用\setkomafont{pagehead}{<font settings>}
  • 使用包scrlayer-scrpagepagestyleplain重新定义为 pagestyle 的别名plain.scrheadings

相关内容