如何使用 Koma Script 将小节标题放在右(外)边缘?
我不想使用 titlesec 包。
尽管这是使用 titlesec 包的工作片段:
\usepackage[explicit]{titlesec}
\titleformat{\subsection}[runin]{\scshape}{}{\parindent}%
{\checkoddpage\marginnote{#1}[-\baselineskip]}[\leavevmode\hspace*{-\marginparsep}]
答案1
使用 KOMA-Script 3.19 或更新版本:
\RedeclareSectionCommand[
afterskip=-\parindent
]{subsection}
\setkomafont{subsection}{\normalfont\scshape}
\renewcommand{\sectioncatchphraseformat}[4]{%
\ifstr{#1}{subsection}
{\marginnote{#4}}
{\hskip #2#3#4}%
}
如果仅需对章节及更高级别进行编号,则必须将计数器设置secnumdepth
为\sectionnumdepth
:
\setcounter{secnumdepth}{\sectionnumdepth}
例子:
代码:
\documentclass{scrbook}[2016/10/03]% needs version 3.19 or newer
\usepackage{lipsum}
\usepackage{marginnote}
\RedeclareSectionCommand[
afterskip=-\parindent
]{subsection}
\setkomafont{subsection}{\normalfont\scshape}
\renewcommand{\sectioncatchphraseformat}[4]{%
\ifstr{#1}{subsection}
{\marginnote{#4}}
{\hskip #2#3#4}%
}
\setcounter{secnumdepth}{\sectionnumdepth}
\begin{document}
\chapter{Chapter One}
\section{Section One}
\subsection{Subsection One}
\lipsum
\subsection{Longer Title for Subsection Two}
\lipsum
\subsection{Subsection Three}
\lipsum
\end{document}