在 LaTeX 中更改枚举环境中嵌套列表的编号

发布于 2024-08-17 20:56:28 字数 209 浏览 9 评论 0原文

我想在 LaTeX 中生成以下内容:

1. Item
    2. Item
    3a. Item
    3b. Item
    4. Item
5. Item

基本上我已经尝试使用嵌套的 enumerate 环境,但我在实现不同的编号时遇到问题。

如何在 LaTeX 中执行上述操作?

I want to produce the following in LaTeX:

1. Item
    2. Item
    3a. Item
    3b. Item
    4. Item
5. Item

Basically I have already tried using nested enumerate environments, but I have a problem with implementing the different numberings.

How can I do the above in LaTeX?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岛徒 2024-08-24 20:56:28

{enumerate} 环境的目的是通过算法对事物进行编号。如果您确实希望数字如问题中所示显示,我无法确定您想要使用什么算法。对于您展示的示例,我认为最简单的方法就是自己对标签进行编程,而不是尝试对 LaTeX 进行编程来做到这一点。我会这样做:

\begin{itemize}
\item[1.]  Item
   \begin{itemize}
    \item[2.  ] Item
    \item[3a. ] Item
    \item[3b. ] Item
    \item[4.  ] Item
   \end{itemize}
\item [5. ] Item
\end{itemize}

使用 LaTeX,解决问题的最快路径通常涉及暴力:-)

The purpose of the {enumerate} environment is to number things algorithmically. If you really want the numbers to appear as shown in your question, I can't identify what algorithm you want to be used. For the example you show, I think the easiest method is just to program the labels yourself instead of trying to program LaTeX to do it. I would just do it this way:

\begin{itemize}
\item[1.]  Item
   \begin{itemize}
    \item[2.  ] Item
    \item[3a. ] Item
    \item[3b. ] Item
    \item[4.  ] Item
   \end{itemize}
\item [5. ] Item
\end{itemize}

With LaTeX, the quickest path to a solution often involves brute force :-)

隔纱相望 2024-08-24 20:56:28

快速而肮脏:

\documentclass{article}
\begin{document}

\renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}
%% Second list uses first counter

\def\startenumtuple{\setcounter{enumii}{1}\addtocounter{enumi}{1}
  \renewcommand{\labelenumii}{\arabic{enumi}.\alph{enumii}}}
\def\endenumtuple{
  \renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}}

\noindent Here's my list:

\begin{enumerate}
\item Item
\begin{enumerate}
\item Item
\startenumtuple
\item Item
\item Item
\endenumtuple
\item Item
\item Item
\end{enumerate}
\item Item
\end{enumerate}
\end{document}

(Mica 的版本在此代码的第一次迭代中使用)

正确的方法涉及基于枚举定义环境,以对计数器执行正确的操作:如果您愿意,上面的代码将需要调整才能使其正常工作更改列表环境的嵌套。

Quick and dirty:

\documentclass{article}
\begin{document}

\renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}
%% Second list uses first counter

\def\startenumtuple{\setcounter{enumii}{1}\addtocounter{enumi}{1}
  \renewcommand{\labelenumii}{\arabic{enumi}.\alph{enumii}}}
\def\endenumtuple{
  \renewcommand{\labelenumii}{\addtocounter{enumi}{1}\arabic{enumi}}}

\noindent Here's my list:

\begin{enumerate}
\item Item
\begin{enumerate}
\item Item
\startenumtuple
\item Item
\item Item
\endenumtuple
\item Item
\item Item
\end{enumerate}
\item Item
\end{enumerate}
\end{document}

(Mica's version was used in the first iteration of this code)

The right way involves defining environments based on enumerate that do the right thing with the counters: the above code would need tweaking to get it to work right if you wanted to change the nesting of the list environments.

捶死心动 2024-08-24 20:56:28
\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\Roman{enumi}. \alph{enumii}}

\noindent Here's my list:

\begin{enumerate}
\item Item 1.
\begin{enumerate}
\item List 2, Item 1
\item List 2, Item 2
\end{enumerate}
\item Item 2.
\item Item 3.
\end{enumerate}

然后将 renewcommand 中的 \Roman 更改为您想要的任何内容:\alph\arabic

\renewcommand{\labelenumi}{\Roman{enumi}.}
\renewcommand{\labelenumii}{\Roman{enumi}. \alph{enumii}}

\noindent Here's my list:

\begin{enumerate}
\item Item 1.
\begin{enumerate}
\item List 2, Item 1
\item List 2, Item 2
\end{enumerate}
\item Item 2.
\item Item 3.
\end{enumerate}

Then change the \Roman in the renewcommand to whatever you want it to be: \alph or \arabic

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文