lua 如何帮助类或包作者?

lua 如何帮助类或包作者?

我正在维护一个相当简单的类,供我自己和一些同事在公司内部使用。大部分内容都很简单,比如包括徽标、设置纸张格式、调整颜色、设置标题和将文档设置为不同的语言...... - 你明白了。

此外,加载我们同意的所有包并包含有用的宏。这里没什么特别的。

TeX / LaTeX 编程功能总是让我感到困惑,我总是在弄清楚正确的语法方面遇到大问题,并且经常弄巧成拙。

lua 能否帮助提供更“现代”的脚本语言的功能?

因此不要使用类似这样的方法:

[...]
\RequirePackage{ifthen}
\DeclareStringOption{language}

\ifthenelse{\equal{\myclassname@language}{deutsch}}
{
  \PassOptionsToClass{ngerman}{scrartcl}
  \PassOptionsToPackage{ngerman}{varioref}
  [more language specific loading]
}
{
  \ifthenelse{\equal{\myclassname@language}{english}}
  {
    \PassOptionsToClass{english}{scrartcl}
    \PassOptionsToPackage{english}{varioref}
[...]
  }
  {
    \ifthenelse{\equal{\myclassname@language}{portuges}}
    {
      \PassOptionsToClass{portuges}{scrartcl}
      \PassOptionsToPackage{portuges}{varioref}
[...]
    }
    {
[...]
  }
}

我只是想将一个字符串变量从 .tex 文件传递​​到 .cls 文件:

if (\myclassname@language == "deutsch") then
 function_deutsch(foo)
elseif (\myclassname@language == "english") then
  function_english(bar)
elseif (\myclassname@language == "portuges") then
 [...]
end

与 latex / pdflatex / xetex 的兼容性...不是问题,也不是要求

编辑:基于 lua 函数的解决方案不再进一步研究。建议基于 expl3 / latex3 进行重写(例如正如这里所问):

相关内容