LaTeX 中的编程约定:从上到下还是从下到上?

LaTeX 中的编程约定:从上到下还是从下到上?

编写包时,应该使用自上而下的方法还是自下而上的方法?

例如,以下两种方法(在 expl3 语法中)

% Top-to-bottom
\NewDocumentCommand \foo {m} { \mytest_foo:n {#1} }
\cs_new:Npn \mytest_foo:n #1 { \__mytest_foo_aux:n {#1} }
\cs_new:Npn \__mytest_foo_aux:n #1 { some~ code~ of~ #1 }

% Bottom-to-top
\cs_new:Npn \__mytest_foo_aux:n #1 { some~ code~ of~ #1 }
\cs_new:Npn \mytest_foo:n #1 { \__mytest_foo_aux:n {#1} }
\NewDocumentCommand \foo {m} { \mytest_foo:n {#1} }

哪一个更好?

答案1

嗯,其实没什么区别

\cs_new:Npn \mytest_foo:n #1 { \__mytest_foo_aux:n {#1} }
\NewDocumentCommand \foo {m} { \mytest_foo:n {#1} }
\cs_new:Npn \__mytest_foo_aux:n #1 { some~ code~ of~ #1 }

也可以。

expl3对于较大的项目,人们可能会在与“用户界面规范”(使用)不同的文件中找到“实现”(使用约定xparse),因此即使代码没有改变,加载的顺序也可能因文档而异。

xparse是围绕着在某些底层实现的功能上指定一个或多个 LaTeX2e 样式的接口这一理念而设计的,因此是否将规范放在实现之前主要取决于您想要如何记录事物,尽管文档不一定需要遵循代码。您可能在expl3添加接口之前编写了较低级别的代码xparse,或者您可能使用规范出一个用户界面xparse,然后稍后实现一些东西来支持它。

相关内容