为什么这个枚举列表中数字后面没有点?

为什么这个枚举列表中数字后面没有点?

我一直使用乳胶来撰写论文和文件,但我并不是模板和样式方面的专家。

我现在正在处理一个文档,使用的是同事提供的模板。不幸的是,当我使用时,\begin{enumerate}生成的列表包含后面没有点的数字(例如,我看到的是1而不是1.)。

我尝试查看文件cls并发现了以下代码,但我无法修复它。

%% Redefine enumerate environment for closer spacing
\renewenvironment{enumerate}%
{\begin{list}{\arabic{enumi}}%
      {\setlength{\leftmargin}{2.5em}%
       \setlength{\itemsep}{-\parsep}%
       \setlength{\topsep}{-\parskip}%%
       \usecounter{enumi}}%
 }{\end{list}}

我该如何修复它?

答案1

要回答上述问题,我们只需要在后面加一个点\arabic{enumi}

%% Redefine enumerate environment for closer spacing
\renewenvironment{enumerate}%
{\begin{list}{\arabic{enumi}.}% <------ dot here
      {\setlength{\leftmargin}{2.5em}%
       \setlength{\itemsep}{-\parsep}%
       \setlength{\topsep}{-\parskip}%%
       \usecounter{enumi}}%
 }{\end{list}}

使用该enumitem包可以编写:

\begin{enumerate}[label=\arabic{*}.,topsep=-\parskip,itemsep=-\parsep,leftmargin=2.5em]
\item 
\end{enumerate}

这也产生了相同的结果。

答案2

环境的第一个参数list指示打印的计数器。source2e(第 273 页)给出了如下定义:

\list{<LABEL>}{<COMMANDS>} ... \endlist

其中<LABEL>设置为\@itemlabel- 每次 时打印的计数器\item。将其修改为 会\arabic{enumi}.在数字后插入句点。

您还可以使用以下方法获得相同的结果enumitem包裹

在此处输入图片描述

\documentclass{article}
%% Redefine enumerate environment for closer spacing
\renewenvironment{enumerate}%
{\begin{list}{\arabic{enumi}.}%
      {\setlength{\leftmargin}{2.5em}%
       \setlength{\itemsep}{-\parsep}%
       \setlength{\topsep}{-\parskip}%%
       \usecounter{enumi}}%
 }{\end{list}}
\newsavebox{\mybox}
\begin{lrbox}{\mybox}
\noindent\begin{minipage}{\linewidth}
\begin{enumerate}
  \item An item
  \item An item
  \item An item
\end{enumerate}
\end{minipage}
\end{lrbox}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\noindent\usebox{\mybox}% Original

\bigskip

% With enumitem
\begin{enumerate}[topsep=-\parskip,itemsep=-\parsep,leftmargin=2.5em,label=\arabic*.]
  \item An item
  \item An item
  \item An item
\end{enumerate}
\end{document}

当然,后者的优势在于能够以一致而又灵活的方式在本地(或全局)管理列表。

相关内容