如何动态地将项目添加到 itemize

如何动态地将项目添加到 itemize

在文档的多个实例中,我必须添加一个名为核心课程的公共部分。核心课程因机构而异。

例如

在一个机构下,我想添加以下课程

Core courses
1. Artificial Intelligence
2. Software Engineering
3. Software Architecture
4. Software Testing
5. Software Construction 

在文档的其他特定位置,我将添加以下内容。

    Core courses
1. Machine Learning and Pattern Recognition
2. Deep Learning
3. Reinforcement Learning
4. Text mining

是否可以在 latex 中编写一个新命令(即 \newcommand),它将单独获取主题并将其格式化为列表。

答案1

像这样吗?

\documentclass{article}
\usepackage{etoolbox}
\newcommand\CoreCourses[2][Core courses]{
  \renewcommand*\do[1]{\item ##1}
  \noindent\textsf{#1}
  \begin{enumerate}
    \docsvlist{#2}
  \end{enumerate}
}

\begin{document}

\CoreCourses{
  Artificial Intelligence,
  Software Engineering,
  Software Architecture,
  Software Testing,
  Software Construction
}

\CoreCourses{
  Machine Learning and Pattern Recognition,
  Deep Learning,
  Reinforcement Learning,
  Text mining
}

\end{document}

关键是\docsvlist使用电子工具箱将逗号分隔列表转换为枚举环境的包。

如上所述,该\CoreCourse宏有一个可选参数用于设置“标题”。默认值为“核心课程”。

如果你想“设计”枚举环境,我建议使用枚举项包裹。

输出如下:

在此处输入图片描述

相关内容