背景

背景

背景

我见过漂亮的手册,里面有命令和它们的功能描述。我有一个共享的序言(由多人编辑并用于多个文档),其中包含大量使用

  • \新命令
  • \DeclareRobust命令
  • \DeclareDocumentCommand (xparse包)
  • \更新命令
  • ETC。

以及多种环境

  • \新环境
  • \NewEnviron (environ包)
  • ETC。

最近,我问了一个问题:有没有办法可以遍历所有已定义的颜色而无需再次提及它们?

结果很棒!我想知道我是否可以用命令及其环境做类似的事情,尽管它们很复杂。我的所有命令和环境都有一个三个字母的前缀,例如 mbm(代表“由我制作”)。

目标

我将用它来创建一个左对齐的命令/环境的模板列表,后面跟着一个美观的空间,后面是该命令或环境的描述。

伪代码示例

\documentclass{article}
\usepackage{fontspec}
\usepackage{listings}
\usepackage{tikz}
\usepackage{pgffor}

% Commands
\newcommand\mbmA{elephants}
\newcommand\mbmB[1]{#1}
\newif\ifcolormodules
\DeclareRobustCommand{\mbmmodule}[1]{%
\textbf{\textit{{\ifcolormodules\color{green}\fi #1}}}%
}%
\newcommand{\dq}[1]{\char"201C{}#1\char"201D{}} % Exception to mbm prefix rule
\newcommand{\sq}[1]{\char"2018{}#1\char"2019{}} % Exception to mbm prefix rule
% Environments
\lstnewenvironment{mbmlstcode}{\lstset{basicstyle=\ttfamily\small,columns=fullflexible,keepspaces=true,basewidth=0.5em}}{}
\NewEnviron{mbmerrors}{%
\BODY
}

\begin{document}

\section{Commands}
\foreach \definedcommand in {defined commands} % pseudo-code
\begin{tikzpicture}
   \node [minimum width=3cm, minimum height=1cm,text=red] {\string\definedcommand}; % pseudo-code
\end{tikzpicture}

\section{Environments}
\foreach \definedenvironment in {defined environment} % pseudo-code
\begin{tikzpicture}
   \node [minimum width=3cm, minimum height=1cm,text=orange] {\string\definedenvironment}; % pseudo-code
\end{tikzpicture}

\end{document}

相关内容