我想在字母中使用分段(section
、subsection
等),但是这里我读到,基本上所有这些分段命令都不适用于字母。在字母中创建分段的正确方法是什么?
使用:documentclass[stdletter]{newlfm}
答案1
这里有一个可能的解决方案,使用 kernel 命令\@startsection
(你可以在在哪里可以找到类似 LaTeX 的 \@startsection 命令的帮助文件或文档?) 重新定义\section
命令(该类newlfm
提供了一个非常基本的\section
命令)并定义\subsection
命令的行为与 中的命令相同article.cls
。基本上,您所要做的就是定义计数器并使用\@startsection
适当的设置。一个简单的例子:
\documentclass[stdletter]{newlfm}
\newcounter{section}
\newcounter{subsection}[section]
\setcounter{secnumdepth}{3}
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\bfseries}}
\renewcommand \thesection{\@arabic\c@section}
\renewcommand\thesubsection{\thesection.\@arabic\c@subsection}
\makeatother
\begin{document}
\section{Test Section One}
\subsection{Test Subsection One One}
\subsection{Test Subsection One Two}
\section{Test Section Two}
\subsection{Test Subsection Two One}
\subsection{Test Subsection Two Two}
\end{document}
以前的解决方案没有为目录做出规定,但这也非常简单:所有要做的就是定义\tableofcontents
使用\@starttoc
和定义\l@section
,\l@subsection
以排版相应的条目。
答案2
您已经接受了一个答案,但我给您另一个选择:
您可以scrlttr2
使用KOMAscript 包,并且通过加载字母类选项文件,,section.lco
您将拥有分段命令。 可以通过标准命令修改各节的外观komascript
。 .LCO 还处理带有星号 ( 的节\section*{Test}
。section.lco
为您提供了四个级别的标题。
您可以下载section.lco
来自KOMAscript的主页。输入section.lco
您的local-texmf
,并记得更新文件数据库。
MWE:
\documentclass[UKenglish]{scrlttr2}
\usepackage{babel,blindtext}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\LoadLetterOption{sections}
\begin{document}
\begin{letter}{Name of Recipient \\ Address \\ of \\ Recipient}
\setkomavar{subject}{This is a strict formal letter}
\opening{} % eg. Hello
\section{Section one}
\blindtext
\subsection{Subsection also}
\blindtext
\section{Section two}
\blindtext
\closing{Kind regards} %eg. Regards
\end{letter}
\end{document}