我正在尝试创建一个新命令,以测试另一个命令是否以字符串“...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 或任何其他有帮助的信息,请告诉我。