2

I am using the outlines package for multi level lists according to the second answer here since it was a pretty good solution and worked very well so far. However, I am wondering if it's possible to specifically have checkboxes if I change the command \2 or \3 to something like, say, \2c or \3c. Having the boxes on the right at the end of the line is preferable but it's OK even if it's the label or beside the label. If I were simply using enumerate, I could just do this but I am not sure if it's possible to tailor it to the outlines package. An MWE, although not too helpful in this case probably, is given.

\documentclass{book}
\usepackage{outlines}
\begin{document}
    \begin{outline}[enumerate]
        \1 This item should not have a check box beside it
        \2 This item should not have a check box beside it
        \2 This item should have a check box beside it
        \3 This item should have a check box beside it
    \end{outline}
\end{document}
3

I defined macros \C1, \C2, \C3, etc. in three different ways to add checkboxes to the outline list in different ways:

  • First variant: Checkboxes besides the label,
  • Second variant: Checkboxes instead of the label,
  • Third variant: Checkboxes at the end of the lines, this requires however to embrace the item text in curly braces.

Here is the code:

\documentclass{book}
\usepackage{outlines}
\usepackage{amssymb}

\newcommand{\checkbox}{$\square$}

\begin{document}
    \newcommand{\C}[1]{\ifcase#1\relax\or\1\or\2\or\3\or\4\or\5\or\6\fi\checkbox}
    \begin{outline}[enumerate]
        \C1 This item should not have a check box beside it
        \C2 This item should not have a check box beside it
        \C2 This item should have a check box beside it
        \C3 This item should have a check box beside it
    \end{outline}

    \renewcommand{\C}[1]{\ifcase#1\relax\or\1[\checkbox]\or\2[\checkbox]\or\3[\checkbox]\or\4[\checkbox]\or\5[\checkbox]\or\6[\checkbox]\fi}
    \begin{outline}[enumerate]
        \C1 This item should not have a check box beside it
        \C2 This item should not have a check box beside it
        \C2 This item should have a check box beside it
        \C3 This item should have a check box beside it
    \end{outline}

    \renewcommand{\C}[2]{\ifcase#1\relax\or\1\or\2\or\3\or\4\or\5\or\6\fi#2\hfill\checkbox}
    \begin{outline}[enumerate]
        \C1{This item should not have a check box beside it}
        \C2{This item should not have a check box beside it}
        \C2{This item should have a check box beside it}
        \C3{This item should have a check box beside it}
    \end{outline}
\end{document}

enter image description here

  • Thanks for the options. Option 1 looked a bit cluttered and I'd have to change everything for option 3 since everything would now become an argument. So I think option 2 is the best for now. :) If you want checkboxes beside all of them without choosing specific ones, is it possible to just redefine something and make the \1, \2, \3 themselves produce the whole document with boxes? – Zack Fair Jun 11 '17 at 15:08
  • It seems that the \1, \2, \3 are defined only within the outline environment, that means there is no way of redefining them globally. One would have to alter the outline definition, but I don't know an easy way to do that. – Tiuri Jun 12 '17 at 7:18
  • K no problem. This is what I mainly needed. Thanks again. :) – Zack Fair Jun 12 '17 at 15:02
  • Oh I thought I already did. Sorry about that. Done now. Just to confirm, there's no way to have the last option in the same format as the first two i.e. just add a C after the ``, right? – Zack Fair Jun 13 '17 at 9:41

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.