重复命令宏

重复命令宏

我是 LATEX 的新用户。我阅读了 Ulrike Fischer 提出的许多建议。她针对此处提出的问题提出了解决方案: xskak 展示某些动作

我发现我使用了很多命令。

\xskakloop{%
\ifcsempty{Xskak.\xskakgetgame{gameid}.\xskakget{movenr}.\xskakget{player}.nag}
{}
{%
\getmovestyle{\xskakget{piecechar}}%
\chessboard[tinyboard,
 pgfstyle=\mymovestyle, color=blue!50,
  markmoves=\xskakget{move}, pgfshortenend=0.3em, arrow=to,  markstyle=\dots\, markfield=\xskakget{movefrom},
  emphfields=\xskakget{moveto}, setfen=\xskakget{nextfen}]\\
  \xskakget{opennr}
  \xskakget{lan}
  \xskakget{nag}
  \par
  }}%
\end{center}

我怎样才能将所有这些行变成一个命令?我读过有关 newcommand 的信息,但我无法让它正常工作。

答案1

只需将其括起来\newcommand\somecommandname{...}

\newcommand\myxskakloop{%
      \xskakloop{%
    \ifcsempty{Xskak.\xskakgetgame{gameid}.\xskakget{movenr}.\xskakget{player}.nag}
    {}
    {%
    \getmovestyle{\xskakget{piecechar}}%
    \chessboard[tinyboard,
     pgfstyle=\mymovestyle, color=blue!50,
      markmoves=\xskakget{move}, pgfshortenend=0.3em, arrow=to,  markstyle=\dots\, markfield=\xskakget{movefrom},
      emphfields=\xskakget{moveto}, setfen=\xskakget{nextfen}]\\
      \xskakget{opennr}
      \xskakget{lan}
      \xskakget{nag}
      \par
      }}}

相关内容