\dayofweeknameの最初の文字を大文字にする

\dayofweeknameの最初の文字を大文字にする

私は日付、特に を扱っています\dayofweekname。最初の文字を大文字にする方法はありますか(つまり、出力月曜日なるべきです月曜日)? と を試してみましたが\MakeUppercase\capitalisewordsコンパイラはファイルを出力しません (コマンドの内部構造が衝突しているためだと思います)。

これがMWEです

\documentclass[12pt, italian]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{fancyhdr}
\usepackage{datetime}

\pagestyle{fancy}
\rhead{\dayofweekname{12}{03}{2023} 12/03/2023}

\begin{document}

\section{Introduction}

\end{document}

前もって感謝します。

答え1

イタリア語の小文字の曜日名はdt-italian.def、パッケージに同梱されている にハードコードされていますdatetime

% dt-italian.def
\providecommand{\dayofweeknameiditalian}[1]{%
\ifcase#1\relax
\or domenica%
\or luned\`{\i}%
\or marted\`{\i}%
\or mercoled\`{\i}%
\or gioved\`{\i}%
\or venerd\`{\i}%
\or sabato%
\fi}%
\global\let\dayofweeknameiditalian\dayofweeknameiditalian

単純な再定義は機能するはずですが、イタリア語で曜日名をすべて小文字にする必要があるかどうかはわかりません。

\documentclass[12pt, italian]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{fancyhdr}
\usepackage{datetime}

\renewcommand{\dayofweeknameiditalian}[1]{%
  \ifcase#1\relax
  \or Domenica%
  \or Luned\`{\i}%
  \or Marted\`{\i}%
  \or Mercoled\`{\i}%
  \or Gioved\`{\i}%
  \or Venerd\`{\i}%
  \or Sabato%
  \fi}%

\pagestyle{fancy}
\rhead{\dayofweekname{12}{03}{2023} 12/03/2023}

\begin{document}

\section{Introduction}

\end{document}

ここに画像の説明を入力してください

注:datetimeは廃止され、 に置き換えられましたdatetime2。しかし、OP の使用例では ではdatetime2改善されていないようです。曜日は、たとえば「domenica」のように、すべて小文字のままです。

\documentclass[12pt, italian]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{fancyhdr}
% also need package datetime2-italian
\usepackage[calc]{datetime2}

\pagestyle{fancy}
\DTMcomputedayofweekindex{2023-03-12}\dowindex
\rhead{\DTMweekdayname{\dowindex} 12/03/2023}

\begin{document}

\section{Introduction}

\end{document}

関連情報