Featured Post

We've moved to tex.my!

It’s been great writing on Blogger.com, but we’ve decided to move to a new platform, thanks to some valuable help from a great, great friend...

Showing posts with label templates. Show all posts
Showing posts with label templates. Show all posts

Tuesday, June 23, 2015

A multilingual, customisable CD/floppy disk jewel case calendar with LaTeX

This post is also published on the Overleaf blog.

LaTeX's versatility makes it a rather handy (and free!) tool for creating various goodies, including monthly calendars. So here's my stab at creating a LaTeX class and template for creating customisable, multilingual monthly calendars, that fit in CD or 3.5" disk jewel cases. Pictures and events can be added, and you can choose any month range for your calendar — it's not necessary that they begin on January and end on December.

You can make them for personal use, gifts or memorabilia for special events e.g. anniversaries. They may also be used for publicity or merchandise if you happen to be running a club or society.

For example, you could make a calendar showcasing birds frequenting your neighbourhood for your local birdwatching club. Work-wise, you might want to make a calendar for your journal paper reading group, highlighting important dates for assignments and conference submissions in your field in the coming semester.

Getting the Templates

You can clone the git repository on Bitbucket, or download a .zip file. Alternatively, you can also open and edit a CD-sized or floppy disk-sized calendar template on Overleaf.

The Monthly Calendars

The cdcalendar class will set up the calendar size to fit in a CD jewel case, and lay them out on an A4-sized paper:

\documentclass[12pt]{cdcalendar}
\begin{document}

%% June 2015
\monthCalendar{2015}{06}
\clearpage

%% July 2015
\monthCalendar{2015}{07}
\end{document}

If you want to make a smaller calendar to fit in 3.5" floppy cases instead, pass the small option to the cdcalendar class:

\documentclass[9pt,small]{cdcalendar}

For those who are interested in the technical details: the calendar is rendered with tikz, and the 2-up or 4-up layout is done with pgfpages.

Adding Illustrations

I've defined a \illustration command for adding graphics to each page of the calendar:

\usepackage{graphicx}

%% syntax: \illustration[caption]{width}{image-file-name}
\illustration[We had fun at the birthday party!]{8.5cm}{Party.jpg}

The image will be added at the top left of the current page. The original proportion will be preserved, so you do have to choose an illustration of appropriate proportions to fit the empty space.

Adding/marking events

You can mark events on each month using the \event command:

\event{2015-10-25}{Daylight saving time ends}

The event will be listed above the monthly calendar, and the date is circled in the calendar itself. Events must be given after the relevant \monthCalendar and on the same page.

If your event spans over several days, you can give the duration (in days) as an option to \event:

\event[5]{2015-07-26}{ACL 2015, Beijing}

Alternatively, you can also give the end date as the option instead:

\event[2015-07-31]{2015-07-26}{ACL 2015, Beijing}

Both forms of the command will give the same output.

If an event spans two months, e.g. \event[9]{2015-06-27}{Summer Camp}, you'll have to issue this command in both months i.e. once for June and once for July:

\monthCalendar{2015}{06}
\event[9]{2015-06-27}{Summer Camp}
\clearpage

\monthCalendar{2015}{07}
\event[9]{2015-06-27}{Summer Camp}
\clearpage

Multilingual Calendars

The dates, month names and weekday initials can be localised to languages that are supported by the babel, translator and datetime2.

For example, to get a calendar with Spanish dates, just pass spanish as a class option:

\documentclass[12pt,spanish]{cdcalendar}

We've tested the following language options: british, spanish, french, ngerman, italian, portuges, polish, croatian, greek.

Just remember to use LuaLaTeX to compile your project if it's in french -- it doesn't work well with PDFLaTeX, and XeLaTeX doesn't work well for this template.

Customising styles

The fonts and colours of most elements can be customised at any point in the calendar; take a look at the templates to see some examples. For convenience's sake, a \makeCover command (and the necessary metadata commands) is also provided.

It's been a lot of fun creating this template, and I'm sure you'll find many more uses for this calendar. Enjoy!

Friday, February 27, 2015

LaTeX Class and Template for IIUM Thesis

Moaaz Elhag Ali (email address in the .cls file) has created a LaTeX thesis class and template for the International Islamic University Malaysia (IIUM), by modifying the UMalayaThesis class files. He has requested that I host the files here so that it may benefit IIUM students. iiumthesis.cls and template files can be downloaded here.

Monday, October 8, 2012

Updates for mmuthesis and umalayathesis

Just a quick note that updated classes of mmuthesis and umalayathesis has been uploaded at my website.

mmuthesis

Based on feedback from a MMU student who submitted her thesis recently, IPS now requires that the Publications List be categorised in to Journal Articles and Conference Proceedings, and that text in the appendices should be 10pt. Please read the updated user manual on how to prepare the Publication List under the new scheme.


umalayathesis

Bug fixes of some spacing of appendices entries in the ToC, as well as adjusting the overall line spacing to conform with the expected output by IPS. Font of the cover page now uses Arial Narrow look-alike.

Saturday, October 6, 2012

New uumthesis LaTeX Class and LyX Layout

On request, I have created a LaTeX class and LyX layout for writing Universiti Utara Malaysia theses. Credit goes to Dr. Mohd. Hasbullah bin Omar for getting the output endorsed by UUM’s Graduate Office.

The uumthesis LaTeX class, LyX layout, sample files and user manual can be downloaded from my website. Happy LaTeXing to UUMians!

Tuesday, April 24, 2012

LaTeX Template Website

Just read from an article here regarding Vel's effort on putting template on a single page. You can check out Vel's initiative from this page.