이 질문은 다음과 유사합니다.연도 없이 날짜 형식 지정, 하지만 답을 추론할 수는 없습니다. 날짜에서 연도를 삭제하고 싶습니다.
\documentclass{article}
\usepackage[spanish,mexico]{babel}
\usepackage{datetime}
\begin{document}
I have: \today
I want: 15 de diciembre
I have: \longdate\today
I want: lunes 15 de diciembre
\end{document}
내가 사용하는 바벨-스페인어는 이 언어에서는 충분하지만 다른 언어에서는 다른 사람들에게 유용할 수 있습니다.
답변1
datetime
\newdateformat
이러한 경우에 대한 명령을 제공합니다 .
\documentclass{article}
\usepackage[spanish,mexico]{babel}
\usepackage{datetime}
\newdateformat{myshort}{%
\THEDAY\ de \monthname[\THEMONTH]%
}
\newdateformat{mylong}{%
\dayofweekname{\THEDAY}{\THEMONTH}{\THEYEAR}
\THEDAY\ de \monthname[\THEMONTH]%
}
\begin{document}
I have: \today
I now have: \myshort\today
I want: 15 de diciembre
I have: \longdate\today
I now have: \mylong\today
I want: lunes 15 de diciembre
\end{document}
답변2
나는 어떤 종류의 스페인어도 구사하지 못하지만 이것은 순전히 \formatdate
. 아래에서는 \noyeardate
출력에서 연도를 제거하는 내용을 제공했습니다 . 또한 de
월 이름 앞에 추가됩니다.
\documentclass{article}
\usepackage[spanish,mexico]{babel}
\usepackage{datetime}
\makeatletter
\let\oldmonthname\monthname
\DeclareRobustCommand*{\longdate}{%
\renewcommand*{\formatdate}[3]{%
\ifshowdow\dayofweekname{##1}{##2}{##3} \fi
\@day=##1\relax\@month=##2\relax\@year=##3\relax
\ordinaldate{\the\@day}\ \monthname[\@month]}%, \the\@year}%
\renewcommand{\monthname}{de \oldmonthname}%
}
\DeclareRobustCommand*{\noyeardate}{%
\renewcommand*{\formatdate}[3]{%
\@day=##1\relax\@month=##2\relax\@year=##2\relax
\number\@day~de \monthname[\@month]}%
}
\makeatother
\begin{document}
\noyeardate
I have: \today
I want: 15 de diciembre
\bigskip
I have: \longdate\today
I want: lunes 15 de diciembre
\end{document}