Календарь и дневник – ЧАСТЬ 2

Чтобы узнать, не приходится ли на данную дату праздников, расположите  точку  на этой дате в окне календаря и используйте команду h. Или щелкните на этой дате Mouse-2 и затем выберите  из появившегося меню пункт  Holidays.    В обоих случаях выводятся праздники для заданной даты, в эхо-области,  если они там умещаются, или в отдельном окне.

Чтобы просмотреть распределение праздников для всех показанных в календаре дат, используйте команду x.  Она отображает праздничные дни другим начертанием (или помещает после этих дат значок ‘*’, если множественные  начертания недоступны).  Эта команда применяется и к месяцам, видимым в данный момент, и к тем, что станут впоследствии видимыми при прокрутке.  Чтобы выключить разметку и стереть текущие метки, наберите u, что также стирает метки дневника (см. Раздел 29.10 [Дневник], с. 313).

Чтобы получить еще более подробную  информацию,  используйте команду a, которая показывает отдельный буфер, содержащий список всех праздников  в текущем трехмесячном диапазоне. Вы можете использовать hSPCв окне календаря для прокрутки этого списка.

Команда M-x holidays выводит список праздников для текущего, предыдущего и следующего месяца; она работает, даже  если у вас нет окна календаря.  Если вы хотите получить перечень праздников, центрированный вокруг другого месяца, используйте C-u M-x holidays, которая спрашивает  месяц и год.

Известные Emacs праздники включают  праздники США  и  основные христианские,

иудейские и исламские праздники; также он знает о солнцестояниях и равноденствиях.

Команда M-x list-holidays выводит список праздников для нескольких лет. Эта функция запрашивает у вас начальный и конечный год и позволяет выбрать все праздники или одну из их категорий.  Вы можете  использовать эту команду, даже  если у вас нет окна календаря.

Emacs использует для праздников даты, основанные на текущей  практике,  а не на исторических фактах. К примеру, исторически  момент сезонного перевода времени и даже само его существование изменялось от года к году, но текущий закон США  говорит, что время переводится в первое воскресенье апреля. Когда правила сезонного перевода времени установлены по американским нормам, Emacs всегда использует текущее определение, даже если оно было неправильно в некоторые прошлые годы.

29.7  Время  восхода  и заката Солнца

Особые команды календаря могут сообщить вам с точностью до минуты-двух времена восхода и заката Солнца для любой даты.

S                  Показывает  времена восхода и заката Солнца для выбранной даты (calendarsunrise-sunset).

Mouse-2 Sunrise/Sunset

Показывает  времена восхода и заката Солнца для даты, на которой вы щелк-

нули.

M-x sunrise-sunset

Показывает  времена восхода и заката Солнца для сегодняшней даты.

C-u M-x sunrise-sunset

Показывает  времена восхода и заката Солнца для заданной даты.

Чтобы просмотреть в эхо-области местное время восхода и заката Солнца, находясь в календаре,  переместите  точку  к желаемой дате и нажмите  S.   Или щелкните  на этой дате  Mouse-2 и выберите  из появившегося  меню пункт  Sunrise/Sunset.   Команда M-x sunrise-sunset, доступная извне календаря, показывает эту информацию  для текущей или указанной даты. Чтобы задать отличную от сегодняшней дату, используйте команду C-u M-x sunrise-sunset, которая спросит год, месяц и день.

Вы можете просмотреть время восхода и заката Солнца для любой местности и даты с помощью C-u C-u M-x sunrise-sunset. Эта команда запрашивает вас широту, долготу, разницу от универсального  координированного времени и дату,  а затем сообщает  вам времена восхода и заката для этого места и этой даты.

Поскольку время восхода и заката Солнца зависит от положения на Земле, перед использованием этих команд вы должны сказать Emacs вашу широту, долготу и название местности. Вот пример задаваемых значений:

(setq calendar-latitude  40.1) (setq calendar-longitude -88.2)

(setq calendar-location-name  "Urbana,  IL")

Задавайте значения calendar-latitude и calendar-longitude с точностью до одной деся-

той.

Ваш часовой пояс также влияет на время восхода и заката. Обычно Emacs получает информацию о часовом поясе от операционной системы, но если это не те значения, которые вы хотите (или если операционная система их не предоставляет),  вы должны установить их сами. Вот пример:

(setq  calendar-time-zone -360)

(setq calendar-standard-time-zone-name  "CST") (setq calendar-daylight-time-zone-name  "CDT")

