我正在使用答案包来构建一系列练习。我遇到的问题是当从
\item $ 5x^2-x \geq 0 $
\begin{sol}
$x \geq 1, x \leq 0$
\end{sol}
到
\uppg{$x<-2, x>2$}{$-9 < x < 9$}
uppg 的样子
\newcommand{\uppg}[2]
{
\item #1
\begin{sol}
\#2
\end{sol}
}
我不断收到错误,因为它读取\begin{sol}
了uppg
但忽略了\end{sol}
,只是继续读取文件,直到它意识到自己的错误并抛出错误。我该如何解决这个问题?
答案1
该answers
包使用逐字逐句的方法来收集材料。因此,你不能隐藏\end{sol}
宏内部的部分:它必须位于所写的源中。
答案2
如果约瑟夫是对的,而且这是逐字逐句的方法,那么这就是问题所在
如何\begin{verbatim}
工作。简要而粗略地讲。
\begin{verbatim}
扩展为\verbatim
。- 然后
\verbatim
将每个特殊字符的类别代码设置为 12。现在所有字符都像数字或标点符号。 - 然后
\verbatim
设置字体、parindent并调用\@xverbatim
。 \@xverbatim
使用以下技巧来捕捉逐字结尾:\def\@xverbatim#1\end{#1\end}
然后 \end{verbatim} 完成工作。
如何newcommand{\uppg}[1]{\begin{verbatim}#1\end{verbatim}}
運行。
\uppg{$x$}
扩展为\begin{verbatim}$x$\end{verbatim}}
。- 然后
\begin{verbatim}
扩展为\varbatim
。\varbatim
更改所有类别和字体。 - 然后
\verbatim
呼叫\@xverbatim
。 \@xverbatim
尝试使用以下技巧来抓住你的论点:\def\@xverbatim#1\end{#1\end}
但这是不可能的,因为试图
\@xverbatim
捕捉\end
所有字母(,,,)都属于\
类别12 和 11。但实际上只有存在。e
n
d
\ec
\@xverbatim
正在尝试查找\end
反斜杠 (\
) 具有第 12 类的位置,但是......File ended while scanning use of \@xverbatim