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.