在新命令中测试-xstring 包

在新命令中测试-xstring 包

我正在尝试创建一个新命令,以测试另一个命令是否以字符串“...s\xspace”或“...\xspace”结尾,其中点是 s 以外的其他字符。

我发现 xstring 包可以让我测试这一点,因此我想出了测试, \IfEndWith{\sub}{s\xspace}{\sub'}{\sub's}其中“\sub”是我自己命令,返回指定的名称,有时会更改。(可能是“Lucas”或“John”)。这个测试似乎按预期工作。

如果 \sub-command 返回“Lucas”,我希望新命令返回“Lucas'”(带撇号)。如果 \sub-command 返回“John”,我希望新命令返回“John's”。

对于新命令,我创建了以下内容:

\newcommand{\subpos}{%
  \IfEndWith{\sub}{s\xspace}{\sub'\xspace}{\sub's\xspace}%
}

但是它编译失败,我想它想让我创建一个“Iffalse”语句,我认为该语句已合并到“IfEndWith”测试中?

我怎样才能更改我的新命令以使其发挥作用?

如果我应该提供 MWE 或任何其他有帮助的信息,请告诉我。

相关内容