2

I'm using a custom datetime format and a custom environment to generate a list of dates (for a course syllabus), and would like to modify it a bit more to add the abbreviated day name after the numerical date.

Here's what I have:

\documentclass{article}
\usepackage{advdate}
\usepackage[dayofweek]{datetime}% http://ctan.org/pkg/{advdate,datetime}
\newdateformat{syldate}{\THEMONTH/\THEDAY ()}
\newenvironment{schedule}
  {\par\syldate\renewcommand{\item}{\par%
    \stepcounter{mycntr}\ifnum\value{mycntr}>2\relax%
      \setcounter{mycntr}{0}\AdvanceDate[3]%
    \else
      \AdvanceDate[2]%
    \fi\today\quad}
  }{\par}
\SetDate[02/09/2013]
\newcounter{mycntr}
\begin{document}
\begin{schedule}
  \item Something
  \item Something else
  \item Relax
  \item Go to the sea
  \item Something
  \item Something else
  \item Relax
  \item Go to the sea

\end{schedule}
\end{document}

Which yields the following:

enter image description here

I would like to add the abbreviated day name of the corresponding date in those empty parentheses. So the final would look something like this:

9/4 (W) Something

9/6 (F) Something

9/9 (M) Something

Any pointers? Can't figure out how to do it just from the datetime package documentation, I found the dayofweek package option but that seems to only modify \today.

1 Answer 1

4

You can use the need use \shortdayofweekname for the standard abbreviated names with 3 characters (Mon, etc).

For something different you can change \shortdayofweeknameidenglish or define a similar command for another language (texdoc datetime, page 12).

For example, to define abbreviations with two characters:

MWE

\documentclass{article}
\usepackage{advdate}
\usepackage[dayofweek]{datetime}

\renewcommand{\shortdayofweeknameidenglish}[1]{%
\ifcase#1\relax
\or Su%
\or Mo%
\or Tu%
\or We%
\or Th%
\or Fr%
\or Sa%
\fi}

\newdateformat{syldate}{\THEMONTH/\THEDAY%
(\shortdayofweekname%
{\THEDAY}{\THEMONTH}{\THEYEAR})}
\newenvironment{schedule}
  {\par\syldate\renewcommand{\item}{\par%
    \stepcounter{mycntr}\ifnum\value{mycntr}>2\relax%
      \setcounter{mycntr}{0}\AdvanceDate[3]%
    \else
      \AdvanceDate[2]%
    \fi\today\quad}
  }{\par}
\SetDate[01/07/2013]
\newcounter{mycntr}
\begin{document}
\begin{schedule}
  \item Something 
  \item Something else
  \item Relax
  \item Go to the sea
  \item Something
  \item Something else
  \item Relax
  \item Go to the sea

\end{schedule}
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .