1

I'm trying to create a new environment for using the package easylist so that some users that are not used to LaTeX can easily make use of it. Right now the environment and its custom commands are defined like this:

\usepackage[at]{easylist}
\ListProperties(Style*=,Numbers=a,FinalMark={.})

\newenvironment{objectives}
{ 
    \newcommand{\spobj}{@}
    \newcommand{\goal}{@@}
    \newcommand{\ind}{@@@}
    \begin{easylist}
}
{
    \end{easylist}
}

This works:

\begin{objectives}
@ Objective 1
@@ Goal 1
@@@ Indicator 1
@@@ Indicator 2
@@@ Indicator 3
@@ Goal 2
@@@ Indicator 1
@@@ Indicator 2
\end{objectives}

And the result looks like this:

enter image description here

I want to use the specific commands for adding the amount of @ needed like this:

\begin{objectives}
    \spobj Objective 1
    \goal Goal 1
    \ind Indicator 1
    \ind Indicator 2
    \ind Indicator 3
    \goal Goal 2
    \ind Indicator 1
    \ind Indicator 2
\end{objectives}

And the result looks like this:

enter image description here

I don't know the right way to achieve this. Maybe the problem is somewhere in between the time LaTeX translates the commands, or the command doesn't know it is inside a easylist environment.

Can someone tell me how to do this the right way? Maybe point me in the right direction..

Thanks

2

You have to make @ an active character with \Activate and switch off this feature with \Deactivate later on. This can be either done by using the \spobj etc. commands outside of objectives or wrap \Activate\newenvironment{objectives}...\end{objectives}\Deactivate

In addition, the @ etc. characters must be followed by a space character (as stated in the documentation) in order to show the numbers/labels (which is most likely wanted for an enumeration)

In my point of view, easylist is a strange package, which nice features however, but difficult to understand.

\documentclass{article}

\usepackage[at]{easylist}
\ListProperties(Style*=,Numbers=a,FinalMark={.})

\Activate
\newcommand{\spobj}{@ } % Explicit space after @ needed!!!!!
\newcommand{\goal}{@@ }
\newcommand{\ind}{@@@ }
\Deactivate

\newenvironment{objectives}
{%
  \begin{easylist}
  }
  {
  \end{easylist}
}



\begin{document}

\begin{objectives}
    \spobj Objective 1 

    \goal Goal 1

    \ind Indicator 1

    \ind Indicator 2

    \ind Indicator 3

    \goal Goal 2

    \ind Indicator 1

    \ind Indicator 2
\end{objectives}

\end{document}

enter image description here

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.