我正在尝试找到一种方法,以便在使用\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}