我无法完成这项工作(请参阅下面的代码):它给出了一个错误“\xx
在之前的行中未定义的控制序列\end{document}
。怎么了?我在Windows10下使用MikTex的pdflatex。它完美地编译了一个裸的“Hello world”文件,因此它安装正确。%motivation for the following code:我是一名教师,我需要一个宏来“纠正”我学生论文中的错误,就像小学老师用红笔做的那样,即Word用它的“跟踪变化特征”:宏应该显示“旧文本”和“新”的更正文本:旧文本应该被删除(稍后我会把它变成红色),新文本应该是hug;e下面它们被表示为Arg1和Arg2。
问题是不是关于如何配置 miktex 或如何使用删除线或颜色 --- 它是关于为什么命令 \xx 仍然未定义,即为什么不起作用\newcommand
**:.?
日志文件说:
! Undefined control sequence. l.9 \xx {first}{second}
编辑:\xvs.\xx 已更正,感谢@David “\HUGE” 命令已更正”,感谢@rafaele,错误依旧
%LaTeX 代码:
`\documentclass{article}
\usepackage{soul}
\newcommand{\x}[2]{ARG1:(\st{#1})ARG2: ({\Huge #2})}
\begin{document}
test:
\xx{first}{second}
\end{document}`
答案1
答案2
如果你
\newcommand{\x}[2]{<whatever>}
您正在定义\x
,不是吗?那么,您为什么会期望\xx
被定义?
之后
\newcommand{\x}[2]{ARG1:(\st{#1})ARG2: ({\Huge #2})}
电话
\x{first}{second}
将按要求执行,但当然\xx
会引发Undefined control sequence
错误。
LaTeX 内核有
\newcommand{\setlength}[2]{<something irrelevant for the topic here>}
你称之为
\setlength{\mylen}{12cm}
不是\setlengthsetlength{\mylen}{12cm}
。