GNU Emacs
Emacs
Dashboard

31.5 Writing Calendar Files

You can write calendars and diary entries to HTML and LaTeX files.

The Calendar HTML commands produce files of HTML code that contain calendar, holiday, and diary entries. Each file applies to one month, and has a name of the format yyyy-mm.html, where yyyy and mm are the four-digit year and two-digit month, respectively. The variable cal-html-directory specifies the default output directory for the HTML files. To prevent holidays from being shown, customize cal-html-holidays.

Diary entries enclosed by < and > are interpreted as HTML tags (for example: this is a diary entry with some red text). You can change the overall appearance of the displayed HTML pages (for example, the color of various page elements, header styles) via a stylesheet cal.css in the directory containing the HTML files (see the value of the variable cal-html-css-default for relevant style settings).

H m

Generate a one-month calendar ( cal-html-cursor-month).

H y

Generate a calendar file for each month of a year, as well as an index page ( cal-html-cursor-year). By default, this command writes files to a yyyy subdirectory—if this is altered some hyperlinks between years will not work.

If the variable cal-html-print-day-number-flag is non- nil, then the monthly calendars show the day-of-the-year number. The variable cal-html-year-index-cols specifies the number of columns in the yearly index page.

The Calendar LaTeX commands produce a buffer of LaTeX code that prints as a calendar. Depending on the command you use, the printed calendar covers the day, week, month or year that point is in.

t m

Generate a one-month calendar ( cal-tex-cursor-month).

t M

Generate a sideways-printing one-month calendar ( cal-tex-cursor-month-landscape).

t d

Generate a one-day calendar ( cal-tex-cursor-day).

t w 1

Generate a one-page calendar for one week, with hours ( cal-tex-cursor-week).

t w 2

Generate a two-page calendar for one week, with hours ( cal-tex-cursor-week2).

t w 3

Generate an ISO-style calendar for one week, without hours ( cal-tex-cursor-week-iso).

t w 4

Generate a calendar for one Monday-starting week, with hours ( cal-tex-cursor-week-monday).

t w W

Generate a two-page calendar for one week, without hours ( cal-tex-cursor-week2-summary).

t f w

Generate a Filofax-style two-weeks-at-a-glance calendar ( cal-tex-cursor-filofax-2week).

t f W

Generate a Filofax-style one-week-at-a-glance calendar ( cal-tex-cursor-filofax-week).

t y

Generate a calendar for one year ( cal-tex-cursor-year).

t Y

Generate a sideways-printing calendar for one year ( cal-tex-cursor-year-landscape).

t f y

Generate a Filofax-style calendar for one year ( cal-tex-cursor-filofax-year).

Some of these commands print the calendar sideways (in landscape mode), so it can be wider than it is long. Some of them use Filofax paper size (3.75in x 6.75in). All of these commands accept a prefix argument, which specifies how many days, weeks, months or years to print (starting always with the selected one).

If the variable cal-tex-holidays is non- nil (the default), then the printed calendars show the holidays in calendar-holidays. If the variable cal-tex-diary is non- nil (the default is nil), diary entries are included also (in monthly, Filofax, and iso-week calendars only). If the variable cal-tex-rules is non- nil (the default is nil), the calendar displays ruled pages in styles that have sufficient room. Consult the documentation of the individual cal-tex functions to see which calendars support which features.

You can use the variable cal-tex-preamble-extra to insert extra LaTeX commands in the preamble of the generated document if you need to.