1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# weekschedule
A LaTeX class for creating reasonably attractive (or at least not
hideously ugly) schedules.
## Description
I created the `weekschedule` class to make visual representations of my
semester schedule to post on the door of my office. It supports a small
range of options for configuring how the schedule renders, including
12 vs 24 hour time and 5 or 7 day weeks. It's based on TikZ and produces
a landscape, single page document ready for taping to any office door.
This project was almost 100% vibe coded, so user beware. I seems to work
fine for my use cases, but I have not pushed it terribly hard. If you
do encounter any issues, feel free to reach out and I can take a look at
getting it fixed. If you're interested, it was made by first having Claude
Sonnet create a one-off, hard coded schedule, and then having Opus write a
class to emulate the schedule using an interface that I specified. It did
take a little iteration, but the whole thing went surprisingly smoothly.
## Installation
LaTex looks for class files within the working directory, as well as
within standardized directories (called a Tex tree) on your machine. The
easiest way to use this class is to simply dump it into the same
directory as the LaTex file you're working on, and use `weekschedule`
as the document class. You'll need to refer to the documentation for
your LaTex distribution for details on where to put the `.cls` file for
systemwide use.
## Using Examples
Example files are located in the `examples/` directory. They can be
compiled directory from the project root using,
```bash
$ pdflatex examples/weekly_schedule.tex
```
## Quick Start
```latex
\documentclass{weekschedule}
\scheduletitle{My Weekly Schedule}
\timefrom{8:00}
\timeto{17:00}
\twelvehourtime
\eventclass{Work}{255,200,200}
\event{Work}{Meeting}{Monday}{9:00}{10:00}
\begin{document}
\printschedule
\end{document}
```
## Documentation
Out of laziness, I AI generated some docs. I'll eventually get around
to writing "real" documentation, but for now this appears correct and
may be useful. The slop docs are available in the `doc/` directory.
## TODO
There are a couple of specific features that are currently missing from
the class.
- Support for overlapping events
- Actual documentation--the existing docs file was one-shot AI generated from the source code.
## License
Copyright (c) 2026, Douglas B. Rumbaugh
This work is licensed under the Modified BSD License (3-clause BSD License).
See the `LICENSE` file for the full license text.
|