Библиотека сайта rus-linux.net
Pcal — календарь, созданный в командной строке
Оригинал: "Pcal – calendar from command line"Автор: Riccardo Capecchi
Дата публикации: January 19, 2011
Перевод: Н.Ромоданов
Дата перевода: февраль 2011 г.
Благодаря сообщению на 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" ("текущая или предыдущая дата").