1

Upon running pdflatex on the input

\documentclass{elsarticle}%%% Version 3.1. Actually I use the options [nonatbib,twoside,preprint] or [nonatbib,twoside,review], but it's irrelevant, I hope.
\usepackage[british]{babel}
\begin{document}
\begin{frontmatter}
%%% Here lots of junk in British English.
\end{frontmatter}
\end{document}

We obtain the front page where the right lower corner has

12th March 2019

(or whatever other date we might have today.) I write, however, using the Oxford style, i.e., dates in general should have no suffixes such as "st", "nd", "rd", or "th". How to get

12 March 2019

automatically?

My quick-and-dirty solution would be

\documentclass{elsarticle}
\usepackage[australian,british]{babel}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\ps@pprintTitle}
{\@date}
{\begin{otherlanguage}{australian}{\@date}\end{otherlanguage}}
{}
{}
\makeatother
\begin{document}
\begin{frontmatter}
%%% Here lots of junk in British English.
\end{frontmatter}
\end{document}

An alternative would be to say something like

\documentclass{elsarticle}
\usepackage[australian,main=british]{babel}
\makeatletter
\let\old@date\@date
\renewcommand{\@date}{\begin{otherlanguage}{australian}\old@date\end{otherlanguage}}
\makeatother
\begin{document}
\begin{frontmatter}
%%% Here lots of junk in British English.
\end{frontmatter}
\makeatletter
\@date
\makeatother
\end{document}

However, all these solutions seem like a great hack to me. Is there anything simpler or more elegant and portable?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.