我需要排版一本书,其中的各个章节由字符串标识,例如“PLA 1”,如该书的编辑所规定(出版商将这些字符串称为“cite-keys”。)
有时,一本书的版面会包含几个章节,这意味着几个引用关键词。
- 这些引用关键字需要打印在外边缘,与章节位于同一行。
- 此外,左页的第一个当前引用键必须打印在偶数页的页眉中。
- 出现在右页的最后一个当前引用键必须位于奇数页的运行页眉中。
如何在页眉和页边距中打印这些特殊字符串?
我曾想过使用\label{SCA 1}
,但后来我意识到\labels
实际上是计数器。
我尝试使用\marks
(与emarks
包一起),但我不明白。
正在进行的 MWE:
\documentclass{scrbook}
\usepackage{lipsum}
\documentclass{scrbook}
\usepackage{lipsum}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\ihead[]{}
\chead[]{\pagemark}
\ohead[\headmark]{\headmark}
\begin{document}
\section*{Section title}\label{PLA 1}
\lipsum[1]
Label string should be here \nameref{PLA 1}
\end{document}
我需要使用 Koma 类。我看到有人在某处使用fancyhdr
或 titlesec
,但 Koma 手册建议不要使用其中任何一个或它们(例如,该titlesec
包会干扰选项headings=optiontotoc)。
我看到了几个问题的答案http://tex.stackexchange.com,但没有一个能给我足够的指引来帮助我入门。
答案1
这是使用包的建议scrlayer-scrpage
\documentclass{scrbook}
\usepackage{lipsum}% dummy text
\usepackage{needspace}
\usepackage[manualmark]{scrlayer-scrpage}
\clearpairofpagestyles
%%% alternatively:
%\usepackage[manualmark]{scrpage2}
%\clearscrheadfoot
%\pagestyle{scrheadings}
\chead{\pagemark}
\lehead*{\rightmark}\rohead*{\leftmark}
\renewcommand\chaptermark[1]{\markboth{}{}}
\newcommand\myaddsec[2]{%
\needspace{3\baselineskip}%
\addsec[#1]{#1\markboth{#2}{#2}\marginpar[\raggedright#2]{\raggedleft#2}}%
}
\begin{document}
\tableofcontents
\chapter{Chapter Title}
\myaddsec{Section title}{PLA1}
\lipsum[1]
\myaddsec{Section title}{PLA2}
\lipsum[1-3]
\myaddsec{Section title}{PLA3}
\lipsum[1]
\myaddsec{Section title}{PLA4}
\lipsum[1-5]
\myaddsec{Section title}{PLA5}
\lipsum[1]
\myaddsec{Section title}{PLA6}
\lipsum[1-2]
Label string should be here
\end{document}
结果