我应该使用低级还是高级命令来编程类/包?

我应该使用低级还是高级命令来编程类/包?

为了固定想法,请考虑以下示例。我可以定义命令

\def\linefill{\kernel@ifnextchar[{\@@linefill}{\@linefill}}
\def\@linefill{\@@linefill[1ex]}
\def\@@linefill[#1]{%
    \leavevmode\leaders\hrule height #1\hfill\kern0pt%
}

或者我可以将其定义为

\newcommand\linefill[1][1ex]{%
    \leavevmode\leaders\hrule height #1\hfill\kern0pt%
}

第一种形式使用低级命令,而第二种形式使用高级命令。显然第二种形式更短,但我相信使用高级 LaTeX 命令会带来一些开销。

从这个意义上讲,我想知道以下几点:

  1. 类/包编程是否存在(事实上的)标准?
  2. 低级是否更高效?性能上有什么区别吗?
  3. 有什么理由选择其中一种形式而不是另一种形式呢?

非常感谢您的回答!

相关内容