Al utilizar el datetime2
paquete en un scrlttr2
documento, 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 \today
está definido.
La única forma que encontré para solucionar temporalmente el problema es llamar \newcommand\today{}
antes de cargar, datetime2
pero sería bueno saber por qué tengo que hacerlo.
Respuesta1
Como se menciona en los comentarios, el problema surge de scrlttr2
definir solo \today
al inicio del documento (a diferencia de la mayoría de las clases que definen \today
cuándo se carga la clase). A partir de la versión 1.4, datetime2
ahora comprueba scrlttr2
(y no supone \today
que 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}