我正在處理日期,特別是\dayofweekname
.有沒有辦法將第一個字母大寫(即輸出週一應該成為週一)?我嘗試使用\MakeUppercase
and\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}