Annual cuti-cuti Malaysia calendar time — 2025 is nigh upon us.
The Cuti-cuti Malaysia 2025 calendar LaTeX source files are available as an Overleaf read-only project here. By default, when you open the project, it compiles and generates (may take about half a minute) an A4-sized portrait calendar that highlights national and Penang state public holidays and school holidays, along with the nongli (Chinese lunisolar) calendar. Once the compile has finished and the PDF preview is updated, click on the icon above the PDF preview panel, or Menu > PDF to download it.
Other sizes and layouts
Other size or layout options are available: refer to the infographic below; choose the corresponding file name from the file tree panel, then click Recompile above the PDF preview panel.
This year I added the 1610
and 169
versions, to produce PDFs with 16:10 and 16:9 aspect ratios: you can then generate wallpapers from them using GhostScript and ImageMagick.
First generate .jpg images from the .pdf using GhostScript — I chose 600 dpi to make sure that I get good resolution:
$ gs -o cuti2025-1610-%02d.jpg -sDEVICE=jpeg -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 cuti2025-1610.pdf $ gs -o cuti2025-169-%02d.jpg -sDEVICE=jpeg -r600 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 cuti2025-169.pdf |
We’ve already got 12 .jpg there, one for each month. But the file sizes are unnecessarily large, so I’d use ImageMagick to resize them a bit:
$ mogrify -unsharp 0x0.75+0.75+0.008 -resize 3456x cuti2025-1610-*.jpg $ mogrify -unsharp 0x0.75+0.75+0.008 -resize 1920x cuti2025-169-*.jpg |
Obtaining/editing the source files
You’ll need to edit the source code if you’d like to make calendars for other states (modify \providecommand{\mylocation}{Penang}
), change the pictures, or add other events etc (see my blog post from last year or the cdcalendar
README file for details on possible customisations.) You can either clone an editable copy of the project to your own Overleaf account; or download the full source code as a .zip file to your local machine by Menu > Source. When compiling on a local machine, use XeLaTeX and compile twice to get the event location markers correct.
Data sources
The calendar data used in this sample were obtained from the following sources.
- Malaysian public holiday data was sourced from BKPP, JPM’s portal.
- Malaysian school holiday data was sourced from the Malaysian Ministry of Education’s portal.
- Chinese lunar calendar data was generated from here, converted to a CSV file and Simplified Chinese and some minor editing for typesetting purposes (inserting
\\
for line breaks. - Watercolour paintings in the sample calendar are by Wong Mun Choong.
- The codebase uses the custom LaTeX document class, cdcalendar. The basic template is also available on Overleaf.