小节编号:仅使用字母

小节编号:仅使用字母

我必须按如下方式格式化章节和小节编号:

(我使用article类。)

I. Section
A. Subsection
B. Subsection

II. Section
A. Subsection
B. Subsection

我使用包sectsty。目前,代码如下:

\usepackage{sectsty}
\sectionfont{\normalfont\centering\scshape}
\subsectionfont{\normalfont\itshape}
\renewcommand\thesection{\Roman{section}}
\renewcommand\thesubsection{\thesection.\Alph{subsection}}

但如果我这么做,我会得到:

I Section
I.A Subsection

ETC。

如何去掉小节编号中的罗马数字,以及如何添加尾随的点?

答案1

你问,

如何删除小节中的罗马数字?

你很接近了。只需改变

\renewcommand\thesubsection{\thesection.\Alph{subsection}}

\renewcommand\thesubsection{\Alph{subsection}}

即省略\thesection.扩展为 的前缀\Roman{section}.

另外:请注意,编号问题与包的使用或不使用无关sectsty


附录I:为了在、等上添加“点”(又称句号、句号)A,我建议您在序言中添加以下代码:

% Method proposed in "The LaTeX Companion", 2nd ed.:
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
   {\csname the#1\endcsname\space}%    default
   {\csname #1@cntformat\endcsname}}%  enable individual control
\newcommand\section@cntformat{\thesection.\space}       % section level
\newcommand\subsection@cntformat{\thesubsection.\space} % subsection level
\makeatother

这种看起来有些复杂的方法保留了创建章节和小节交叉引用的能力,而不会在交叉引用中突然出现令人讨厌的点。(如果一个人天真地设置而不是\renewcommand\thesection{\Roman{section}.}只设置当前的,就会发生这种情况\renewcommand\thesection{\Roman{section}}。)


以下是 MWE(最小工作示例)的输出:

在此处输入图片描述

\documentclass{article}
\usepackage{sectsty}
\sectionfont{\normalfont\centering\scshape}
\subsectionfont{\normalfont\itshape}

\renewcommand\thesection{\Roman{section}}
\renewcommand\thesubsection{\Alph{subsection}}

% Method proposed in "The LaTeX Companion", 2nd ed.:
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
   {\csname the#1\endcsname\space}%    default
   {\csname #1@cntformat\endcsname}}%  individual control
\newcommand\section@cntformat{\thesection.\space}       % section level
\newcommand\subsection@cntformat{\thesubsection.\space} % subsection level
\makeatother

\begin{document}
\section{Section}
\subsection{First Subsection}
\subsection{Second Subsection}
\end{document}

相关内容