So, I was preparing my clases for the upcoming semester and I wanted to produce an outline of the lectures with the corresponding date and topic. For instance I have a class that’s once a week every Friday. I could look up the calendar and write every date, which is what I initially did. But then I though, I could write a script for this. And that’s when I entered the rabbit hole.1
The script I’m showing here went through several iterations. I had several difficulties until I got it to work. I wasn’t pleased with it, so I fiddled a bit more. Later when I saw Dr Drang’s post about formatting multimarkdown tables with tabulate, I knew I had to use that. So I did. Here’s the script.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
As you can see, the script is quite simple. I give it the year and the months. The loops go over the months, and then the weeks and it looks up the friday of that week. On line 18, I have to append the white spaces " "
and convert day to str
in order to get three columns per day, so that tabulate gives me back a nifty formatted table. Another cool thing is that tabulate can also output in LaTeX format.
The script will produce this:
| Date | Lecture | Lecture Topics |
|:-------|:----------|:-----------------|
| Feb 5 | | |
| Feb 12 | | |
| Feb 19 | | |
| Feb 26 | | |
| Mar 4 | | |
| Mar 11 | | |
| Mar 18 | | |
| Mar 25 | | |
| Apr 1 | | |
| Apr 8 | | |
| Apr 15 | | |
| Apr 22 | | |
| Apr 29 | | |
| May 6 | | |
| May 13 | | |
| May 20 | | |
| May 27 | | |
As you can see it works. However, by now you’re wondering, but what about holidays. The script should be smart enough to exclude holidays. I am implementing this, but I’ll leave it for a future post. When rendered looks something like this:
-
Don’t we all?↩