为什么我不能使用 \gappto 将 minted 环境添加到变量中?

为什么我不能使用 \gappto 将 minted 环境添加到变量中?

这是我的代码:

\documentclass{article}
\usepackage{etoolbox}
\usepackage{minted}
\begin{document}
\newminted[mycode]{text}{}
\newcommand\foo{}
\gappto\foo{
  \begin{mycode}
  Hello, world!
  \end{mycode}
}
\foo
\end{document}

它无法编译。为什么呢?

答案1

与所有逐字命令一样,minted 构造不能用作另一个命令的参数(这就是为什么 minted 有自己的\newminted声明,而不是简单地使用\newenvironment

答案2

不是一个答案,但使用代码作为文本,一方面可以应用格式化;另一方面,代码的受控扩展可能很有用。换句话说,这是一种列表模拟器。(在此示例中,空格不是通过正则表达式转换的,但可以。)

清单

但很快就会变得令人费解(以克莱因瓶的方式)。

对于可用性,诀窍似乎是两个都逐字文本和可运行代码并行运行,而不是只运行其中一个。

平均能量损失

\documentclass{article}
\usepackage{etoolbox}
\usepackage{xcolor}
\usepackage{xparse}

\ExplSyntaxOn

%=====
\tl_new:N \l_mytemp_tl
\tl_new:N \l_mytempa_tl
\tl_new:N \g_mytempr_tl
%=====
\newcommand\docmdscan{
%park these
    \regex_replace_all:nnN 
                { (\c{par}) } %\par
                { 

相关内容