使用西班牙语 Babel 时 polylongdiv 出错

使用西班牙语 Babel 时 polylongdiv 出错

我使用的是polylongdiv多项式package。当我使用选项时,style=D我得到

失控的争论?

! 扫描 \language@active@arg~ 的使用时发现禁用的控制序列。\par l.8 \polylongdiv[style=D]{x^5}{x^3+2x^2+9x+8} 我怀疑您忘记了一个 `}',导致我读到了您希望我停止的地方。我会尝试恢复;但如果错误很严重,您最好现在输入 `E' 或 `X' 并修复您的文件。

我正在使用 Overleaf,这是 MWE

\documentclass{article}

\usepackage[spanish]{babel}
\usepackage{polynom}

\begin{document}

\polylongdiv[style=D]{x^5}{x^3+2x^2+9x+8}

\end{document}

答案1

您可以使用es-notilde选项来表示如今不再需要的babel简写~n和,因为您可以直接输入和。~NñÑ

\documentclass{article}

\usepackage[spanish,es-notilde]{babel}
\usepackage{polynom}

\begin{document}

\polylongdiv[style=D]{x^5}{x^3+2x^2+9x+8}

\end{document}

polynom.sty或者,修补使用~(没有明显原因)将其替换为\(反斜杠空格)的相关宏:

documentclass{article}

\usepackage[spanish]{babel}
\usepackage{polynom}
\usepackage{regexpatch}

\makeatletter
\regexpatchcmd*{\pld@ArrangeResult}{\~}{\c{nobreakspace}}{}{}
\makeatother

\begin{document}

\polylongdiv[style=D]{x^5}{x^3+2x^2+9x+8}

\end{document}

两种情况的结果相同。

在此处输入图片描述

答案2

\shorthandoff*{~}在宏之前的组中使用:

\documentclass{article}

\usepackage[spanish]{babel}
\usepackage{polynom}

\begin{document}

{\shorthandoff*{~}
\polylongdiv[style=D]{x^5}{x^3+2x^2+9x+8}}

\end{document}

在此处输入图片描述

相关内容