jbezos / enumitem

Customize enumerate, itemize and description
MIT License
45 stars 5 forks source link

Possible bug in \DrawEnumitemLabel #11

Closed PhelypeOleinik closed 5 years ago

PhelypeOleinik commented 5 years ago

I was trying out the new \DrawEnumitemLabel feature (really useful!) but the log shows:

(\end occurred when \ifnum on line 6 was incomplete)

for each list that uses \DrawEnumitemLabel. For instance, with the following MWE:

\documentclass{article}
\usepackage{enumitem}
\setlist[itemize]{first=\DrawEnumitemLabel}
\begin{document}
\begin{itemize}
\item Lorem
\end{itemize}
\end{document}

I think that this is due to a missing \fi at the end of the code for DrawEnumitemLabel, to match the \ifvmode. This seems to work:

\def\DrawEnumitemLabel{%
  \ifvmode
    \hbox{\hskip\@totalleftmargin
          \hskip-\leftmargin
          \vrule width \leftmargin height 8pt depth -7pt
          \hskip\itemindent
          \ifdim\labelindent<\z@
            \hskip-\leftmargin
            \hskip\labelindent
            \vrule width -\labelindent height 6pt depth -5pt
            \hskip\labelindent            
          \else
            \hskip-\labelsep
            \hskip-\labelwidth
            \hskip-\labelindent
            \vrule width \labelindent height 6pt depth -4pt           
          \fi
          \vrule width \labelwidth height 4pt depth -2pt
          \vrule width \labelsep height 2pt}%
  \else
  \enit@error
     {\string\DrawEnumitemLabel\space must be used in vertical mode}%
     {Very likely, just inserting a blank line before will fix it}%
  \fi% <------------ Added this \fi
  }
jbezos commented 5 years ago

Thank you. A bug, indeed, fixed in 3.7.