datetime2 패키지로 인해 scrlttr2 문서가 실패함

datetime2 패키지로 인해 scrlttr2 문서가 실패함

datetime2문서 에서 패키지를 사용할 때 scrlttr2오류가 발생합니다.

/usr/share/texlive/texmf-dist/tex/latex/datetime2/datetime2.sty:368: LaTeX 오류: \오늘은 정의되지 않았습니다.

설명은 LaTeX 매뉴얼이나 LaTeX Companion을 참조하세요. 즉각적인 도움을 받으려면 H를 입력하세요. ... l.368 \renewcommand*{\today} {%

이를 재현하는 코드는 다음과 같습니다.

\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}

을 꺼내면 datetime2문서가 제대로 작동하고 \today정의됩니다.

문제를 일시적으로 해결하기 위해 제가 찾은 유일한 방법은 \newcommand\today{}로드하기 전에 전화하는 것이지만 datetime2왜 그렇게 해야 하는지 아는 것이 좋을 것입니다.

답변1

주석에서 언급했듯이 문제는 문서 시작 부분에서만 scrlttr2정의하는 것에서 비롯됩니다( 클래스가 로드되는 시기를 정의하는 대부분의 클래스와는 달리). v1.4부터 이제 확인합니다 (이미 정의되어 있다고 가정하지 않음 ). 이전 버전의 경우 다음은 임시 수정 사항입니다.\today\todaydatetime2scrlttr2\today

\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}

관련 정보