datetime2,缺少挪威星期几

datetime2,缺少挪威星期几

我曾尝试过如何启用打印星期几,但似乎无法在挪威语中做到这一点。在英国语中却没问题。我确实意识到这可能是因为挪威语中通常省略了日期,但当我强制这样做时应该可以工作。

\documentclass[11pt,norwegian]{article}
\usepackage[useregional,showdow,calc]{datetime2}
\begin{document}

\DTMdate{2015-11-09}
\end{document}

制作日期:2015 年 11 月 9 日

\documentclass[11pt,british]{article}
\usepackage[useregional,showdow,calc]{datetime2}
\begin{document}

\DTMdate{2015-11-09}
\end{document}

虽然这会产生:2015 年 11 月 9 日星期一

我需要它适用于任何给定的日期,而不仅仅是今天。

提前致谢。

答案1

这是日期样式的修补版本norsk

\documentclass[11pt,norwegian]{article}
\usepackage[useregional,showdow,calc]{datetime2}

% undefine the norsk date style so \DTMnewdatestyle doesn't cause an error    
\csundef{@dtm@datestyle@norsk}

\DTMnewdatestyle{norsk}{%
   \renewcommand*\DTMdisplaydate[4]{%
     \ifDTMshowdow
       \ifnum##4>-1
         \DTMnorskweekdayname{##4}%
         \space
       \fi
     \fi
     \DTMifbool{norsk}{showdayofmonth}
     {\DTMnorskordinal{##3}\DTMnorskdaymonthsep}%
     {}%
     \DTMnorskmonthname{##2}%
     \DTMifbool{norsk}{showyear}%
     {%
       \DTMnorskmonthyearsep
       \number##1
     }%
     {}%
   }%
   \renewcommand*\DTMDisplaydate[4]{%
     \ifDTMshowdow
       \ifnum##4>-1
         \DTMnorskWeekdayname{##4}%
         \space
       \fi
     \fi
     \DTMifbool{norsk}{showdayofmonth}
     {%
       \DTMnorskordinal{##3}\DTMnorskdaymonthsep
       \DTMnorskmonthname{##2}%
     }%
     {%
       \ifDTMshowdow
         \ifnum##4>-1
           \DTMnorskmonthname{##2}%
         \else
           \DTMnorskMonthname{##2}%
         \fi
       \else
          \DTMnorskMonthname{##2}%
       \fi
     }%
     \DTMifbool{norsk}{showyear}%
     {%
       \DTMnorskmonthyearsep
       \number##1
     }%
     {}%
   }%
}

\DTMsetdatestyle{norsk}

\begin{document}

\DTMdate{2015-11-09}
\end{document}

得出的结果为:

曼达格 2015年11月9日

编辑:

我刚刚将datetime2v1.2 上传到 CTAN,现在您可以重新定义样式。可能需要几天时间才能进入发行版,但一旦可用,黑客\csundef就不再需要,您可以替换以下几行:

% undefine the norsk date style so \DTMnewdatestyle doesn't cause an error    
\csundef{@dtm@datestyle@norsk}

\DTMnewdatestyle{norsk}{%

只需

\DTMrenewdatestyle{norsk}{%

答案2

我做了一个简单的修改,让它使用新命令工作。这不是一个好的修复方法,但它可以完成工作,直到有人编辑官方挪威语模块。

\documentclass[11pt,norwegian]{article}
\usepackage[useregional,showdow,calc]{datetime2}
\usepackage{xparse}
\NewDocumentCommand{\dato}{sm} % hack to force day of week to be shown.
         {\DTMsavedate{datooo}{#2}\IfBooleanTF{#1}
           {\DTMnorskWeekdayname{\DTMfetchdow{datooo}} \DTMusedate{datooo}
           }
           {\DTMnorskweekdayname{\DTMfetchdow{datooo}} \DTMusedate{datooo}
           }
        }
\begin{document}
\dato{2015-11-09}
\dato*{2015-11-09}
\end{document}

制作: 曼达格 2015 年 11 月 9 日 曼达格 2015 年 11 月 9 日

相关内容