Next: 非グレゴリオ暦を使用するカレンダーエントリー, Previous: 時刻の表示フォーマット, Up: カレンダーとダイアリーの上級な機能 [Contents][Index]
ダイアリーウィンドウは通常、ダイアリーエントリーの日付が休日に相当する場合は、モードラインとバッファー自身にそれを示します。休日をチェックするプロセスは時間がかかることがあり、それは定義された休日に依存します。このような場合、diary-show-holidays-flag
をnil
にセットすることにより、ダイアリーの表示を速くすることができます。
変数diary-number-of-entries
は、1度に表示されるダイアリーエントリーの日数を制御します。これはcalendar-view-diary-initially-flag
がt
のときの初期表示と、コマンドM-x
diaryに影響します。たとえば値1(デフォルト)は、その日のダイアリーエントリーだけを表示し、値2は翌日のエントリーも表示します。値には7つの整数のvectorも指定できます。たとえば値が[0
2 2 2 2 4
1]
の場合、日曜日にはダイアリーエントリーは表示されず、月曜日から木曜日までは当日と翌日のダイアリーエントリーが表示され、金曜日には金曜日から月曜日のエントリーが表示され、土曜日にはその日のエントリーだけが表示されます。
変数diary-date-forms
をセットすることにより、ダイアリーファイルの日付形式をカスタマイズできます。この変数は日付を認識するパターンのリストです。各日付パターンは、要素が正規表現(Regular
Expressions in the Emacs Lisp Reference
Manualを参照してください)、またはシンボルmonth
、day
、year
、monthname
、dayname
のリストです。これらすべての要素は、ダイアリーファイルの特定の種類のテキストにマッチするパターンに供されます。日付パターン全体がマッチするためには、リストの各要素が連続してマッチしなければなりません。
日付パターンの正規表現は、標準の構文テーブルを変更してそれ自身の通常の方法でマッチするので、‘*’は単語の構成要素になります。
シンボルmonth
、day
、year
、monthname
、dayname
は、日付と考えられる月番号、日付番号、年番号、月の名前、曜日名にマッチします。数字にマッチするシンボルは、0で開始することもできます。名前にマッチするものは、大文字名と、(calendar-month-abbrev-array
とcalendar-day-abbrev-array
で指定されるような)省略形を許容します。ダイアリーエントリーの‘*’は“任意の月”の‘任意の日付”などを意味するので、すべてのシンボルは‘*’にマッチすることができ、日付とみなされないものにもマッチするべきです。
アメリカ様式でのdiary-date-forms
のデフォルト値は、diary-american-date-forms
により提供されます:
((month "/" day "[^/0-9]") (month "/" day "/" year "[^0-9]") (monthname " *" day "[^,0-9]") (monthname " *" day ", *" year "[^0-9]") (dayname "\\W"))
変数diary-european-date-forms
およびdiary-iso-date-forms
は、他のデフォルト様式を提供します。
このリストの日付パターンは、相互排他的(mutually
exclusive)でなければならず、ダイアリーエントリーの任意の部分にマッチせず、日付と1文字の空白文字だけにマッチしなければなりません。相互排他的であるならば、パターンは日付を終端する空白文字を越えて、ダイアリーエントリーの一部にマッチしなければならず、日付パターンの最初の要素はバックアップ(backup)
されなければなりません。これにより日付識別処理はマッチお終えた後、ダイアリーエントリーの先頭の単語をバックアップします。backup
を使う場合でも、日付パターンはダイアリーエントリーの最初の単語の部分を越えてマッチしてはなりません。たとえばdiary-european-date-forms
は以下のようなデフォルト値です:
((day "/" month "[^/0-9]") (day "/" month "/" year "[^0-9]") (backup day " *" monthname "\\W+\\<\\([^*0-9]\\|\\([0-9]+[:aApP]\\)\\)") (day " *" monthname " *" year "[^0-9]") (dayname "\\W"))
3番目のパターンでのbackup
の使用に注目してください。これは4番目のパターンと区別するために、日付自体を越えて単語の一部にマッチする必要があるからです。