![将 \dayofweekname 首字母大写](https://linux22.com/image/462373/%E5%B0%86%20%5Cdayofweekname%20%E9%A6%96%E5%AD%97%E6%AF%8D%E5%A4%A7%E5%86%99.png)
我正在处理日期,特别是\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}