我正在尝试创建一个使用该包的新环境easylist
,以便一些不习惯的用户LaTeX
可以轻松使用它。目前,环境及其自定义命令定义如下:
\usepackage[at]{easylist}
\ListProperties(Style*=,Numbers=a,FinalMark={.})
\newenvironment{objectives}
{
\newcommand{\spobj}{@}
\newcommand{\goal}{@@}
\newcommand{\ind}{@@@}
\begin{easylist}
}
{
\end{easylist}
}
这有效:
\begin{objectives}
@ Objective 1
@@ Goal 1
@@@ Indicator 1
@@@ Indicator 2
@@@ Indicator 3
@@ Goal 2
@@@ Indicator 1
@@@ Indicator 2
\end{objectives}
结果如下:
我想使用特定的命令来添加所需的数量,@
如下所示:
\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}
结果如下:
我不知道实现此目的的正确方法。也许问题出在 LaTeX 翻译命令的过程中,或者命令不知道它在环境中easylist
。
有人能告诉我如何正确地做到这一点吗?也许能给我指明正确的方向。
谢谢
答案1
您必须@
使用 创建一个活动角色,\Activate
然后稍后使用 关闭此功能\Deactivate
。这可以通过使用或\spobj
之外的命令来完成。objectives
\Activate\newenvironment{objectives}...\end{objectives}\Deactivate
此外,@
等字符后面必须跟一个空格字符(如文档中所述)才能显示数字/标签(这很可能是枚举所需要的)
在我看来,easylist
这是一个奇怪的包,它虽然功能不错,但却很难理解。
\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}