我试图通过引入一些timeavers来使Latex可用,但我在定义终止环境的新命令方面遇到了麻烦,完全是随机的.
这有效:
\newcommand{\bcv}{\ensuremath{\begin{smallmatrix}}}
\newcommand{\ecv}{\ensuremath{\end{smallmatrix}}}
\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}
这不起作用:
\newcommand{\bal}{\begin{align*}}
\newcommand{\eal}{\end{align*}}
\newcommand{\verbass}[1]{\begin{verbatim} #1 \end {verbatim}}
具体来说,我认为\ end值只是被忽略了?
当我尝试使用时,\verbass{Halp}我收到一个错误:!File ended while scanning use of \@xverbatim.
显然我可以根据需要在所有位置使用\ begin {foo} ...\end {foo},但实际上,这应该可行!
怎么\begin{verbatim}工作 简要而粗略地说.
\begin{verbatim}扩大到\verbatim.\verbatim将每个字符的类别代码设置为11.现在所有字符都是字母.\verbatim设置字体,parindent和调用\@xverbatim.\@xverbatim 使用以下技巧捕获逐字结尾:
\def\@xverbatim#1\end{#1\end}
Run Code Online (Sandbox Code Playgroud)然后\ end {verbatim}完成工作.
怎么\newcommand{\verbass}[1]{\begin{verbatim} #1 \end {verbatim}}工作
\verbass{Halp}阅读它的论点.#1 --> Halp\verbass扩展到\begin{verbatim} Halp \end {verbatim}.
重要提示:反斜杠的\end类别为0而不是11.此外{,}还有类别1和2而不是11.\begin{verbatim}扩展到\varbatim.
\varbatim更改所有类别和字体.但是(重要的)反斜杠(in)的类别\end保持等于0.\verbatim打电话\@xverbatim.\@xverbatim 尝试使用以下技巧捕捉你的论点:
\def\@xverbatim#1\end{#1\end}
Run Code Online (Sandbox Code Playgroud)
但它是不可能的,因为\@xverbatim试图赶上
\end所有的字母(\,e,n,d)有11类,但实际上有四个字母与其他类别代码:
\0类e,n,d有11类.
\@xverbatim正在尝试并试图找到\end反斜杠(\)的类别11但....File ended while scanning use of \@xverbatim