El documento scrlttr2 falla con el paquete datetime2

El documento scrlttr2 falla con el paquete datetime2

Al utilizar el datetime2paquete en un scrlttr2documento, aparece el error:

/usr/share/texlive/texmf-dist/tex/latex/datetime2/datetime2.sty:368: Error de LaTeX: \today indefinido.

Consulte el manual de LaTeX o LaTeX Companion para obtener una explicación. Escriba H para obtener ayuda inmediata. ... l.368 \renewcommand*{\hoy} {%

El código para reproducir esto se ve así:

\documentclass[british]{scrlttr2}
%\usepackage{polyglossia}
%\setmainlanguage[variant=british]{english}
\usepackage{babel}
\usepackage{datetime2}
\begin{document}
\begin{letter}{test}
\opening{Hello}
\today
\closing{Bye}
\end{letter} 
\end{document}

Si saca datetime2, el documento funciona bien y \todayestá definido.

La única forma que encontré para solucionar temporalmente el problema es llamar \newcommand\today{}antes de cargar, datetime2pero sería bueno saber por qué tengo que hacerlo.

Respuesta1

Como se menciona en los comentarios, el problema surge de scrlttr2definir solo \todayal inicio del documento (a diferencia de la mayoría de las clases que definen \todaycuándo se carga la clase). A partir de la versión 1.4, datetime2ahora comprueba scrlttr2(y no supone \todayque ya esté definido). Para versiones anteriores, la siguiente es una solución temporal:

\documentclass[british]{scrlttr2}

\usepackage{babel}

\def\today{}
\usepackage{datetime2}
\let\orgtoday\today

\begin{document}
\let\today\orgtoday
\begin{letter}{test}
\opening{Hello}
\today
\closing{Bye}
\end{letter}
\end{document}

información relacionada