store a date with datetime2 and use it with termcal

Course Queries Syllabus Queries 3 years ago

1.99K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

 

I am making a class syllabus using the "termcal" package and would like to store the starting date for the first class so I can use it for different elements of the syllabus. I am currently trying to store the date using the \DTMsavedate function from the "datetime2" package.

The date will show fine if you use, for example, \DTMusedate{startDate} within a paragraph. But if I try to pass it to the date option for \begin{calender}, I get the error message "Paragraph ended before \setdate@ was complete". Is there a way to make this work? The MWE:

\documentclass[12pt]{article}
\usepackage{termcal}
\usepackage[american,useregional=numeric]{datetime2}
\DTMsavedate{startDate}{2017-8-29}

\begin{document}

\begin{calendar}{\DTMusedate{startDate}}{16} 

\setlength{\calboxdepth}{.3in}
\setlength{\calwidth}{0.8\textwidth} 

% Description of the Week.
\calday[Tuesday]{\classday} 
\skipday
\calday[Thursday]{\classday}
\skipday
\skipday
\skipday
\skipday

\end{calendar}

\end{document}

I would really appreciate any help with this, thanks!

0 views
0 shares

profilepic.png
manpreet 3 years ago

First, welcome to TeX.SX. It's nice to see a new user, who knows how to ask and do a MWE.

The termcal package only accepts dates in the format <month>//. And the date argument of \begin{calendar} is not expanded before parsing, i.e. macros can't be used. The latter can be changed, but this doesn't work with `\DTMusedate'.

If you don't insist on using the datetime2 package, then here is a solution without it.

To save the date, a simple command \startDate is defined, just containing the date in the correct format. And to make macros work as argument for \begin{calendar} \setdate is redefined so it expands the argument before it's parsed.

\documentclass[12pt]{article}
\usepackage{termcal}
\newcommand*{\startDate}{08/29/2017}

\makeatletter
\renewcommand{\setdate}[1]{\expandafter\setdate@#1!}
\makeatother

\begin{document}

\begin{calendar}{\startDate}{16} 

\setlength{\calboxdepth}{.3in}
\setlength{\calwidth}{0.8\textwidth} 

% Description of the Week.
\calday[Tuesday]{\classday} 
\skipday
\calday[Thursday]{\classday}
\skipday
\skipday
\skipday
\skipday

\end{calendar}

\end{document}

0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum