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.

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}

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.