2

I used the following code:

\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{enumerate}
    \item 1
    \begin{multicols}{2}
    \begin{enumerate}  \itemsep=1in
        \item 2
        \item 3
        \item 4
        \item 5
    \end{enumerate}
    \end{multicols}
    \item 6
\end{enumerate}
\end{document}

When I saw the .pdf form of my document, it became like this: enter image description here

I specified a fixed length by the itemsep option, but there is no space under the (b) and (d) options. What can I use to put the 1in space under these options? Thank you.

2 Answers 2

2

Maybe the enumitem package is an alternative, which allows for individual fine control of list parameters.

If you use \itemsep=1in this does only hold within the inner enumerate environment, due to grouping (lengths/dimensions are group safe, i.e. changes within a group do not effect the value outside of the group), so for the outer enumerate, the \itemsep value is still the traditional one.

\documentclass{article}
\usepackage{multicol}
\usepackage{enumitem}
\begin{document}

\begin{enumerate}[itemsep=1.5in]
    \item 1
    \begin{multicols}{2}
    \begin{enumerate}[itemsep=1in]

        \item 2
        \item 3
        \item 4
        \item 5
    \end{enumerate}
    \end{multicols}
    \item 6
\end{enumerate}

\end{document}

enter image description here

2

Vertical space is removed at page/column breaks, so the \itemsep between items 2 and 3 disappears.

What you want is to box the items so that they will occupy a prescribed height.

\documentclass{article}
\usepackage{multicol}

\newenvironment{subquestions}[1][1in]
  {\begin{multicols}{2}\begin{enumerate}\setlength{\subqheight}{#1}}
  {\end{enumerate}\end{multicols}}
\newlength{\subqheight}
\newcommand{\subq}[1]{%
  \item \parbox[t][\subqheight]{\linewidth}{#1}%
}

\begin{document}

\begin{enumerate}
\item 1
  \begin{subquestions}
  \subq{2}
  \subq{3}
  \subq{4}
  \subq{5}
  \end{subquestions}
\item 6
  \begin{subquestions}[.5in]
  \subq{7}
  \subq{8}
  \subq{9}
  \subq{10}
  \end{subquestions}
\item 11
\end{enumerate}
\end{document}

enter image description here

If you want to keep the \item syntax, it's a bit more difficult, but doable with the help of environ:

\documentclass{article}
\usepackage{multicol,environ}

\NewEnviron{subquestions}[1][1in]{
  \begin{multicols}{2}\begin{enumerate}\setlength{\subqheight}{#1}%
  \expandafter\subquestionrecurse\BODY\item\subquestionrecurse
}
\makeatletter
\long\def\subquestionrecurse\item#1\item#2\subquestionrecurse{%
  \subq{#1}%
  \if\relax\detokenize{#2}\relax
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
  {\end{enumerate}\end{multicols}}%
  {\subquestionrecurse\item#2\subquestionrecurse}%
}
\makeatother
\newlength{\subqheight}
\newcommand{\subq}[1]{%
  \item \parbox[t][\subqheight]{\linewidth}{#1}%
}

\begin{document}

\begin{enumerate}
\item 1
  \begin{subquestions}
  \item 2
  \item 3
  \item 4
  \item 5
  \end{subquestions}
\item 6
  \begin{subquestions}[.5in]
  \item 7
  \item 8
  \item 9
  \item 10
  \end{subquestions}
\item 11
\end{enumerate}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .