![什么原因导致了枚举环境的这种奇怪行为?](https://linux22.com/image/378323/%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E4%BA%86%E6%9E%9A%E4%B8%BE%E7%8E%AF%E5%A2%83%E7%9A%84%E8%BF%99%E7%A7%8D%E5%A5%87%E6%80%AA%E8%A1%8C%E4%B8%BA%EF%BC%9F.png)
我正在使用枚举环境,但发生了一些奇怪的事情。以下是导致奇怪行为的 LaTeX 代码行:
\begin{enumerate}[{\bf Some List \#1:\ }]
这样,生成的列表就有以下形式的标题:
一些 L1st #1:等等等等等等
一些 L2st #2:等等等等等等
我最终纠正这个问题的方法是修改那一行特定的内容如下:
\begin{enumerate}[{\bf {Some List} \#1:\ }]
因此,我的问题有点学术性,因为我有一个解决方案。我只是不知道为什么会发生这种情况,也不知道为什么这个解决方案有效。提出这个问题的另一个原因是,虽然对我来说答案有点学术性,但对这个问题的讨论可能会对其他人有所帮助。最后,提出这个问题的一个原因是,虽然这种奇怪的行为令人困惑,但我对它的发现和我的解决办法都让我发笑,我认为我没有权利剥夺别人的欢乐时刻。:)
答案1
您获得的输出基本上是随机的。
\documentclass{article}
\usepackage{enumerate}
\begin{document}
Wrong:
\begin{enumerate}[{\bf Some List \#1:\ }]
\item A
\item B
\end{enumerate}
Right:
\begin{enumerate}[\bfseries Some {List} \#1:\ ]
\item A
\item B
\end{enumerate}
\end{document}
另一方面,enumitem
封装更加简单:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=\bfseries Some List \#\arabic*:]
\item A
\item B
\end{enumerate}
\end{document}
请注意,这\bf
已经过时二十多年了。
答案2
请注意,\bf
不应在乳胶中使用。
enumerate
尽管您没有说,但您大概正在使用该包。
enumerate
在该包定义的可选参数中i
触发使用罗马数字,因此
\documentclass{article}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}[{List}]
\item zzzz
\item zzzz
\end{enumerate}
\end{document}
生成 List、Liist
但你也可以1
选择重新定义计数器以使用 1,2
\begin{enumerate}[{List 1}]
产生 L1st 1、L2st 2。
通常{}
会隐藏特殊标记,但低级 tex 解析规则意味着{}
整个可选参数组将被删除。