边缘处的小节标题采用 Koma Script

边缘处的小节标题采用 Koma Script

如何使用 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}

相关内容