Enumerate 是默认值吗?

Enumerate 是默认值吗?

我对 TeX 还比较陌生,我想知道为什么我可以在\begin{enumerate}不导入 article、beamer 和 letter 文档类的包的情况下使用。但大多数用户似乎添加了\usepackage{enumerate}。所以我想知道文档类是否会自动导入这些(以及其他包),如果是,我如何判断是否导入了包以避免冗余。

答案1

环境enumerate由 LaTeX 内核定义 - 加载在基本 TeX 之上(或附加在基本 TeX 之上)的一组宏。此内核收集在latex.ltx,这是的定义enumerate

4762: \def\enumerate{%
4763:  \ifnum \@enumdepth >\thr@@\@toodeep\else
4764:    \advance\@enumdepth\@ne
4765:    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
4766:      \expandafter
4767:      \list
4768:        \csname label\@enumctr\endcsname
4769:        {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
4770:  \fi}
4771: \let\endenumerate =\endlist

注意enumerate 环境使用其定义命令或者格式。也就是说,明确地定义\enumerate\endenumerate为具有\list特定属性的。

因此,无需加载enumerate包裹才能使用enumerate环境;包这样命名只是巧合。包为环境提供了一个可选参数(扩展),enumerate允许用户指定某些格式选项(无需经历虚拟重新定义enumerate工作方式的麻烦)。

如果你想知道哪些包被加载了(无论是通过文档类还是通过其他加载的包),请参阅找出使用了哪些包

答案2

欢迎访问 tex.stackexchange。

您上面提到的类不导入enumerate包。此包为您提供了一些工具,以便以所需的样式排版枚举环境的计数器。有关更多详细信息,请参阅包的手册。

作为第一个例子,您将在手册中看到以下示例:

\begin{enumerate}[EX i.]
    \item one one one one one one one
          one one one one\label{LA}
    \item two
    \begin{enumerate}[{example} a)]
        \item one of two one of two
              one of two\label{LB}
        \item two of two
    \end{enumerate}
\end{enumerate}

在此处输入图片描述

答案3

您不需要任何包来使用非常标准的 LaTeX 环境列表,即itemize项目符号、enumerate枚举项和description以粗体文本开头的项目,它们是更一般list环境的特殊情况。

如果人们不是那么挑剔和苛刻,这些默认环境在大多数情况下就足以制作任何列表,但是“这就是生活,我的朋友“,所以这个网站有很多关于的问题enumerateenumitem其他一些人轻松改变列表行为(如更改项目的标签、按相反顺序计数或每行运行多个项目等)

但是,至少在某种程度上,您也可以更改标准列表格式或创建自己的列表类型,而无需任何包。例如:

姆韦

\documentclass{article}
\begin{document}
\noindent Standard enumerated list: 
\begin{enumerate} 
\item Item one
\item Item two
\item Item three
\end{enumerate}
Modified enumerated list without packages:
\begin{enumerate}
\renewcommand{\labelenumi}{\alph{enumi})}
\renewcommand{\theenumi}{\Alph{enumi}}
\setlength\itemsep{-1ex}
\setlength\labelwidth{-1cm}
\setlength\labelsep{5ex}
\item Item one
\item Item two
\item Item three
\end{enumerate}
Custom enumerated list:
\newcounter{mycounter}
\begin{list}{\textcircled{\scriptsize\arabic{mycounter}}}%
{\usecounter{mycounter}
\setlength\itemsep{2ex}
\setlength\labelwidth{1em}
\setlength\labelsep{1em}
\setlength\leftmargin{0pt}}
\item Item one
\item Item two
\item Item three
\end{list}
\end{document}

答案4

出于完整性考虑,枚举环境在standalone文档类。此 MWE

\documentclass{standalone}
\begin{document}
\begin{enumerate}
\item foo
\end{enumerate}
\end{document}

产生一个奇怪的错误:

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.4 \item f
           oo

但是独立版更适合生成图表的文档,而不需要枚举。

相关内容