scrbook
让我们通过设置来创建一个在课堂上(例如科学工作)制作的单面(!)文档\documentclass[twoside=false]{scrbook}
。
最低工作示例:
\documentclass[twoside=false]{scrbook}
\usepackage{blindtext}
\begin{document}
\blinddocument
\end{document}
初始状态截图
因此,该章节将被放置在头部的中间(在非纯文本页面上)。
期望的最终状态的屏幕截图
但是现在如何才能将章节名称放在左边缘,将节名称放在右边缘呢?
在双面布局中,只需输入以下内容即可非常简单......
\automark[section]{chapter} % chapter in \leftmark; section in \rightmark
\lehead[]{\leftmark}{\leftmark} % \leftmark placed in even-side left-edges
\rohead{\rightmark} % \rightmark placed in odd-side right-edges
... 进入序言。但是它如何适用于单面文件(带有声明twoside=false
)?
众所周知,像...这样的热门 KOMA 课程
\lehead[content plain.scrheadings]{content scrheadings} \rehead[content plain.scrheadings]{content scrheadings}
... 仅在双面布局中才能正常工作。
非常感谢您的帮助,我对您的解决方案很好奇!:-)
答案1
如果要在单面文档中使用和,则\leftmark
必须设置选项\rightmark
scrlayer-scrpage
autooneside=false
\documentclass[twoside=false]{scrbook}
\usepackage{blindtext}
\usepackage[
automark,
autooneside=false % <-
]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\leftmark}
\ohead{\rightmark}
\cfoot*{\pagemark}
\begin{document}
\blinddocument
\end{document}
请注意,选项的automark
作用与相同,\automark[section]{chapter}
并且\cfoot*{\pagemark}
是的简短版本\cfoot[\pagemark]{\pagemark}
。
更新
为了避免左右标题中的条目相同,您可以将定义更改\ohead
为
\ohead{\ifstr{\rightmark}{\leftmark}{}{\rightmark}}
代码:
\documentclass[twoside=false]{scrbook}
\usepackage{blindtext}
\usepackage[
automark,
autooneside=false
]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\leftmark}
\ohead{\ifstr{\rightmark}{\leftmark}{}{\rightmark}}
\cfoot*{\pagemark}
\begin{document}
\blinddocument
\chapter{Chapter}
\Blindtext
\end{document}