1

I have 250 number of lists and using enumitem and shortlst packages. I have required all the list should align in the leftside and all the item spacing before-and-after should be fixed 5 points. I have no need to use multicol package. I have used \setlist tag but texts are merging with columns.

How to avoid merging columns and before-and-after fixed spacing for any enumerate lists.

Please find the my MWE below:

\documentclass{book}
\usepackage{lipsum,enumitem,shortlst,tasks}

\makeatletter
\setlist[enumerate,1]    {label=\arabic*,align=left,font=\color{blue},leftmargin=15pt,labelwidth=10pt}
\setlist[enumerate,2]    {label=\alph*,align=left,font=\color{red},leftmargin=10pt}
\setlist[enumerate,3]{label=\roman*,align=left,font=\color{violet}}
\setlist[enumerate,4]{label=\Alph*,align=left,font=\color{green}}
\newenvironment{ansenumerate}[1][30]{%
  \setlength{\shortitemwidth}{#1pt}%
  \begin{shortenumerate}%
    \setlength{\labelsep}{0.5em}%
    \ifodd\value{@MCans}
      \setlength{\labelwidth}{1.3em}%
    \else
      \setlength{\labelwidth}{0.35em}%
    \fi
}{%
 \end{shortenumerate}%
}
\makeatother

\begin{document}

\twocolumn
\lipsum[1]
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $1(x+4)=27$
\item $18=3(a+5)$
\item $2x+2=8$
\end{enumerate}
\lipsum[1]    
\begin{enumerate}
\item
\begin{enumerate}
\item $26+x=11$
\item $2x+2=8$
\item $13=q $
\item $16+a=10$
\item $112+b=15$
\item $10=3b+2$
\item $14=7 +a$
\item $112x+2=8$
\end{enumerate}
\end{enumerate}
\lipsum[1]    
%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\lipsum[1]    
%%%%
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item
\begin{enumerate}
\item $6+x=11$
\item $6x=14$
\item $3=q $
\item $6+a=10$
\item $12+b=15$
\item $0=3b+2$
\item $4=7 +a$
\item $12x+2=8$
\item $7p=12$
\item $3(x+4)=27$
\item $18=3(a+5)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
  • Please provide a link for shortlist.sty if it is required. It is not on CTAN or part of TeX Live. – cfr Dec 28 '14 at 0:04
  • To be honest, I don't understand what you are trying to do. You seem to have configured the first and second levels of enumeration so that they will inevitably clash. In fact, the second one starts to the left of the first, which doesn't make sense. Is the 5pt you mention horizontal spacing or vertical spacing? – cfr Dec 28 '14 at 0:09
2

I've removed stuff related to the non-standard package since your document doesn't seem to depend on it. (I doubt it needs tasks either.)

There are 2 immediate issues. One is that you haven't activated Latin hyphenation patterns so TeX is unable to break lines sensibly and the narrowness of the text width causes stuff to spill over. This can be solved by specifying latin as a class option and loading babel.

The second is that you have configured the enumerate environment in a way which places the first and second level labels in almost the same place. A label for the second will be placed just to the right of the first, with no spacing at all. I take it that the results are not as desired. However, I'm not sure what effect you are trying to achieve. The following specifies a space of 5pt before and after the label. Adjust and enjoy!

\documentclass[latin]{book}
\usepackage{lipsum,enumitem,tasks,babel}

\setlist[enumerate] {align=left, labelindent=5pt, labelsep=5pt, leftmargin=*}
\setlist[enumerate,1]    {label=\arabic*,font=\color{blue}}
\setlist[enumerate,2]    {label=\alph*,font=\color{red}}
\setlist[enumerate,3]{label=\roman*,font=\color{violet}}
\setlist[enumerate,4]{label=\Alph*,font=\color{green}}

\begin{document}

  \twocolumn
  \lipsum[1]
  \begin{enumerate}
    \item $6+x=11$
    \item $6x=14$
    \item $3=q $
    \item $6+a=10$
    \item $12+b=15$
    \item $0=3b+2$
    \item $4=7 +a$
    \item $12x+2=8$
    \item $7p=12$
    \item $1(x+4)=27$
    \item $18=3(a+5)$
    \item $2x+2=8$
  \end{enumerate}
  \lipsum[1]
  \begin{enumerate}
    \item
    \begin{enumerate}
      \item $26+x=11$
      \item $2x+2=8$
      \item $13=q $
      \item $16+a=10$
      \item $112+b=15$
      \item $10=3b+2$
      \item $14=7 +a$
      \item $112x+2=8$
    \end{enumerate}
  \end{enumerate}
  \lipsum[1]
  %%%
  \begin{enumerate}
    \item
    \begin{enumerate}
      \item
      \begin{enumerate}
        \item $6+x=11$
        \item $6x=14$
        \item $3=q $
        \item $6+a=10$
        \item $12+b=15$
        \item $0=3b+2$
        \item $4=7 +a$
        \item $12x+2=8$
        \item $7p=12$
        \item $3(x+4)=27$
        \item $18=3(a+5)$
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
  \lipsum[1]
  %%%%
  \begin{enumerate}
    \item
    \begin{enumerate}
      \item
      \begin{enumerate}
        \item
        \begin{enumerate}
          \item $6+x=11$
          \item $6x=14$
          \item $3=q $
          \item $6+a=10$
          \item $12+b=15$
          \item $0=3b+2$
          \item $4=7 +a$
          \item $12x+2=8$
          \item $7p=12$
          \item $3(x+4)=27$
          \item $18=3(a+5)$
        \end{enumerate}
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
\end{document}

lists and columns

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.