有没有办法用 easylist 定义自定义命名样式?我知道使用
\ListProperties()
在文档中定义一个 easylist 样式,您可以为所有 easylist 列表全局定义一个 easylist 样式,如下所述这里。
我想知道序言中是否有一种方法可以定义自定义 easylist 样式并为其命名,以便我可以在文档中调用多个自定义样式,而无需每次都定义它们。我知道已经有预定义的样式可以通过
\begin{easylist}[enumerate]
或者
\begin{easylist}[checklist]
但我想做的是能够调用
\begin{easylist}[mystyle1]
进而
\begin{easylist[mystyle2]
其中mystyle1
和mystyle2
是全局可访问的预定义样式。
提前致谢!
答案1
您可以构建一个包装器easylist
。
\documentclass{article}
\usepackage[at]{easylist}
\usepackage{xcolor}
\def\definemyeasylist#1#2{\expandafter\def\csname myeasylist@style@#1\endcsname{\NewList(#2)}}
\def\myeasylist{\futurelet\next\domyeasylist}
\def\domyeasylist{\ifx[\next\expandafter\domyeasylistone\else\expandafter\domyeasylistnop\fi}
\def\domyeasylistone[#1]{\begin{easylist}\if\relax\detokenize{#1}\relax\else\csname myeasylist@style@#1\endcsname\fi}
\def\domyeasylistnop{\begin{easylist}\NewList}
\def\endmyeasylist{\end{easylist}}
\definemyeasylist{mystyle}{Progressive*=3ex, Start1=2,Style*=\color{green!60!black}}
\begin{document}
\begin{myeasylist}[mystyle]
@ item1
@ item2
@ item3
\end{myeasylist}
\begin{myeasylist}
@ item1
@ item2
@ item3
\end{myeasylist}
\end{document}