You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:06:05