Scrbook 中的章节编号以首字下沉形式显示

Scrbook 中的章节编号以首字下沉形式显示

我正在尝试找到一种方法,以便在使用\section它时将节号排版为首字下沉。我可以使用自定义宏来执行此操作,如下面的 MWE 所示,但我尝试使用内置的 KOMA 脚本自定义机制来完成此操作。但我似乎无法弄清楚如何做到这一点,我尝试过的每种方法(使用 sectionformat 并\lettrine在其中放置调用)都会产生错误和无效文档。

我是否让这件事变得比实际更困难了?我应该使用自己的\sec宏来实现这一点吗?我打算使用连续标题,除了\refstepcounter{section}宏之外,我是否还需要执行其他操作才能使连续标题正常工作?

非常感谢您的任何意见。

梅威瑟:

\documentclass[%
fontsize=8pt,
letterpaper,
twoside,
draft,
BCOR=1in,
DIV=13,
parskip=half-,
]{scrbook}

\usepackage{lipsum}
\usepackage{lettrine}
\usepackage{multicol}

\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\sec}{\refstepcounter{section}\lettrine[lines=3,findent=1ex,lraise=0.20,grid=true,]{\thesection}{}}


\begin{document}
\chapter{First}

\begin{multicols}{2}
\sec{}
\lipsum[1-2]
\section{}
\lipsum[4-7]
\end{multicols}
\end{document}

答案1

我会定义一个新命令,而不是重新定义数学运算符\sec。此外,它实际上不是一个部分,所以我会使用不同的计数器。如果要在运行头中使用,则必须设置\markright

\documentclass[%
fontsize=8pt,
letterpaper,
twoside,
draft,
BCOR=1in,
DIV=13,
parskip=half-,
]{scrbook}

\usepackage{lipsum}
\usepackage{lettrine}
\usepackage{multicol}

\newcounter{dcsec}[chapter]
\newcommand{\dcsec}{%
    \par
    \refstepcounter{dcsec}
    \markright{Number \thedcsec}
    \lettrine[lines=3,findent=1ex,lraise=0.20,grid=true,]{\thedcsec}{ }%
    \ignorespaces
}

\begin{document}
\chapter{First}

\begin{multicols}{2}
\dcsec
\lipsum[1-2]
\dcsec
\lipsum[4-30]
\end{multicols}

\chapter{Second}
\begin{multicols}{2}
\dcsec
\lipsum[1-2]
\dcsec
\lipsum[4-30]
\end{multicols}
\end{document}

相关内容