\DeclareUnicodeCharacter{2212}{-} no funciona para el compilador LuaLatex

\DeclareUnicodeCharacter{2212}{-} no funciona para el compilador LuaLatex

Estoy al dorso donde puedo cambiar el compilador que uso. Estoy trabajando en un póster y necesito el uso de LuaLatex como compilador. Sin embargo, la línea "\DeclareUnicodeCharacter{2212}{-}" provoca un error de "secuencia de control no definida".

Daré un ejemplo para ilustrar mi punto.

\documentclass[pt]{beamer}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage{upgreek}
\usepackage{mathtools}
\usetheme{Berlin}

\DeclareUnicodeCharacter{2212}{-}

\begin{document}
\begin{frame}{Example}
    The equation is
    \begin{equation}
    y=mx+c
    \end{equation}
\end{frame}
\end{document}

Se compila bien cuando elijo el compilador "pdfLatex", pero se rompe cuando uso el compilador "LuaLatex". ¿Existe una línea alternativa (para \DeclareUnicodeCharacter{2212}{-}) que pueda usar para el compilador LuaLatex? Gracias.

Respuesta1

Le sugiero que modifique su preámbulo para que pueda compilar el documento con pdfLaTeX o LuaLaTeX.

\documentclass[pt]{beamer}
\usetheme{Berlin}
\usepackage[brazil]{babel}

\usepackage{iftex} % for '\iftutex' and related conditionals
\iftutex
   \usepackage{fontspec} % optional
\else
   \usepackage[T1]{fontenc}
   %\usepackage[utf8]{inputenc} % 'utf8' is the default nowadays
   \DeclareUnicodeCharacter{2212}{-}
   \usepackage{upgreek}
\fi

\usepackage{mathtools} % no need to load 'amsmath' separately

\begin{document}
\begin{frame}{Example}
    The equation is
    \begin{equation}
    y=mx-c
    \end{equation}
\end{frame}
\end{document}

Con esta configuración, los paquetes inputency fontencse cargan sólo si se utiliza pdfLaTeX para compilar el documento.

Aparte: dado que el mathtoolspaquete se carga amsmathautomáticamente, no es necesario cargarlo amsmathpor separado. (Y, con la beamerclase, amsmathel paquete se carga de forma predeterminada...)

Respuesta2

Puedes usar el newunicodecharpaquete en cualquier motor:

\usepackage{newunicodechar}

\newunicodechar{−}{-} % U+2212

Sin embargo, si desea utilizar la entrada Unicode en LuaLaTeX, probablemente sea mejor cargar unicode-mathcon la professionalfontsopción beamer.

información relacionada