![`\item[0.]\label{fst}` 则 `\ref{fst}` 给出 `1.2` 而不是 `0`;如何正确标记 `enumerate` 块项?](https://linux22.com/image/474123/%60%5Citem%5B0.%5D%5Clabel%7Bfst%7D%60%20%E5%88%99%20%60%5Cref%7Bfst%7D%60%20%E7%BB%99%E5%87%BA%20%601.2%60%20%E8%80%8C%E4%B8%8D%E6%98%AF%20%600%60%EF%BC%9B%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E6%A0%87%E8%AE%B0%20%60enumerate%60%20%E5%9D%97%E9%A1%B9%EF%BC%9F.png)
\begin{enumerate}
\item[0.] \label{fst} Foo
\item In \ref{fst} I said
\end{enumerate}
想:
In 0 I said
得到:
In 1.2 I said
(很高兴有额外的句号;即0.
)
答案1
\item[...]
没有生成数字。
您可以使用enumitem
及其start
密钥。
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[start=0]
\item \label{zero} text
\item text
\end{enumerate}
Item~\ref{zero}
\end{document}
你甚至可以开始全部您的enumerate
环境从 0 开始。
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate]{start=0}
\begin{document}
\begin{enumerate}
\item \label{zero} text
\item text
\end{enumerate}
Item~\ref{zero}
\begin{enumerate}
\item another
\item test
\end{enumerate}
\end{document}
答案2
正如您所发现的,如果您有[]
一个项目,则可以删除其编号以供参考。如果您希望整个列表从零开始,那么最简单的方法是调整计数器,使其执行以下操作:
\documentclass{article}
\begin{document}
\begin{enumerate}\addtocounter{enumi}{-1}
\item \label{fst} Foo
\item In \ref{fst} I said
\end{enumerate}
\end{document}
给出“在 0 中我说”(我假设您希望 1 位于 0 之后)。如果您想要更多,我建议您查看该enumitem
包。例如,setlist[enumerate]{start=0}
将允许您的所有枚举从 0 开始,而不仅仅是这个,而 ref 键将允许您的引用有句号。