-@c This is part of the Emacs manual. -*- coding: iso-latin-1 -*-
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
-@c Free Software Foundation, Inc.
+@c This is part of the Emacs manual. -*- coding: utf-8 -*-
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Calendar/Diary
@chapter The Calendar and the Diary
@iftex
This chapter describes the basic calendar features.
-@inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information
-about more specialized features.
+For more advanced topics,
+@pxref{Advanced Calendar/Diary Usage,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@menu
Scroll calendar one month backward (@code{calendar-scroll-right}).
@item C-v
@itemx @key{next}
-Scroll three months forward (@code{calendar-scroll-left-three-months}).
+Scroll forward by three months (@code{calendar-scroll-left-three-months}).
@item M-v
@itemx @key{prior}
-Scroll three months backward (@code{calendar-scroll-right-three-months}).
+Scroll backward by three months (@code{calendar-scroll-right-three-months}).
@end table
@kindex > @r{(Calendar mode)}
@kindex M-= @r{(Calendar mode)}
@findex calendar-count-days-region
To determine the number of days in a range, set the mark on one
-date using @kbd{C-SPC}, move point to another date, and type @kbd{M-=}
+date using @kbd{C-@key{SPC}}, move point to another date, and type @kbd{M-=}
(@code{calendar-count-days-region}). The numbers of days shown is
@emph{inclusive}; that is, it includes the days specified by mark and
point.
Display day-in-year (@code{calendar-print-day-of-year}).
@item C-c C-l
Regenerate the calendar window (@code{calendar-redraw}).
-@item SPC
+@item @key{SPC}
Scroll the next window up (@code{scroll-other-window}).
-@item DEL
+@item @key{DEL}
+@itemx S-@key{SPC}
Scroll the next window down (@code{scroll-other-window-down}).
@item q
Exit from calendar (@code{calendar-exit}).
non-Calendar-mode editing commands.)
@kindex SPC @r{(Calendar mode)}
- In Calendar mode, you can use @kbd{SPC} (@code{scroll-other-window})
-and @kbd{DEL} (@code{scroll-other-window-down}) to scroll the other
+ In Calendar mode, you can use @key{SPC} (@code{scroll-other-window})
+and @key{DEL} (@code{scroll-other-window-down}) to scroll the other
window (if there is one) up or down, respectively. This is handy when
you display a list of holidays or diary entries in another window.
@node Writing Calendar Files
@section Writing Calendar Files
- You can write calendars and diary entries to HTML and La@TeX{} files.
+ You can write calendars and diary entries to HTML and @LaTeX{} files.
@cindex calendar and HTML
The Calendar HTML commands produce files of HTML code that contain
-calendar and diary entries. Each file applies to one month, and has a
-name of the format @file{@var{yyyy}-@var{mm}.html}, where @var{yyyy} and
-@var{mm} are the four-digit year and two-digit month, respectively. The
-variable @code{cal-html-directory} specifies the default output
-directory for the HTML files.
+calendar, holiday, and diary entries. Each file applies to one month,
+and has a name of the format @file{@var{yyyy}-@var{mm}.html}, where
+@var{yyyy} and @var{mm} are the four-digit year and two-digit month,
+respectively. The variable @code{cal-html-directory} specifies the
+default output directory for the HTML files. To prevent holidays
+from being shown, customize @code{cal-html-holidays}.
@vindex cal-html-css-default
Diary entries enclosed by @code{<} and @code{>} are interpreted as
@item H y
Generate a calendar file for each month of a year, as well as an index
page (@code{cal-html-cursor-year}). By default, this command writes
-files to a @var{yyyy} subdirectory - if this is altered some hyperlinks
+files to a @var{yyyy} subdirectory---if this is altered some hyperlinks
between years will not work.
@end table
number. The variable @code{cal-html-year-index-cols} specifies the
number of columns in the yearly index page.
-@cindex calendar and La@TeX{}
- The Calendar La@TeX{} commands produce a buffer of La@TeX{} code that
+@cindex calendar and @LaTeX{}
+ 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.
Generate a one-day calendar
(@code{cal-tex-cursor-day}).
@item t w 1
-Generate a one-page calendar for one week
+Generate a one-page calendar for one week, with hours
(@code{cal-tex-cursor-week}).
@item t w 2
-Generate a two-page calendar for one week
+Generate a two-page calendar for one week, with hours
(@code{cal-tex-cursor-week2}).
@item t w 3
-Generate an ISO-style calendar for one week
+Generate an ISO-style calendar for one week, without hours
(@code{cal-tex-cursor-week-iso}).
@item t w 4
-Generate a calendar for one Monday-starting week
+Generate a calendar for one Monday-starting week, with hours
(@code{cal-tex-cursor-week-monday}).
+@item t w W
+Generate a two-page calendar for one week, without hours
+(@code{cal-tex-cursor-week2-summary}).
@item t f w
Generate a Filofax-style two-weeks-at-a-glance calendar
(@code{cal-tex-cursor-filofax-2week}).
features.
You can use the variable @code{cal-tex-preamble-extra} to insert extra
-La@TeX{} commands in the preamble of the generated document if you need
+@LaTeX{} commands in the preamble of the generated document if you need
to.
@node Holidays
calendar, use the @kbd{x} command. This displays the dates that are
holidays in a different face.
@iftex
-@inforef{Calendar Customizing, calendar-holiday-marker, emacs-xtra}.
+@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Calendar Customizing, calendar-holiday-marker}.
holidays}, which prompts for the month and year.
The holidays known to Emacs include United States holidays and the
-major Bahá'í, Chinese, Christian, Islamic, and Jewish holidays; also the
+major Bahá'í, Chinese, Christian, Islamic, and Jewish holidays; also the
solstices and equinoxes.
@findex list-holidays
These calendar commands display the dates and times of the phases of
the moon (new moon, first quarter, full moon, last quarter). This
feature is useful for debugging problems that ``depend on the phase of
-the moon.''
+the moon''.
@table @kbd
@item M
(aside from Gregorian).
* To Other Calendar:: Converting the selected date to various calendars.
* From Other Calendar:: Moving to a date specified in another calendar.
-* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
@end menu
@c FIXME perhaps most of the details should be moved to cal-xtra.
twelve ``terrestrial branches'' for a total of sixty names that are
repeated in a cycle of sixty.
-@cindex Bahá'í calendar
- The Bahá'í calendar system is based on a solar cycle of 19 months with
+@cindex Bahá'í calendar
+ The Bahá'í calendar system is based on a solar cycle of 19 months with
19 days each. The four remaining ``intercalary'' days are placed
between the 18th and 19th months.
(@code{calendar-french-print-date}).
@findex calendar-bahai-print-date
@item p b
-Display Bahá'í date for selected day
+Display Bahá'í date for selected day
(@code{calendar-bahai-print-date}).
@findex calendar-chinese-print-date
@item p C
Otherwise, move point to the date you want to convert, then type the
appropriate command starting with @kbd{p} from the table above. The
-prefix @kbd{p} is a mnemonic for ``print,'' since Emacs ``prints'' the
+prefix @kbd{p} is a mnemonic for ``print'', since Emacs ``prints'' the
equivalent date in the echo area. @kbd{p o} displays the
date in all forms known to Emacs. You can also use @kbd{Mouse-3} and
then choose @kbd{Other calendars} from the menu that appears. This
Move to a date specified with an astronomical (Julian) day number
(@code{calendar-astro-goto-day-number}).
@item g b
-Move to a date specified in the Bahá'í calendar
+Move to a date specified in the Bahá'í calendar
(@code{calendar-bahai-goto-date}).
@item g h
Move to a date specified in the Hebrew calendar
@findex calendar-hebrew-list-yahrzeits
@cindex yahrzeits
One common issue concerning the Hebrew calendar is the computation
-of the anniversary of a date of death, called a ``yahrzeit.'' The Emacs
+of the anniversary of a date of death, called a ``yahrzeit''. The Emacs
calendar includes a facility for such calculations. If you are in the
calendar, the command @kbd{M-x calendar-hebrew-list-yahrzeits} asks you for
a range of years and then displays a list of the yahrzeit dates for those
this command first asks you for the date of death and the range of
years, and then displays the list of yahrzeit dates.
-@c FIXME move to emacs-xtra.
-@node Mayan Calendar
-@subsection Converting from the Mayan Calendar
-
- Here are the commands to select dates based on the Mayan calendar:
-
-@table @kbd
-@item g m l
-Move to a date specified by the long count calendar
-(@code{calendar-mayan-goto-long-count-date}).
-@item g m n t
-Move to the next occurrence of a place in the
-tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
-@item g m p t
-Move to the previous occurrence of a place in the
-tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
-@item g m n h
-Move to the next occurrence of a place in the
-haab calendar (@code{calendar-mayan-next-haab-date}).
-@item g m p h
-Move to the previous occurrence of a place in the
-haab calendar (@code{calendar-mayan-previous-haab-date}).
-@item g m n c
-Move to the next occurrence of a place in the
-calendar round (@code{calendar-mayan-next-calendar-round-date}).
-@item g m p c
-Move to the previous occurrence of a place in the
-calendar round (@code{calendar-mayan-previous-calendar-round-date}).
-@end table
-
-@cindex Mayan long count
- To understand these commands, you need to understand the Mayan calendars.
-The @dfn{long count} is a counting of days with these units:
-
-@display
-1 kin = 1 day@ @ @ 1 uinal = 20 kin@ @ @ 1 tun = 18 uinal
-1 katun = 20 tun@ @ @ 1 baktun = 20 katun
-@end display
-
-@kindex g m @r{(Calendar mode)}
-@findex calendar-mayan-goto-long-count-date
-@noindent
-Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
-tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
-count dates as early as 7.17.18.13.3, but no earlier. When you use the
-@kbd{g m l} command, type the Mayan long count date with the baktun,
-katun, tun, uinal, and kin separated by periods.
-
-@findex calendar-mayan-previous-tzolkin-date
-@findex calendar-mayan-next-tzolkin-date
-@cindex Mayan tzolkin calendar
- The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
-independent cycles of 13 and 20 days. Since this cycle repeats
-endlessly, Emacs provides commands to move backward and forward to the
-previous or next point in the cycle. Type @kbd{g m p t} to go to the
-previous tzolkin date; Emacs asks you for a tzolkin date and moves point
-to the previous occurrence of that date. Similarly, type @kbd{g m n t}
-to go to the next occurrence of a tzolkin date.
-
-@findex calendar-mayan-previous-haab-date
-@findex calendar-mayan-next-haab-date
-@cindex Mayan haab calendar
- The Mayan haab calendar is a cycle of 365 days arranged as 18 months
-of 20 days each, followed by a 5-day monthless period. Like the tzolkin
-cycle, this cycle repeats endlessly, and there are commands to move
-backward and forward to the previous or next point in the cycle. Type
-@kbd{g m p h} to go to the previous haab date; Emacs asks you for a haab
-date and moves point to the previous occurrence of that date.
-Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
-date.
-
-@c This is omitted because it is too long for smallbook format.
-@c @findex calendar-mayan-previous-calendar-round-date
-@findex calendar-mayan-next-calendar-round-date
-@cindex Mayan calendar round
- The Maya also used the combination of the tzolkin date and the haab
-date. This combination is a cycle of about 52 years called a
-@emph{calendar round}. If you type @kbd{g m p c}, Emacs asks you for
-both a haab and a tzolkin date and then moves point to the previous
-occurrence of that combination. Use @kbd{g m n c} to move point to the
-next occurrence of a combination. These commands signal an error if the
-haab/tzolkin date combination you have typed is impossible.
-
- Emacs uses strict completion (@pxref{Completion Exit}) whenever it
-asks you to type a Mayan name, so you don't have to worry about
-spelling.
-
@node Diary
@section The Diary
@cindex diary
the @kbd{m} command. This marks the dates that have diary entries in
a different face.
@iftex
-@inforef{Calendar Customizing, diary-entry-marker, emacs-xtra}.
+@xref{Calendar Customizing,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Calendar Customizing, diary-entry-marker}.
few days as well; the variable @code{diary-number-of-entries} specifies
how many days to include.
@iftex
-@inforef{Diary Customizing,, emacs-xtra}.
+@xref{Diary Customizing,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Diary Customizing, diary-number-of-entries}.
commands are in the next section (@pxref{Special Diary Entries}).
Entries can also be based on non-Gregorian calendars.
@iftex
-@inforef{Non-Gregorian Diary,, emacs-xtra}.
+@xref{Non-Gregorian Diary,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Non-Gregorian Diary}.
@noindent
The 11 specifies November (the eleventh month), the 4 specifies Thursday
(the fourth day of the week, where Sunday is numbered zero), and the
-second 4 specifies the fourth Thursday (1 would mean ``first,'' 2 would
-mean ``second,'' @minus{}2 would mean ``second-to-last,'' and so on).
+second 4 specifies the fourth Thursday (1 would mean ``first'', 2 would
+mean ``second'', @minus{}2 would mean ``second-to-last'', and so on).
The month can be a single month or a list of months. Thus you could change
the 11 above to @samp{'(1 2 3)} and have the entry apply to the last
Thursday of January, February, and March. If the month is @code{t}, the
-entry applies to all months of the year.@refill
+entry applies to all months of the year.
Each of the standard sexp diary entries takes an optional parameter
specifying the name of a face or a single-character string to use when
marking the entry in the calendar. Most generally, sexp diary entries
can perform arbitrary computations to determine when they apply.
@iftex
-@inforef{Sexp Diary Entries,, emacs-xtra}.
+@xref{Sexp Diary Entries,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Sexp Diary Entries}.
@code{appt-display-diary} to @code{nil}. The appointments list is
also updated whenever the diary file (or a file it includes; see
@iftex
-@inforef{Fancy Diary Display,, emacs-xtra})
+@ref{Fancy Diary Display,,, emacs-xtra, Specialized Emacs Features})
@end iftex
@ifnottex
@ref{Fancy Diary Display})
messages. While viewing such a message in Rmail or Gnus, do @kbd{M-x
diary-from-outlook} to import the entry. You can make this command
recognize additional appointment message formats by customizing the
-variable @code{diary-outlook-formats}.
+variable @code{diary-outlook-formats}. Other mail clients can set
+@code{diary-from-outlook-function} to an appropriate value.
@c FIXME the name of the RFC is hardly very relevant.
@cindex iCalendar support
2445---Internet Calendaring and Scheduling Core Object Specification
(iCalendar)'' (as well as the earlier vCalendar format).
-@c Importing works for ``ordinary'' (i.e. non-recurring) events, but
+@c Importing works for ``ordinary'' (i.e., non-recurring) events, but
@c (at present) may not work correctly (if at all) for recurring events.
@c Exporting of diary files into iCalendar files should work correctly
@c for most diary entries. This feature is a work in progress, so the
You can use an @code{#include} directive to add the import file contents
to the main diary file, if these are different files.
@iftex
-@inforef{Fancy Diary Display,, emacs-xtra}.
+@xref{Fancy Diary Display,,, emacs-xtra, Specialized Emacs Features}.
@end iftex
@ifnottex
@xref{Fancy Diary Display}.
Once you've collected data from a number of time intervals, you can use
@kbd{M-x timeclock-workday-remaining} to see how much time is left to
work today (assuming a typical average of 8 hours a day), and @kbd{M-x
-timeclock-when-to-leave} which will calculate when you're ``done.''
+timeclock-when-to-leave} which will calculate when you're ``done''.
@vindex timeclock-modeline-display
@findex timeclock-modeline-display
then, only an explicit @kbd{M-x timeclock-out} or @kbd{M-x
timeclock-change} will tell Emacs that the current interval is over.
-@cindex @file{.timelog} file
+@cindex @file{timelog} file
@vindex timeclock-file
@findex timeclock-reread-log
The timeclock functions work by accumulating the data in a file
-called @file{.timelog} in your home directory. You can specify a
+called @file{~/.emacs.d/timelog}. You can specify a
different name for this file by customizing the variable
@code{timeclock-file}. If you edit the timeclock file manually, or if
you change the value of any of timeclock's customizable variables, you