枚举子枚举无法正常工作

枚举子枚举无法正常工作

我想列举书中某些练习的答案。练习的名称采用“CHAPTER.ExerciseNumber.ExerciseSubNumber”格式,例如:

1.1)a) b) c)

1.2)

1.3)

2.1)

...

我已经对其他书籍(没有子编号)使用了以下代码样式:

\documentclass[a4paper, 11pt]{article}
\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry}


\usepackage{array}
\usepackage{enumitem}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{float}
\usepackage[T1]{fontenc}
\usepackage[Export]{adjustbox}
\usepackage[utf8]{inputenc}
\usepackage{latexsym}
\usepackage{lmodern}
\usepackage{mdframed}
\usepackage{pifont}
\usepackage{pgf}
\usepackage{ragged2e}
\usepackage{tcolorbox}
\usepackage{tikz}
\usepackage[absolute,overlay]{textpos}
\usepackage{ulsy}
\usepackage{xcolor}


\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[LE,RO]{\thepage}
\renewcommand{\familydefault}{\sfdefault}

\newcounter{mycount} \renewcommand{\themycount}{\arabic{mycount}}
\setlist[enumerate]{label=\themycount.\arabic*,
    ref=\themycount.\arabic*),
    before=\refstepcounter{mycount}}
\setcounter{mycount}{0}


\begin{document}
    
    
    \begin{enumerate}
        \item   \begin{enumerate}[label=\alph*)]
                    \item 
                    \item 
                    \item 
                \end{enumerate}
        \item 
        \item
    \end{enumerate}
    
    \begin{enumerate}
        \item 
    \end{enumerate}

\end{document}

但是,此代码不适用于子枚举(章节号错误地增加了 1)。有什么方法可以解决这个问题吗?

答案1

但是,此代码不适用于子枚举——章节号 [错误地] 加一。有什么方法可以解决这个问题吗?

你需要改变

\setlist[enumerate]{..., before=...}

\setlist[enumerate,1]{..., before=...}

确保该before选项不是在 2 级环境启动时enumerate也执行。

一个单独的问题:您还需要交换1 级项目的label和选项的分配。refenumerate

在此处输入图片描述

\documentclass[a4paper, 11pt]{article}
\usepackage[margin=3cm]{geometry}

%% I've commented out all instructions that 
%% aren't needed for the example at hand.

%\usepackage{array}
\usepackage{enumitem}
%\usepackage{etoolbox}
%\usepackage{fancyhdr}
%\usepackage{float}
%\usepackage[T1]{fontenc}
%\usepackage[Export]{adjustbox}
%\usepackage[utf8]{inputenc}
%\usepackage{latexsym}
%\usepackage{lmodern}
%\usepackage{mdframed}
%\usepackage{pifont}
%\usepackage{pgf}
%\usepackage{ragged2e}
%\usepackage{tcolorbox}
%\usepackage{tikz}
%\usepackage[absolute,overlay]{textpos}
%%%%\usepackage{ulsy}
%\usepackage{xcolor}

%\pagestyle{fancy}
%\fancyhf{}
%\renewcommand{\headrulewidth}{0pt}
%\fancyfoot[LE,RO]{\thepage}
\renewcommand{\familydefault}{\sfdefault}

\newcounter{mycount} 
%\setcounter{mycount}{0} % that's the default
%\renewcommand{\themycount}{\arabic{mycount}} % that's the default
\setlist[enumerate,1]{%
          label =\themycount.\arabic*) ,
          ref   =\themycount.\arabic*  ,
          before=\refstepcounter{mycount}}

\begin{document} 
    
    \begin{enumerate}
        \item   \begin{enumerate}[label=\alph*)]
                    \item 
                    \item 
                    \item 
                \end{enumerate}
        \item 
        \item
    \end{enumerate}
    
    \begin{enumerate}
        \item 
    \end{enumerate}

\end{document}

相关内容