带对话的新命令不起作用

带对话的新命令不起作用

我正在尝试为包创建一个新的短命令。虽然 环境内部dialogue的常规使用有效,但我用它创建的却不行。\speak{}\newcommand

\newcommand*\tchr{{\speak{Teacher}}}

编译时出现错误

LaTeX Error: Something's wrong--perhaps a missing \item.

我确信问题出在我对newcommand使用的定义上\speak,但不确定如何解决它。

MWE 附于下方。

\documentclass{article}
\usepackage{dialogue}


% custom commands for speaking

\newcommand*\tchr{{\speak{Teacher}}}
\newcommand*\std{{\speak{Student}}}

\begin{document}


% this works

\begin{dialogue}

\speak{Teacher} This is going to be fun

\speak{Student} How so?

\end{dialogue}

% this doesn't

\begin{dialogue}

\tchr This is going to be fun

\std How so?

\end{dialogue}

\end{document}

答案1

使用时\newcommand,我认为格式应该是这样的:

\newcommand{\nameofcommand}{<commandaction>}

因此,对于你来说,它看起来像:

\newcommand{\tchr}{\speak{Teacher}}
\newcommand{\std}{\speak{Student}}

您的代码的问题在于\speak应该出现在外层,而额外的括号会阻碍其工作。

相关内容