Ş 的 Xstring 问题

Ş 的 Xstring 问题

我想使用 xstring 版本 1.7。但是 ş 和 ç 会导致问题。例如

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xstring}

\begin{document}

\StrSubstitute{ş}{a}{b}

\end{document}

会产生一长串错误,例如:

! Illegal parameter number in definition of \@xs@arg@ii.

我正在使用带有 utf8 选项的编码包,其他字符(例如 ö、ü 和 ğ)都可以。

编辑:这是 mwe 的完整拼写。

答案1

包默认xstring使用\edef扩展参数,然后命令可以像 UTF8 字符一样中断。

可以更改扩展模式,例如\noexpandargs完全阻止扩展。它可以在组内使用,也可以保存扩展模式并在之后恢复:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xstring}

\begin{document}

\saveexpandmode
\noexpandarg
\StrSubstitute{ş}{a}{b}
\restoreexpandmode

\end{document}

相关内容