Значение calendar-time-zone — это разница между вашим местным стандартным и универсальным координированным (гринвичским)  временем,  выраженная в минутах.   Значения calendar-standard-time-zone-name  и calendar-daylight-time-zone-name  — это сокращения, принятые для обозначения  вашего часового пояса.  Emacs показывает время восхода и заката в с учетом  сезонного  перевода часов. См.  Раздел 29.12 [Сезонный перевод часов], с. 319, о том, как определяется сезонная поправка.

Как  пользователь, вы можете  счесть удобным установить переменные календаря  для задания вашего обычного физического местонахождения в вашем файле ‘.emacs’. А когда вы устанавливаете Emacs на машине, вы можете создать файл ‘default.el’, который будет правильно их устанавливать для типичного местонахождения большинства пользователей этой машины. См. Раздел 31.7 [Файл инициализации], с. 366.

29.8  Фазы  Луны

Эти команды календаря показывают даты и времена лунных фаз (новолуние,  первая четверть, полнолуние,  последняя четверть).  Эта возможность полезна при отладке проблем, которые “зависят от фазы Луны”.

M                           Выводит даты и времена всех четвертей Луны для показанного трехмесячного периода (calendar-phases-of-moon).

M-x phases-of-moon

Выводит даты и времена четвертей Луны для трех месяцев вокруг сегодняшней даты.

Внутри календаря, для показа в отдельном  буфере фаз Луны для текущего трехмесячного периода используется команда M. Перечислямые даты и времена точны до нескольких минут.

Вне календаря, для показа фаз Луны для текущего, предыдущего и следующего месяца используйте команду M-x phases-of-moon.  Чтобы получить сведения для какого-то другого месяца, используйте C-u M-x phases-of-moon, она спросит вас о месяце и годе.

Даты и времена лунных фаз даются в местном времени (с учетом сезонных поправок, если это необходимо); но если переменная calendar-time-zone не определена, используется универсальное координированное  время (гринвичский  часовой пояс).  См.  Раздел 29.12 [Сезонный перевод часов], с. 319.

29.9  Преобразование в другие календарные системы и из них

В Emacs всегда показывается григорианский календарь, иногда называемый календарем “нового стиля”, который в наши дни применяется почти везде. Однако, этот календарь не существовал  до шестнадцатого столетия и не использовался  широко до восемнадцатого; только в начале девятнадцатого  века он полностью вытеснил юлианский календарь и получил всемирное признание. Календарь Emacs может отобразить любой месяц начиная от января первого года нашей эры, но всегда показывает григорианский календарь, даже для дат, когда его еще не существовало.

Хотя Emacs не может показывать другие календари, он умеет преобразовавать даты из нескольких других календарных систем.

29.9.1  Поддерживаемые календарные системы

Коммерческий календарь ISO используется в основном в Европе.

Юлианский календарь, названный в честь Юлия Цезаря, использовался в Европе в средние века и во многих других странах вплоть до девятнадцатого века.

Астрономы используют простой подсчет дней, истекших от полудня понедельника, первого января, 4713-го года до нашей эры по юлианскому календарю. Число прошедших дней называется юлианским или астрономическим номером дня.

Иудейский календарь по традиции используется в еврейской религии.  Календарная программа Emacs использует иудейский календарь для определения дат еврейских праздников. Даты иудейского календаря начинаются и завершаются при заходе Солнца.

Исламский календарь используется во многих мусульманских странах. Emacs использует его для определения  дат исламских праздников.  В исламском мире нет всеобщей договоренности о календаре;  в Emacs применяется широко распространенная версия, но точные даты исламского календаря часто основываются на высказываниях религиозных авторитетов, а не на вычислениях. Как  следствие, действительные даты наблюдения могут слегка отличаться от вычисленных в Emacs. Даты исламского календаря начинаются и завершаются при заходе Солнца.

Календарь французской  революции  был создан якобинцами после революции  1789-го года для введения  более светского и основанного на представлениях о природе взгляда на годовой  цикл и для установления  десятидневной недели, более рационалистической,  как метрическая система. Французское правительство официально отменило этот календарь в конце 1805-го года.

Центральноамериканские Майя использовали три разные, перекрывающиеся календарные системы, долгий счет,  тцолкин  и хааб. Emacs знает обо всех трех календарях. Эксперты обсуждают точное соответствие между  календарем  Майя и нашим календарем; Emacs использует для вычислений корреляцию Гудмана-Мартинеса-Томсона.

Копты  используют календарь, основанный на древнеегипетском  солнечном календаре. Он состоит из двенадцати тридцатидневных месяцев, за которым идет дополнительный пятидневный период. Раз в четыре года к этому периоду добавляется шестой, високосный день. Эфиопский календарь обладает такой же структурой, но в нем другие номера лет и названия месяцев.

Источник: Ричард Столмен, Руководство по GNU Emacs

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий