The Future of GayaUKM

I first created GayaUKM, a LaTeX document class and template for authoring theses following the formatting guidelines of University Kebangsaan Malaysia (UKM) in 2013, on a commission by Pusat Pengurusan Siswazah, UKM.

With inputs from PPS, faculty and students from UKM, GayaUKM is now at v1.4. Unfortunately, I no longer quite have the time to continue maintaining and updating GayaUKM after v1.4.

I am therefore very glad to announce that Dr Mohd Hairi Mohd Zaman, from UKM’s Department of Electrical, Electronic and Systems Engineering, have agreed to take up the mantle to maintain GayaUKM. Thank you, Hairi! The new Github repo address is at https://github.com/mohdhairimohdzaman/GayaUKM.

I thank also UKM’s PPS thesis committee, especially Dr Asyraf and Dr Zambri, for their past support of GayaUKM and for helping to spread the word about LaTeX among Malaysian academics and students.

Cuti-cuti Malaysia: Customisable State-by-state Holidays Calendar for 2020

Erm… I am sorry that I had neglected this blog to the point that it’s now the annual announcement for the Cuti-cuti Malaysia calendars 😅

But anyway, here it is. You can download the PDF customised for Penang here.

PG-2020

Federal public holidays are highlighted in solid shaded pink circles, as in 25–26 January. Public holidays that are applicable for your home state (Penang in the above example) would be highlighted in solid shaded purple circles, as in 1 January. Public holidays in other states (relative to your home state) are also highlighted, but only in a hollow purple circle. See e.g. 1 February (Federal Territory Day) which is a public holiday in Kuala Lumpur, Putrajaya and Labuan, but not in Penang.

This year I’ve tried to add some code that automatically detects if the Monday after a public holiday (for states like Penang, Selangor…) would also be a holiday. For example, 26 Jan falls on a Sunday; therefore 27 Jan is also a holiday: this is highlighted in the calendar by a pink shaded circle but without a solid outline.

School holidays are also highlighted, though not shown in the above sample images.

If you’d like to generate your own calendar for your own home state, or to change the illustrations/fonts/colours/etc, you can download the source code and compile with XeLaTeX. If you have an Overleaf account, you can also visit my read-only project and clone it to your own Dashboard. See last year’s post for instructions on how to customise your calendar.

This year I’ve also updated the cdcalendar class so that the giant option would generate mini calendars for the previous and next month, upon a feature request from my daughter. (Children can often come up with the most useful and practical feature requests!) While implementing it, I was pleasantly surprised that TikZ’s calendar would correctly print December 2019’s calendar when presented with a date like 2020-0-01, and January 2021’s calendar when given 2020-13-01!

BTW if you would like to use Bahasa Melayu month headings instead, change

\documentclass[17pt,british,giant]{cdcalendar}

to

\documentclass[17pt,nobabel,giant]{cdcalendar}
\usepackage[bahasam]{babel}
\usepackage{ms-mod}

Data sources

The calendar data used in this sample were obtained from the following sources, and I cannot guarantee their accuracy and correctness.

  1. Malaysian public holiday data was sourced from the Google Calendar here using the Google Calendars API, then converted to a tab-separated values file.
  2. Malaysian school holiday data was sourced from the Malaysian Ministry of Education’s webpage.
  3. Chinese lunar calendar data was sourced from here, converted to a CSV file and Simplified Chinese and some minor editing for typesetting purposes (inserting \\ for line breaks.

Happy New Year 2020!

Cuti-cuti Malaysia: 2019 calendar with Malaysian public and school holidays

I made a calendar marked with Malaysian holidays for personal use, and then decided to make it public. It uses my LaTeX CD calendar template. Here are some sample pages:
February 2019 calendar marked with Malaysian holidays, customised for PenangMarch 2019 calendar marked with Malaysian holidays, customised for Penang
Download Cuti-cuti Malaysia 2019 Calendar for Penang
Download LaTeX source code files

This has been customised specifically with Penang in mind, so state holidays observed in Penang are marked with filled purplish circles, while holidays observed in other states are marked with hollow circles. National holidays are marked with filled red circles.

Customisations

Here are the LaTeX source code files if you’d like to re-generate the calendar for a different state, or if you’d like to customise it further. You can also clone the template project if you have an Overleaf account.

Calendars for other states or federal territories

If you’d like to generate a calendar with state holidays marked for a different state, Download the source code, change the line

\def\mylocation{Penang}

to a different state or federal territory, and recompile the .tex file with XeLaTeX. For example:

\def\mylocation{Kuala Lumpur}

Valid values for \mylocation: Kedah, Johor, Kelantan, Terengganu, Malacca, Negeri Sembilan, Pahang, Penang, Perak, Sabah, Sarawak, Selangor, Kuala Lumpur, Labuan, Putrajaya.

Add Chinese lunar calendar

You can also uncomment this line in the .tex file’s preamble:

\providetoggle{chinese-lunar}\toggletrue{chinese-lunar}

The generated calendar would then include the Chinese lunar calendar.
February 2019 calendar marked with Malaysian holidays and Chinese lunar calendar, customised for PenangMarch 2019 calendar marked with Malaysian holidays and Chinese lunar calendar, customised for Penang
Download Cuti-cuti Malaysia 2019 Calendar for Penang, with Chinese lunar calendar

Add your own events

You can add your own events to the calendar and define your own styles for their markers. For example:

\tikzset{personal/.style={text=YellowGreen!50,font=\Large}}
\tikzset{work/.style={fill=SkyBlue!50,shape=cloud,aspect=1.5}}
 
\begin{monthCalendar}{2019}{01}
\event[mark style=personal,marker=\faBirthdayCake]{2019-01-12}{}{Someone's birthday}
\event[mark style=work]{2019-01-23}{2019-01-24}{Business trip}
\end{monthCalendar}

would produce this output in the January calendar:

Adding your own events to the calendar

Changing or removing the images

All photos in this sample, in the flickr/ folder, were downloaded from Flickr and are licensed under Creative Commons licenses. You can replace them with your own images for your own use. Remember to change the \graphicspath{{flickr/}} line if you use a different folder for the images.

If you do not want any illustrations, simply remove the \illustration commands before each month’s calendar.

For further information about the underlying cdcaleandr class and template, see this blog post or its Github repository.

Data sources

The calendar data used in this sample were obtained from the following sources, and I cannot guarantee their accuracy and correctness.

  1. Malaysian public holiday data was sourced from the Google Calendar here and converted to a tab-separated values file.
  2. Malaysian school holiday data was sourced from the Malaysian Ministry of Education’s webpage.
  3. Chinese lunar calendar data was sourced from here, converted to a CSV file and Simplified Chinese and some minor editing for typesetting purposes (inserting \\ for line breaks.

Happy New Year 2019!

“Why is LaTeX doing all the APA citations wrong?”

Over the years I get emails asking the above question, especially in thesis templates where the university requires the APA citation and referencing style, which I usually implement with

\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}

Alternatively biblatex can also be used:

\usepackage[backend=biber,natbib,style=apa]{biblatex}

“If LaTeX is so great, why is it making all the APA citations wrong? It should always be (Author1, et al., 2012), but it keeps giving me (Author1, Author2, & Author 3, 2012) when I cite this entry. Should I stop using LaTeX?”

Riiight. Is apacite really doing things wrongly? First let’s see what the APA6 guidelines say about citations:

the first in-text citation for a work with three to five
authors/editors
includes all of the names of the authors/editors, subsequent citations include only the first author’s/editor’s surname, followed by et al. and the year.

So the first time you cite a source with 3 ≤ # of authors ≤ 5, it should come out as (Author1, Author2, & Author 3, 2012). It’ll only come out as (Author1, et al., 2012) if you cite it again later. The apacite and biblatex-apa packages both do exactly this.

Incidentally if it does come out as (Author1 et al, 2012) the first time you cite it: are there are 6 authors or more for this source? Then yes, this is correct; this is exactly what the APA6 guidelines say to do with such sources. But if this source has 3 ≤ # of authors ≤ 5 and the first citation in your thesis (it’s there on page 1 of Chapter!) is still the abbreviated version (Author1 et al, 2012), then the most likely reason is that the true “first citation” has already appeared somewhere in the Table of Contents, List of Figures, or List of Tables, via a \section etc or a \caption!

In this case I’d recommend that you use an optional argument with your sectional heading or caption, which will be used in the table of contents and lists of figures/tables:

\section[The Old Approach]{The Old Approach \citep{Smith:etal:1982}}
\caption[Old Model]{Old Model \citep{Smith:etal:1982}}

So that the list entries in the front matter will not have citations; but the sectional headings and captions in the main text do.

But there is another scenario: not-quite twins, i.e. they are actually authored by different teams of authors even though the first author is the same person; or even if same group of authors, but in a different order.

[H]ow to cite multiple articles by the same authors that were published in the same year so that everyone can easily tell them apart. […] [L]owercase letters are added after the year (2011a, 2011b, etc.), and the references are alphabetized by title to determine which is “a” and which is “b.” […]

However, be careful that your references are true identical twins. That is, the method described above applies only when all author names are the same and appear in the same order. If any of the names or the order is different, then the references are distinguished in a different way: by spelling out as many author names as necessary to tell them apart.

For example: The first source by Adam Smith, Mark Jones, Paul Stark, Someone Blah, 1982 (I ran out of ideas for names)
and the second source by Adam Smith, Foo Bar, Hiya Hill, Mary Doe, 1982

In cases like this, even on subsequent citations, they cannot both be shortened to (Smith, et al., 1982a) and (Smith, et al., 1982b), because that may be ambiguous, implying that both papers are written by the exact  same team of authors in 1982. Instead, they would be cited as (Smith, Jones, et al., 1982) and (Smith, Bar, et al.,1982). Again, this is what apacite and biblatex-apa do.

“But the IPS/Graduate Office/my supervisor insist that all the citations must be shortened to (Author1, et al., 1982) everywhere, otherwise I am not allowed to submit my thesis!”

Yeah, that’s what’s most crucial, isn’t it… There is a way to get a “half-compliant” APA citation scheme. You can either use the \shortcite command provided by the apacite package (thanks to Stefan for reminding me about this in the comments!), or use the apalike bibliography style instead:

\usepackage{natbib}
\bibliographystyle{apalike}

But never say apacite is doing it wrong—it’s actually doing its job very nicely; but certain Graduate Offices and supervisors don’t want the full APA format!