如何使用 scrlayer-scrpage 包在 scrbook 类中获取自定义跑脚?

如何使用 scrlayer-scrpage 包在 scrbook 类中获取自定义跑脚?

我正在写一本书,书的标题是空的,所有信息都是脚注。我正在使用这个scrbook类来完成这项工作。

因此,在页脚的外侧我写了页码,在左页(背面)写了书名,在右页(正面)写了所在章节的名称。

我认为我可以使用该scrlayer-scrpage包来做到这一点,但我对几个问题感到困惑。

我知道我可以用来\ofoot{\pagemark}将页码放置在适当位置,但如果我使用,\cfoot我就无法区分奇数页的内容和偶数页。

我在这里查看了几个类似的问题,例如,我对 情况下选项的使用感到困惑。我想我理解和\ofoot的用法,但不明白。我也不清楚什么时候使用 比较方便。\chaptermark\sectionmark\headmark\clearpairofpagestyles

我的 MWE 可能是这样的:

\documentclass{scrbook}    
\usepackage[automark]{scrlayer-scrpage} 
\automark{section}
\clearpairofpagestyles 
\ofoot{\pagemark} 
\lcfoot{Book Title}
\rcfoot{\sectionmark} 
\usepackage{lipsum}

\title{Book Title}

\begin{document} 
\maketitle 
\chapter{First chapter} 
\lipsum[1-5]
\section{A section} 
\lipsum[1-20] 
\section{Another section}
\lipsum[1-20] 
\section{Another} 
\lipsum[11-15] 
\end{document}

答案1

\clearpairofpagestylesscrheadings删除 pagestyle和的预定义内容plain.scrheadings。还有命令\clearmainofpairofpagestyles和分别\clearplainofpairofpagestyles用于清除scrheadingsplain.scrheadings

请注意,包scrlayer-scrplainpagestlyeheadings是 的别名scrheadings,也是plain的别名plain.scrheadings

双面文档:奇数页\headmark使用,偶数页使用。选项与 相同。然后新章节设置左侧标记并清除右侧标记。新章节设置右侧标记。\rightmark\leftmarkautomark\automark[section]{chapter}

单面文档:只有正面(奇数)页。\headmark使用\rightmark。选项automark与 相同\automark{chapter}。然后新章节设置左侧和右侧标记。 的可选参数\automark将被忽略,直到您设置autooneside=false

要将内容设置在页脚的中心,您可以使用:

  • \cfoot{<content for scrheadings>}
  • \cfoot[<content for plain>]{<content for scrheadings>}
  • \cfoot*{<content for both plain and scrheadings>}
  • \cefoot{<content for scrheadings on even pages>}
  • \cofoot{<content for scrheadings on odd pages>}
  • \cefoot[...]{...}\cofoot[...]{...}
  • \cefoot*{...}\cofoot*{...}

请注意,章节页面plain默认使用这些页面样式。可以通过重新定义来更改\chapterpagestyle


关于你的例子:

如果书名应该位于所有奇数页(包括章节页)页脚的中心,则使用

\cofoot*{Book Title}

如果章节应该位于偶数页页脚的中心,请使用

\cefoot{\headmark}% or \leftmark

如果该部分应该位于偶数页页脚的中心,请使用

\cefoot{\rightmark}

页脚中包含章节的示例:

\documentclass{scrbook}
\usepackage[automark]{scrlayer-scrpage}
\clearpairofpagestyles 
\ofoot*{\pagemark}
\cofoot*{Book Title}
\cefoot{\headmark}% or \leftmark
\usepackage{lipsum}

\title{Book Title}
\author{Book Author}
\begin{document} 
\maketitle 
\chapter{First chapter} 
\lipsum[1-5]
\section{A section} 
\lipsum[1-20] 
\section{Another section}
\lipsum[1-20] 
\section{Another} 
\lipsum[11-15] 
\end{document}

\chaptermark\sectionmark\chapter\section调用,根据选项automark或命令设置左和右标记\automark。可以使用manualmark或禁用此功能\manualmark

如果使用\automark{section}新的部分,则设置左标记和右标记,而章节则不设置任何标记。

因此,以下示例\headmark将打印页脚中的部分:

\documentclass{scrbook}
\usepackage{scrlayer-scrpage}
\automark{section}
\clearpairofpagestyles 
\ofoot*{\pagemark}
\cofoot*{Book Title}
\cefoot{\headmark}% or \leftmark
\usepackage{lipsum}

\title{Book Title}
\author{Book Author}
\begin{document} 
\maketitle 
\chapter{First chapter} 
\lipsum[1-5]
\section{A section} 
\lipsum[1-20] 
\section{Another section}
\lipsum[1-20] 
\section{Another} 
\lipsum[11-15] 
\end{document}

答案2

为何以及何时\clearpairofpagestyles

scrlayer-scrpage定义两个新的页面样式scrheadingsplain.scrheadings。它们一起构成了一对页面样式,类似于大多数类中的headings和。和都预定义了页码()。还预定义了运行头元素()。这些元素的放置位置取决于和是否或布局。的默认值取决于是否使用 KOMA-Script 类。有关页面样式的和默认值的更多信息,请参阅手册。plainscrheadingsplain.scrheadings\pagemarkscrheadings\headmarkpagestylesetonesidetwosidepagestylesetpagestyleset

