如何使模板与多个 LaTeX 发行版(不同版本)兼容?

如何使模板与多个 LaTeX 发行版(不同版本)兼容?

我正在开发一个模板,其中我们使用函数\text_purify:n

在此处输入图片描述

但此功能于 2020-03-05 才添加,因此不是 TeXlive 2019 的一部分。问题是,此模板也必须在 vanilla Ubuntu 20.04 LTS(无需手动安装 TeXlive)上运行,只能通过可用的软件包运行。

不假设我有以下代码:

\documentclass{article}

%\usepackage{expl3,xparse}

\ExplSyntaxOn
\NewDocumentCommand{\MyPurifyFunction}{m}{\text_purify:n #1}
\ExplSyntaxOff

\begin{document}
    \MyPurifyFunction{Test}
\end{document}

\usepackage{expl3,xparse}TeXlive 2019 需要,但我该如何让它\NewDocumentCommand{\MyPurifyFunction}{m}{\text_purify:n #1}可编译呢?我只要说:

\if_text_purify_not_available
\NewDocumentCommand{\MyPurifyFunction}{m}{#1}

所以基本上什么\MyPurifyFunction都不做,但我该如何实现这个\if_text_purify_not_available部分呢?

答案1

正如评论中指出的那样,有多种方法可以检查宏是否存在,对于 LaTeX3,最合适的解决方案是:

\NewDocumentCommand{\MyPurifyFunction}{m}{\cs_if_exist:NTF \text_purify:n {\text_purify:n #1}{#1}}

相关内容