Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Работа в консоли Linux

Pcal — календарь, созданный в командной строке

Оригинал: "Pcal – calendar from command line"
Автор: Riccardo Capecchi
Дата публикации: January 19, 2011
Перевод: Н.Ромоданов
Дата перевода: февраль 2011 г.

pcal-программа генерации календарей Благодаря сообщению на identi.ca, я увидел эту программу, которая используется из командной строки и позволяет легко создавать собственные настольные календари, помечать даты, которые вам интересны, а для определенных дней добавлять фотографии.

Я рассказываю о pcal, который поставляется с еще одним программируемым календарем lcal.

PCAL и LCAL являются программами генерации календарей, с помощью которых можно создать выходной файл в формате PostScript.

PCAL, как правило, используется для генерации помесячных календарей (один месяц на странице) с дополнительным текстом и изображениями, которыми можно отметить специальные мероприятия (например, праздники, дни рождения и т.д.). С его помощью также можно сгенерировать календари на год (один год на странице).

LCAL создает календарь на год с изображениями "лунных фаз".

Установка

В Ubuntu (у меня версия 10.10) можно установить pcal с помощью команды

aptitude install pcal

Но в пакете нет программы lcal.

Основные правила использования

pcal -a it -E -P a4 -B -F 1 -n Arial/10 -o cal.ps 2011
  • -a указывается язык (it=итальянский), по умолчанию - английский. Прим.пер.: Согласно документации имеется поддержка русского языка (-a ru).
  • -E указывается европейский формат дат (альтернатива -A — американский формат дат).
  • -P указывает размер страницы A4.
  • -B неиспользуемые прямоугольники с датами остаются чистыми — экономия чернил.
  • -F указывается день начала недели; 1 — понедельник.
  • -n выбирается размер шрифта, который используется для записи заметок: в данном случае 10-point Arial.
  • -o указывается выходной файл в формате PostScript. Я указываю для того, чтобы можно было напечатать еще одну копию.
  • 2011 - год, для которого я хочу напечатать календарь. Удобно, если вы создаете календарь в декабре. По умолчанию PCAL создает календарь на текущий год.

По ссылке можно получить пример предварительно созданного хорошо раскрашенного календаря на 12 месяцев по одному месяцу на странице (ландшафтная ориентация; формат бумаги - "U.S. Letter").

Расширенные возможности

Крутой возможностью этой небольшой программы является параметр -f, который позволит вам использовать конфигурационный файл. В этом файле вы можете указать "События" (а для календарей в формате PostScript с отдельными страницами для каждого месяца, инкапсулированными PostScript изображениями [например, фотографиями и значками]) для соответствующих дней (PostScript или HTML), что позволяет пользователю создавать персонализированные календари.

Пример конфигурационного файла:

last Monday in May*             Memorial Day Holiday
all Fridays in Oct              Status Meeting, 11 AM
first workday in all            %-B progress report due
all Fri in all                  \fBTime card due,\fP 3 PM
all Monday in all               Fiscal week %0W
-2nd workday in all             Schedule for %+B due %+2D
Fri on_or_before all 15         Pay Day
even Fridays in year            Pay Day
183rd day of year               Mid-year (%l days left)
Tue after first Mon in Nov      Election Day (USA)
4th Thu in Nov*                 Thanksgiving
Fri after 4th Thu in Nov*       Day after Thanksgiving
Easter                          Easter Sunday
Good_Friday*                    Good Friday
Monday after Easter*            Easter Monday
Christmas                       Christmas
Day after Christmas             Boxing Day
workday ooa Christmas*          Christmas Holiday
workday after Christmas*        Boxing Day Holiday
Last Sunday in Sep              Day Light Saving Starts - Clock Forward
First Sunday in Apr             Day Light Saving Ends - Clock Back
Fri on_or_before all 13         Avoid black cats!   # Friday the 13th

Так что команда будет следующей:

pcal -a it -f .calendar -E -P a4 -B -F 1 -n Arial/10 -o cal.ps 2011

В нескольких строчках есть символы *, что указывает на праздничный день и что следующий текст должен появиться на одной строке с датой. Символьная строка %B указывает, что нужно печатать названия месяцев; + или — после % указывает, что нужно печатать название следующего или предыдущего месяца. С помощью параметра \fB вы можете сделать текст полужирным, а затем с помощью параметра \fP вернуться к предыдущему написанию. Строка %OW указывает, что нужно печатать номер недели с ведущими нулями. Параметр -2nd указывает, что вы задаете событие, которое будет длиться со второго до последнего рабочего дня месяца.

Параметр %+2 D является примером простой математической функции в PCAL; он указывает вернуться на два дня назад и напечатать эту дату. Параметр %l задает печать числа дней, оставшихся до конца года, параметр ooa является сокращением фразы "on or after" ("текущая или следующая дата"), а параметр oob является сокращением фразы "on or before" ("текущая или предыдущая дата").