如何修改LaTeX的nmlist环境使其兼具带标题与无标题列表功能
如何让nmlist环境同时支持带标题和无标题列表输出
你可以把nmlist的参数改成可选参数,通过条件判断决定是否生成标题段落,这样一个环境就能替代原来的nmlist和nmlistf两个环境,代码修改如下:
\documentclass[final,3p,times]{elsarticle} \usepackage{enumitem} % 修改后的nmlist环境:支持可选标题参数 \newenvironment{nmlist}[1][]{% % 判断是否传入标题参数,非空则生成paragraph标题 \ifx#1\empty \else \paragraph{#1} \fi % 保持原有的枚举环境设置 \begin{enumerate}[align=parleft,itemsep=-4pt,labelwidth=20mm,leftmargin=22mm]} {\end{enumerate}} \begin{document} % 带标题的用法:传入可选参数 \begin{nmlist}[Others] \item[{$a$}]{distances to x-axis}% \item[{$b$}]{distances to y-axis}% \end{nmlist} % 无标题的用法:不传入参数 \begin{nmlist} \item[{$a$}]{distances to x-axis}% \item[{$b$}]{distances to y-axis}% \end{nmlist} \end{document}
关键说明:
[1][]:定义环境时指定第一个参数为可选参数,默认值为空字符串\ifx#1\empty:判断传入的参数是否为空,非空则执行\paragraph{#1}输出标题,空则跳过标题直接生成列表- 枚举环境的格式设置和你原来的两个环境完全一致,保证输出样式统一
这样修改后,你就不用再维护两个重复的环境定义,用同一个nmlist就能实现带标题和无标题两种效果。
内容的提问来源于stack exchange,提问作者Jovin
相关产品推荐
相关产品推荐

