我想要一个 LuaTeX 的 Lua 函数,名为
replaceButIgnoreSpacesAndComments (<string>, <what to replace>, <what to replace it by>)
它应该像字符串替换函数一样工作,只不过在扫描<string>
,它必须忽略所有空格和 TeX 注释。最好不要消除不过,它所替换的文本之外一般都有注释和空格。
换句话说,我希望replaceButIgnoreSpacesAndComments
大致像这样工作:如果我运行
replaceButIgnoreSpacesAndComments( [[
\mymacro
[
3 % this is my comment
]
{
4 % this is my argument
} + b + c % another comment
]] , "\mymacro[3]{4}", "\frac{x+3}{x+4}")
那么这应该返回字符串
[[
\frac{x+3}{x+4} + b + c % another comment
]]
TeX 命令\ReplaceButIgnoreSpacesAndComments
也可以,但是我不知道如何让它保留注释。
我还想要一个变体,,replaceOnceButIgnoreSpacesAndComments
它应该有点像\tl_replace_once:Nnn
,即它应该只替换第一次出现的情况。