我一直使用乳胶来撰写论文和文件,但我并不是模板和样式方面的专家。
我现在正在处理一个文档,使用的是同事提供的模板。不幸的是,当我使用时,\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}
当然,后者的优势在于能够以一致而又灵活的方式在本地(或全局)管理列表。