Error en polylongdiv al usar babel en español

Oct 03 2020

Estoy usando polylongdivde polynom package. Cuando uso la opción style=Dobtengo

¿Argumento fuera de control?

! Se ha encontrado una secuencia de control prohibida al escanear el uso de \ language @ active @ arg ~. \ par l.8 \ polylongdiv [style = D] {x ^ 5} {x ^ 3 + 2x ^ 2 + 9x + 8} Sospecho que has olvidado un `} ', lo que me hace leer más allá de donde querías que lo hiciera detener. Intentaré recuperarme; pero si el error es grave, será mejor que escriba 'E' o 'X' ahora y arregle su archivo.

Estoy usando Overleaf, y aquí hay un MWE

\documentclass{article}

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

\begin{document}

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

\end{document}

Respuestas

4 egreg Oct 04 2020 at 12:10

Puede usar la es-notildeopción babelpara hoy en día las abreviaturas ~ny ~Nya no son necesarias, ya que puede escribir directamente ñy Ñ.

\documentclass{article}

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

\begin{document}

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

\end{document}

Alternativamente, parchee la macro relevante en polynom.styque usa ~(sin razón aparente) para reemplazarla con \ (barra invertida-espacio):

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}

El resultado es el mismo en ambos casos.

3 Bernard Oct 04 2020 at 10:38

Usar \shorthandoff*{~}en grupo antes de la macro:

\documentclass{article}

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

\begin{document}

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

\end{document}