Latex \newcommand问题

Der*_*unk 5 latex

谁能告诉我这里做错了什么?

\newcommand{\bc}{\small\begin{verbatim}}
\newcommand{\ec}{\normalsize\end{verbatim}}
Run Code Online (Sandbox Code Playgroud)

然后

\bc
1  3       6 7 89 10
 22 7  7  45
\ec
Run Code Online (Sandbox Code Playgroud)

但我明白了

Runaway argument?
^^M1  3       6 7 89 10^^M 22 7  7  45^^M\ec^^M^^M\section{Reading on\ETC.
! File ended while scanning use of \@xverbatim.
<inserted text> 
                \par 
<*> i4c.tex

? 
! Emergency stop.
<inserted text> 
                \par 
<*> i4c.tex
Run Code Online (Sandbox Code Playgroud)

我认为这样做非常安全,因为大多数命令只是文本替换...任何提示?

Ale*_*tov 8

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

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

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

怎么newcommand{\bc}{\small\begin{verbatim}}工作

  1. \b?扩展到\small\begin{verbatim}.
  2. 然后\begin{verbatim}扩展到\varbatim. \varbatim更改所有类别和字体.
  3. 然后\verbatim打电话\@xverbatim.
  4. \@xverbatim 尝试使用以下技巧捕捉你的论点:

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

    但它是不可能的,因为\@xverbatim试图赶上 \end所有的字母(\,e,n,d)有12类和11但实际上只有\ecexsits.

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