\ end {verbatim} et.al的Latex \newcommand无法正常工作

gak*_*era 3 latex

我试图通过引入一些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},但实际上,这应该可行!

Ale*_*tov 5

怎么\begin{verbatim}工作 简要而粗略地说.

  1. \begin{verbatim}扩大到\verbatim.
  2. 然后\verbatim将每个字符的类别代码设置为11.现在所有字符都是字母.
  3. 然后\verbatim设置字体,parindent和调用\@xverbatim.
  4. \@xverbatim 使用以下技巧捕获逐字结尾:

    \def\@xverbatim#1\end{#1\end}
    
    Run Code Online (Sandbox Code Playgroud)
  5. 然后\ end {verbatim}完成工作.

怎么\newcommand{\verbass}[1]{\begin{verbatim} #1 \end {verbatim}}工作

  1. 首先\verbass{Halp}阅读它的论点.
  2. #1 --> Halp
  3. \verbass扩展到\begin{verbatim} Halp \end {verbatim}. 重要提示:反斜杠的\end类别为0而不是11.此外{,}还有类别1和2而不是11.
  4. 然后\begin{verbatim}扩展到\varbatim. \varbatim更改所有类别和字体.但是(重要的)反斜杠(in)的类别\end保持等于0.
  5. 然后\verbatim打电话\@xverbatim.
  6. \@xverbatim 尝试使用以下技巧捕捉你的论点:

    \def\@xverbatim#1\end{#1\end}
    
    Run Code Online (Sandbox Code Playgroud)

    但它是不可能的,因为\@xverbatim试图赶上 \end所有的字母(\,e,n,d)有11类,但实际上有四个字母与其他类别代码: \0类e,n,d有11类.

  7. \@xverbatim正在尝试并试图找到\end反斜杠(\)的类别11但....File ended while scanning use of \@xverbatim