如果你只想移动,例如,页码从,例如,外脚双面scrbook文档的元素,中脚元素,你可以使用

\ofoot*{}% or \ofoot[]{}
\cfoot*{\pagemark}% or \cfoot[\pagemark]{\pagemark}

第一行定义外脚元素既不包含scrheadings,也不包含plain.scrheadings。第二行定义了中脚scrheadings和的元素plain.scrheadings均为\pagemark页码元素。如果省略第一行,您仍会在中脚元素,但页码在外脚元素仍会存在。

如果要scrheadings从头开始定义,可以先清理它,使用 将所有元素定义为空\clearmainofpairofpagestyles。这定义为\ihead{}\chead{}\ohead{}\ifoot{}\cfoot{}\ofoot{}

如果要plain.scrheadings从头开始定义,可以使用 将所有元素定义为空来清理它\clearplainofpairofpagestyles。此命令不能用等替换\ihead。因为不能在没有主页面样式的情况下\ihead用于重新定义页面样式。plain

如果您想定义plain.scrheadingsscrheadings从头开始使用\clearpairofpagestyles。它与 相同\ihead[]{}\chead[]{}\ohead[]{}\ifoot[]{}\cfoot[]{}\ofoot[]{}

名称\clearmainofpairofpagestyles\clearplainofpairofpagestyles\clearpairofpagestyles在某种程度上是通用的,而不是特定于scrheadings和 的plain.scrheadings,因为scrlayer-scrpage可用于定义其他对。在这种情况下,命令与当前对相关,而不是与对scrheadings+相关plain.scrheadingsscrheadings+plain.scrheadings只是默认对。

什么是\ifoot\cfoot\ofoot

\ifoot[foo]{bar}\refoot[foo]{bar}\lofoot[foo]{bar}. 的快捷方式\ifoot脚内侧元素。\refoot手段右脚元素甚至页数。\lofoot意思是左脚元素奇怪的页。只有双面文档才区分偶数页和奇数页。单面文档只有奇数页。

\cfoot[foo]{bar}是 的快捷方式\cefoot[foo]{bar}\cofoot[foo]{bar}。它定义了偶数页和奇数页的中心页脚元素。因此,如果要区分奇数页和偶数页的中心页脚元素,可以使用\cefoot\cofoot

\ofoot[foo]{bar}是 的快捷方式\lefoot[foo]{bar}\rofoot[foo]{bar}

KOMA-Script 手册中有一张图片可以直观地了解这些命令的含义:

来自 scrguien

什么是\headmark

\headmark\rightmark在奇数页还是\leftmark在偶数页。没有什么神奇之处。它使放置页眉(例如,在外边距)变得更容易,因为您只需使用\ohead{\headmark}而不是即可\lehead{\leftmark}\rohead{\rightmark}

LaTeX 通过一对标记来处理运行头。设置它们的低级命令是\markboth{left mark}{right mark}\markright{right mark}\leftmark\rightmark用于获取这些标记。通常书籍和报告类使用\chaptermark{…}\sectionmark{…}headings标题命令\chapter和内的页面样式自动设置这些标记\sectionscrlayer-scrpage扩展它,例如通过命令\markleft和通过\automark\automark用于重新定义\partmark、等\chaptermark,以将自动运行头添加到给定级别。有关和其他命令的\sectionmark更多信息,请参阅 KOMA-Script 手册。\automark

目前没有类似的东西\titlemark{…},也没有title元素\automark。因此,标题不能用作自动运行头元素。您必须将其设置为静态或手动元素。在您的示例中,您尝试使用静态元素,我也将在最后一节中这样做。

最终的

\documentclass{scrbook}    
\usepackage{scrlayer-scrpage} 
\automark[chapter]{chapter}
\clearpairofpagestyles 
\ofoot*{\pagemark}% pagemark at outer foot element of plain.scrheadings and scrheadings 
\cefoot{Book Title}% book title at centre foot element of scrheadings on even pages
\cofoot{\headmark}% head mark at centre foot element of scrheadings on odd pages
\usepackage{lipsum}

\title{Book Title}

\begin{document} 
\maketitle 
\chapter{First chapter} 
\lipsum[1-5]
\section{A section} 
\lipsum[1-20] 
\section{Another section}
\lipsum[1-20] 
\section{Another} 
\lipsum[11-15] 
\end{document}

会产生:

在此处输入图片描述

但在章节的第一页plain.scrheadings使用了页面样式,因此中脚元素将为空。如果您也想将章节添加到其中,则必须替换

\cofoot{\headmark}

经过

\cofoot*{\headmark}

或相等

\cofoot[\headmark]{\headmark}

这也会将标记添加到纯色页面样式中plain.scrheadings。如果您不想在所有纯色页面上添加标记,而是在章节页面上添加标记,则可以使用

\renewcommand*{\chapterpagestyle}{headings}

表示scrreprt必须使用headings页面样式而不是plain章节页面的页面样式。注意:如果使用scrlayer-scrpage页面headings样式,则页面样式是当前页面样式对的主页面样式。默认情况下,这是scrheadings

您也\headmark可以使用上面示例中的\leftmark或,因为我已经使用它们来制作章节标题。\rightmark\automark[chapter]{chapter}

相关内容