4

I am trying to bold the enumeration in the multienum package. The MWE illustrates what I have so far:

\documentclass[letterpaper]{article}
\usepackage{multienum}
\begin{document}
    \begin{multienumerate}
    \renewcommand{\itemx}[1]{\parbox[t]%
    {\labelwidth}{\hfill{\bfseries\labelname}}\hskip\labelsep%
    \parbox[t]{\remainx}{\raggedright #1}\par}%\smallskip
    \renewcommand{\itemxx}[2]{\parbox[t]%
    {\labelwidth}{\hfill{\bfseries\labelname}}\hskip\labelsep
    \parbox[t]{.5\remainxx}{\raggedright #1}\hfill\parbox[t]%
    {\labelwidth}{\hfill{\bfseries\labelname}}\hskip\labelsep
    \parbox[t]{0.5\remainxx}{\raggedright #2}\smallskip}
    \setlength\hsize{\linewidth}%

        \mitemx{Some random item.}
        \mitemxx{Second}{Third}
    \end{multienumerate}
\end{document}

But as you notice, it is not the most pleasant way of doing it if I am to bold locally within the multienumerate environment more than once in a document. What I want to achieve are commands like \boldx, \boldxx, or simply \boldmultienum that will ensure that the enumeration is done locally. Thus instead of the above I would have something like

\documentclass[letterpaper]{article}
\usepackage{multienum}
\begin{document}
    \begin{multienumerate}
            \boldx\boldxx % or \boldenumerate to be more general. Need both cases. 
        \mitemx{Some random item.}
        \mitemxx{Second}{Third}
    \end{multienumerate}
\end{document}

Or even something like:

\begin{multinenumerate}[label=\bfseries\labelname]
\mitemx{one}
\mitemxx{two}{three}
\end{multienumerate}
azetina
  • 28,884

1 Answers1

4

It's simpler. ;-)

\documentclass[letterpaper]{article}
\usepackage[pass,showframe]{geometry}
\usepackage{lipsum}
\usepackage{multienum}
\begin{document}
\lipsum[3]
\begin{multienumerate}
\renewcommand{\labelname}{%
  \bfseries \csname labelenum\romannumeral\themultienumdepth\endcsname}
\mitemx{Some random item.}
\mitemxx{Second}{Third}
\end{multienumerate}
\lipsum[3]
\end{document}

enter image description here

If you want to make it global, do the \renewcommand in the preamble; if you want an environment, do

\newenvironment{bmultienumerate}
  {\multienumerate
   \renewcommand{\labelname}{%
     \bfseries \csname labelenum\romannumeral\themultienumdepth\endcsname}}
  {\endmultienumerate}

A key-value implementation:

\documentclass[letterpaper]{article}
\usepackage[pass,showframe]{geometry}

\usepackage{multienum}
\usepackage{keyval}
\makeatletter
\define@key{azemulti}{label}{\def\azemulti@label{#1}}
\def\azemulti@label{\normalfont}
\renewcommand{\labelname}{%
  \azemulti@label\@nameuse{labelenum\romannumeral\themultienumdepth}}
\newenvironment{xmultienumerate}[1][]
 {\setkeys{azemulti}{#1}%
  \multienumerate}
 {\endmultienumerate}
\makeatother

\usepackage{lipsum}

\begin{document}
\lipsum[3]
\begin{xmultienumerate}
\mitemx{Some random item.}
\mitemxx{Second}{Third}
\end{xmultienumerate}
\lipsum[3]
\begin{xmultienumerate}[label=\bfseries]
\mitemx{Some random item.}
\mitemxx{Second}{Third}
\end{xmultienumerate}
\lipsum[3]
\end{document}
egreg
  • 1,121,712