[Estamos en un lento proceso de migración: http://emacs-es.manticore.es -- http://emacs.manticore.es -- http://lisp.manticore.es ]
Galerada del Capítulo 38 El Calendario y el Diario
38 El Calendario y el Diario
****************************
Emacs proporciona las funciones de un calendario de escritorio, con un
diario de eventos planeados o pasados. También posee facilidades para
administrar las citas y reuniones, y registrar el tiempo empleado
trabajando en ciertos proyectos.
Para entrar en el calendario se escribe `M-x calendar'; esto muestra
un calendario de tres meses centrado en el del momento, con el punto en
la fecha de ese día. Con un argumento numérico, como en `C-u M-x
calendar', pregunta por el mes y año que debe estar en el centro de los
tres meses. El calendario usa su propio búfer, cuyo modo mayor es
precisamente el modo Calendar.
`Ratón-3' en el calendario muestra un menú contextual de operaciones
sobre la fecha en particular; `Ratón-2' muestra un menú de
características usadas comunmente que son independientes de cualquier
fecha particular. Para salir del calendario se teclea `q'.
* Menu:
* Calendar Motion:: Moverse a través del calendario; selección de
una fecha.
* Scroll Calendar:: Presentación en pantalla de meses anteriores o
posteriores.
* Counting Days:: ¿Cuántos días hay entre dos fechas?
* General Calendar:: Salir o recalcular el calendario.
* Writing Calendar Files:: Escritura de calendarios en varios formatos.
* Holidays:: Fechas de los festivos.
* Sunrise/Sunset:: Horas locales del orto y del ocaso.
* Lunar Phases:: Las fases de la Luna.
* Other Calendars:: Conversión de fechas a otros sistemas de
calendario.
* Diary:: Mostrado de lso eventos del diario.
* Appointments:: Recordatorios cuando hay que hacer algo.
* Importing Diary:: Conversión de eventos del Diario a/desde otros formatos.
* Daylight Savings:: Cómo especificar la activación del horario de
verano.
* Time Intervals:: Registro de intervalos de tiempo.
* Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization.
File: emacs.es, Node: Calendar Motion
38.1 Moverse por el calendario
==============================
El modo Calendar permite desplazarse a través del calendario en
unidades lógicas de tiempo, tales como días, semanas, meses y años. Si
uno se desplaza más allá de los tres meses mostrados en principio, lo
que se muestra en el calendario se "desplaza" automaticamente a través
del tiempo para hacer visible la fecha seleccionada. Moverse a una
fecha permite ver sus festivos o las entradas del diario, o convertirla
a otros calendarios; moverse periodos mayores de tiempo también es útil
simplemente para desplazar el calendario.
* Menu:
* Calendar Unit Motion:: Moverse por días, semanas, meses y
años.
* Move to Beginning or End:: Moverse al principio/final de semanas,
meses y años.
* Specified Dates:: Moverse a la fecha del día u otra fecha
específica.
File: emacs.es, Node: Calendar Unit Motion, Next: Move to Beginning or End, Up: Calendar Motion
38.1.1 Movimiento por periodos de tiempo estándares
----------------------------------------------------
Los comandos para moverse por el búfer del calendario son paralelos a
los comandos para el movimiento en el texto. Se puede mover adelante y
atrás por días, semanas, meses y años.
`C-f'
Mueve el punto un día hacia adelante (`calendar-forward-day').
`C-b'
Mueve el punto un día hacia atrás (`calendar-backward-day').
`C-n'
Mueve el punto una semana hacia adelante (`calendar-forward-week').
`C-p'
Mueve el punto una semana hacia atrás (`calendar-backward-week').
`M-}'
Mueve el punto un mes hacia adelante (`calendar-forward-month').
`M-{'
Mueve el punto un mes hacia atrás (`calendar-backward-month').
`C-x ]'
Mueve el punto un año hacia adelante (`calendar-forward-year').
`C-x ['
Mueve el punto un año hacia atrás (`calendar-backward-year').
Los comandos para días y semanas son de naturaleza análoga a los
comandos usuales de Emacs para moverse por caracteres y líneas. Al
igual que `C-n' normalmente se mueve a la misma columna en la siguiente
línea, en el modo Calendario lo hace al mismo día en la siguiente
semana. Y `C-p' se mueve al mismo día en la semana previa.
Las teclas de flechita son equivalentes a `C-f', `C-b', `C-n' y
`C-p', justo como lo son normalmente en otros modos.
Los comandos para el movimiento por meses y años funcionan como los
de las semanas, pero mueven una distancia mayor. Los comandos para
meses `M-}' y `M-{' mueven adelante y atrás de mes en mes. Los
comandos para años `C-x ]' y `C-x [' mueven adelante y atrás un año
entero.
La manera más fácil de recordar estos comandos es considerar los
meses y los años análogos a los párrafos y las páginas de texto,
respectivamente. Pero los comandos en sí mismos no son tan análogos.
Los comandos normales de Emacs para párrafos mueven al principio o
final del párrafo, mientras que los comandos para meses y años mueven
un mes o un año enteros, manteniendo la misma fecha dentro del mes o
año.
Todos estos comandos aceptan argumentos numéricos como contadores de
repetición. Por conveniencia, las teclas numéricas y el signo menos
especifican argumentos numéricos en el modo Calendario incluso sin el
modificador Meta. Por ejemplo, `100 C-f' mueve el punto 100 días hacia
adelante desde la posición del momento.
File: emacs.es, Node: Move to Beginning or End, Next: Specified Dates, Prev: Calendar Unit Motion, Up: Calendar Motion
38.1.2 Comienzo y final de semanas, meses y años
-------------------------------------------------
Una semana (o un mes, o un año) no es simplemente una cantidad de días;
pensamos en las semanas (meses, años) como que empiezan en fechas
particulares. Así el modo Calendario proporciona comandos para moverse
al principio y final de una semana, mes o año:
`C-a'
Mueve el punto al principio de la semana
(`calendar-beginning-of-week').
`C-e'
Mueve el punto al final de la semana (`calendar-end-of-week').
`M-a'
Mueve el punto al principio del mes
(`calendar-beginning-of-month').
`M-e'
Mueve el punto al final del mes (`calendar-end-of-month').
`M-<'
Mueve el punto al principio del año (`calendar-beginning-of-year').
`M->'
Mueve el punto al final del año (`calendar-end-of-year').
Estos comandos también toman argumentos numéricos como contadores de
repetición, indicando cuántas semanas, o meses, o años moverse hacia
adelante o hacia atrás.
Por definición, las semanas empiezan en Domingo. Para hacer que
empiecen en Lunes se establece la variable `calendar-week-start-day' en
1.
File: emacs.es, Node: Specified Dates, Prev: Move to Beginning or End, Up: Calendar Motion
38.1.3 Fechas especificadas
---------------------------
El modo Calendario proporciona comandos para moverse a una fecha en
particular especificada de varias maneras.
`g d'
Mueve el punto a la fecha especificada (`calendar-goto-date').
`g D'
Mueve el punto al día especificado del año
(`calendar-goto-day-of-year').
`g w'
Mueve el punto a la semana especificada del año
(`calendar-goto-iso-week').
`o'
Centra el calendario en torno al mes especificado
(`calendar-other-month').
`.'
Mueve el punto a la fecha del día (`calendar-goto-today').
`g d' (`calendar-goto-date') pregunta un año, un mes y un día del
mes, y entonces se mueve a esa fecha. Debido a que el calendario
incluye todas las fechas desde el inicio de la era actual, se debe
escribir en año completo; esto es `1990', no `90'.
`g D' (`calendar-goto-day-of-year') pide un año y un número de día,
y mueve a esa fecha. Los números de días negativos cuentan hacia atrás
desde el final del año. `g w' (`calendar-goto-iso-week') pide un año y
un número de semana y mueve a esa semana.
`o' (`calendar-other-month') pregnta por un mes y un año, después
centra el calendario de tres meses en torno a ese mes.
Se puede volver al día presente con `.' (`calendar-goto-today').
File: emacs.es, Node: Scroll Calendar
38.2 Deslizamiento del calendario
=================================
Lo que se muestra en el calendario se desplaza automáticamente cuando
el usuario se mueve más allá de la porción visible. También puede
hacerse manualmente. Imaginemos que la ventana del calendario contiene
una larga tira de papel con los meses en ella. Desplazar el calendario
significa mover la tira horizontalmente tal que los restantes meses se
vayan haciendo visibles en la ventana.
`>'
Desliza el calendario un mes hacia adelante
(`scroll-calendar-left').
`<'
Desliza el calendario un mes hacia atrás (`scroll-calendar-right').
`C-v'
`'
Desliza el calendario tres meses hacia adelante
(`scroll-calendar-left-three-months').
`M-v'
`'
Desliza el calendario tres meses hacia atrás
(`scroll-calendar-right-three-months').
Los comandos de desplazamiento del calendario más básicos desplazan
un mes cada vez. Esto significa que hay dos meses de solapamiento entre
lo que se muestra antes y después del comando. `>' desplaza el
contenido del calendario un mes hacia la izquierda; esto es, mueve lo
que se muestra hacia adelante en el tiempo. `<' desplaza hacia la
derecha, lo que mueve hacia atrás en el tiempo.
Los comandos `C-v' y `M-v' desplazan el calendario una "pantalla"
entera -tres meses- en analogía con el significado habitual de estos
comandos. `C-v' hace que las fechas posteriores se hagan visibles y
`M-v' lo hace con las anteriores. Estos comandos pueden tomar un
argumento numérico como contador de repetición; en particular, ya que
`C-u' multiplica el siguiente comando por cuatro, teclear `C-u C-v'
desplaza el calendario un año hacia adelante y `C-u M-v' lo hace un año
hacia atrás.
Las teclas de función `AvPág' y `RePág' son equivalentes a `C-v' y a
`M-v', tal y como lo son en otros modos.
File: emacs.es, Node: Counting Days
38.3 Conteo de días
====================
`M-='
Muestra el número de días en la región
(`calendar-count-days-region').
Para determinar el número de días en la región se escribe `M-='
(`calendar-count-days-region'). El número de días mostrado es
_inclusivo_; esto es, incluye los días especificados por la marca y el
punto.
File: emacs.es, Node: General Calendar
38.4 Comandos misceláneos para el Calendario
=============================================
`p d'
Muestra el día del año y los que faltan para finalizarlo
(`calendar-print-day-of-year').
`C-c C-l'
Regenera la ventana del calendario (`redraw-calendar').
`SPC'
Desliza la siguiente ventana arriba (`scroll-other-window').
`DEL'
Desliza la siguiente ventana hacia abajo
(`scroll-other-window-down').
`q'
Sale del calendario (`exit-calendar').
Para mostrar el número de días comprendidos entre el comienzo del año
y el día seleccionado, o el número de días que quedan en el año se
escribe el comando `p d' (`calendar-print-day-of-year'). Esto muestra
ambas cantidades en el área de eco. El número de días transcurridos
incluye la fecha seleccionada. El número de días restante no incluye
esa fecha.
Si el texto en la ventana del calendario se corrompe, se teclea `C-c
C-l' (`redraw-calendar') para redibujarla. (Esto sólo puede ocurrir si
se usaran comandos de edición no propios del calendario.)
En el modo Calendar se puede usar `SPC' (`scroll-other-window') y
(`scroll-other-window-down') para deslizar la otra ventana arriba
o abajo, respectivamente. Esto es útil cuando se muestra en esa otra
ventana una lista de festivos o de entradas de diario.
Para salir del calendario se pulsa `q' (`exit-calendar'). Esto
sepulta todos los búferes relacionados con el calendario y selecciona
otros. (Si un marco contiene una ventana de calendario dedicada, salir
del calendario elimina o iconifica ese marco, dependiendo del valor de
`calendar-remove-frame-by-deleting'.)
File: emacs.es, Node: Writing Calendar Files
38.5 Escritura de ficheros de Calendario
========================================
Se pueden escribir calendarios y entradas de diario en ficheros HTML y
LaTeX.
Los comandos para el Calendario HTML producen ficheros de código HTML
que contienen entradas de calendario y de diario. Cada fichero se
corresponde a un mes, y tiene un nombre con la forma `AAAA-MM.html',
donde AAAA y MM son el año con cuatro dígitos y el mes con dos dígitos,
respectivamente. La variable `cal-html-directory' especifica el
directorio predeterminado de salida de los ficheros HTML.
Las entradas del Diario encerradas entre `<' y `>' se interpretan
como etiquetas HTML (por ejemplo: esta es una entrada de diario con
algún texto en rojo). Se puede cambiar la
apariencia general de las páginas HTML mostradas (por ejemplo, el color
de varios elementos de las páginas, los estilos de las cabeceras) por
medio de una hoja de estilos `cal.css' en el directorio que contiene
los ficheros HTML (véase el valor de la variable `cal-html-css-default'
para los ajustes de estilo pertinentes).
`H m'
Genera un calendario de un mes (`cal-html-cursor-month').
`H y'
Genera un fichero de calendario por cada mes del año, así como una
página de índice (`cal-html-cursor-year'). Por omisión, este
comando escribe ficheros en un sub-directorio AAAA; si se altera,
algunos de los enlaces entre años no funcionarán.
Si la variable `cal-html-print-day-number-flag' es no-`nil',
entonces los calendarios mensuales muestran el número del día del año.
La variable `cal-html-year-index-cols' especifica el número de columnas
en la página de índice anual.
Los comandos del calendario LaTeX producen un búfer de código LaTeX
que se imprime como un calendario. Dependiendo del comando usado, el
calendario impreso cubre el día, la semana, el mes o el año en el que
se encuentre el punto.
`t m'
Genera un calendario de un mes (`cal-tex-cursor-month').
`t M'
Genera un calendario apaisado para un mes
(`cal-tex-cursor-month-landscape').
`t d'
Genera un calendario de un día (`cal-tex-cursor-day').
`t w 1'
Genera un calendario de una página para una semana
(`cal-tex-cursor-week').
`t w 2'
Genera un calendario de dos páginas para una semana
(`cal-tex-cursor-week2').
`t w 3'
Genera un calendario de estilo ISO para una semana
(`cal-tex-cursor-week-iso').
`t w 4'
Genera un calendario para una semana que empiece en Lunes
(`cal-tex-cursor-week-monday').
`t f w'
Genera un calendario tamaño Filofax de dos semanas
(`cal-tex-cursor-filofax-2week').
`t f W'
Genera un calendario tamaño Filofax de una semana
(`cal-tex-cursor-filofax-week').
`t y'
Genera un calendario para un año (`cal-tex-cursor-year').
`t Y'
Genera un calendario apaisado para un año
(`cal-tex-cursor-year-landscape').
`t f y'
Genera un calendario tamaño Filofax para un año
(`cal-tex-cursor-filofax-year').
Algunos de estos comandos imprimen el calendario de modo apaisado,
así que puede resultar más ancho que largo. Algunos de ellos usan el
tamaño de papel Filofax (3,75 x 6,75 pulgadas). Todos estos comandos
aceptan argumentos prefijos que especifican cuántos días, semanas,
meses o años hay que imprimir (empezando siempre con la fecha
seleccionada).
Si la variable `cal-tex-holidays' es no-`nil' (lo predeterminado),
entonces los calendarios impresos muestran los festivos que haya en
`calendar-holidays'. Si la variable `cal-tex-diary' es no-`nil' (lo
predefinido es `nil'), las entradas del diario también se incluyen
(sólo en calendarios mensuales, filofax y de semanas iso). Si la
variable `cal-tex-rules' es no-`nil' (lo predefinido es `nil'), el
calendario muestra páginas con reglas en estilos que proporcionan
suficiente espacio. Consúltese la documentación de cada función
cal-tex individual para ver qué calendarios admiten qué características.
Se puede usar la variable `cal-tex-preamble-extra' para insertar
comandos LaTeX extra en el preámbulo del documento generado si hiciera
falta.
File: emacs.es, Node: Holidays
38.6 "Festivos" (Fechas señaladas)
===================================
[NdT: El término original es `holidays', que he traducido como
`festivo', por ser una de sus traducciones más habituales, pero en el
contexto de este programa no encaja completamente, pues se refiere
realmente a distintos tipos de lo que podríamos considerar `fechas
señaladas', no sólo a los típicos festivos de las religiones. Y, por
supuesto, menos aún vale lo de "vacaciones", tema que toca solo
tangencialmente. De hecho, el programa incluye las fechas de los
solsticios y equinoccios, o de comienzo del horario de verano y omite,
sin embargo, los domingos, por lo que se aleja un poco del concepto
"hispánico" de `festivo'. Si alguien me puede sugerir un término que
englobe mejor ese conjunto de fechas, se lo agradeceré.]
El calendario de Emacs sabe de todos los festivos mayores y de muchos
de los menores, y puede mostrarlos.
`h'
Muestra los festivos para la fecha seleccionada
(`calendar-cursor-holidays').
`Ratón-3 Holidays'
Muestra los festivos de la fecha en la que se pulsa.
`x'
Marca los festivos en la ventana del calendario
(`mark-calendar-holidays').
`u'
Desmarca los festivos de la ventana del calendario
(`calendar-unmark').
`a'
Lista en otra ventana todos los festivos de los tres meses
mostrados en el calendario (`list-calendar-holidays').
`M-x holidays'
Lista en otra ventana todos los festivos de los tres meses en
torno a la fecha en curso.
`M-x list-holidays'
Lista en otra ventana los festivos dentro de un intervalo
especificado de años.
Para ver si algún festivo cae en una fecha dada se posiciona el punto
en esa fecha y se usa el comando `h'. Alternativamente se pulsa en esa
fecha con `Ratón-3' y se elije `Holidays' en el menú contextual. En
ambos casos se muestran los festivos para esa fecha, en la área echo si
cupiera allí, o de lo contrario en una ventana separada.
Para ver la distribución de los festivos en todas las fechas que se
muestran en el calendario se usa el comando `x'. Esto muestra las
fechas festivas con un rostro distinto (o pone un `*' tras esas fechas,
si no está disponible una pantalla con múltiples rostros). *Note
calendar-holiday-marker: Calendar Customizing. El comando se aplica
tanto a los meses visibles como a otros meses que se hagan visibles
mediante deslizamiento. Para desactivar y hacer desaparecer las
marcas, se escribe `u', lo que también borra cualquier marca del diario
(*note Diary::). Si la variable `mark-holidays-in-calendar' es
no-`nil', la creación o actualización del Calendario marca los festivos
automáticamente.
Para obtener información más detallada se usa el comando `a', que
muestra un búfer separado que contiene la lista de todos los festivos
en el intervalo de los tres meses visibles. Se puede usar y
desde la ventana del calendario para desplazar esa lista arriba y
abajo respectivamente.
El comando `M-x holidays' muestra la lista de los festivos del mes
en curso y de los dos meses adyacentes; esto funciona incluso si no se
tuviera abierta una ventana de calendario. Si la variable
`calendar-view-holidays-initially-flag' es no-`nil', la creación del
Calendario muestra los festivos de esta manera. Si se desea esa lista
de festivos centrada en torno a un mes diferente, se usa `C-u M-x
holidays', que pregunta por el mes y el año.
Los festivos conocidos por Emacs incluyen los festivos de Estados
Unidos y los principales baha'i, chinos, cristianos, islámicos y
judíos; también los solsticios y los equinoccios.
El comando `M-x list-holidays' muestra la lista de festivos dentro
de un intervalo de años. Esta función pregunta por los años inicial y
final, y permite escoger todos los festivos o una o varias categorías
de ellos. Se puede usar este comando incluso si no se tiene abierta
una ventana de calendario.
Las fechas usadas por Emacs para los festivos están basadas en las
_prácticas actuales_, no en hechos históricos. Por ejemplo, el Día de
los Veteranos estadounidense comenzó en 1919, pero aquí se muestra en
los años anteriores.
File: emacs.es, Node: Sunrise/Sunset
38.7 Horarios del Orto y del Ocaso
==================================
El calendario tiene comandos especiales que pueden informar, con
precisión de uno o dos minutos, las horas del orto y del ocaso de
cualquier fecha.
`S'
Muestra las horas del orto y del ocaso de la fecha seleccionada
(`calendar-sunrise-sunset').
`Ratón-3 Sunrise/sunset'
Muestra las horas del orto y del ocaso para la fecha en la que se
pulse.
`M-x sunrise-sunset'
Muestra las horas del orto y del ocaso de la fecha en curso.
`C-u M-x sunrise-sunset'
Display times of sunrise and sunset for a specified date.
`C-u M-x calendar-sunrise-sunset-month'
Muestra las horas del orto y del ocaso de la fecha especificada.
Dentro del calendario, para mostrar las _horas locales_ del orto y
del ocaso en el área de eco se pone el punto en la fecha deseada y se
teclea `S'. Alternativamente, se pulsa con `Ratón-3' en la fecha y
después se pulsa en `Sunrise/sunset' en el menú que aparece. El
comando `M-x sunrise-sunset' está disponible fuera del calendario para
mostrar esta información para el día en curso o para una fecha
especificada. Para especificar una fecha distinta al día en curso se
usa `C-u M-x sunrise-sunset', que pregunta por el año, el mes y el día.
Se pueden mostrar las horas del orto y del ocaso de cualquier
localización y cualquier día con `C-u C-u M-x sunrise-sunset'.
Pregunta por la longitud, la latitud, número de minutos de diferencia
con el Coordinated Universal Time, y la fecha, y entonces informa de
dichas horas para esa localización y ese día.
Debido a que las horas del orto y del ocaso dependen de la ubicación
en el planeta, hará falta decirle a Emacs la latitud, la longitud y el
nombre de la localidad antes de usar estos comandos. Aquí hay un
ejemplo de cómo se establece:
(setq calendar-latitude 28.4)
(setq calendar-longitude -15.2)
(setq calendar-location-name "LPGC, IC")
Empléese sólo un decimal en los valores de `calendar-latitude' y
`calendar-longitude'.
El huso horario (o zona horaria) también afecta a las horas locales
del orto y del ocaso. Emacs normalmente obtiene información del huso
horario del sistema operativo, pero si estos valores no son los
deseados (o el sistema operativo no los suministra), habrá que
establecerlos a mano. Aquí hay un ejemplo:
(setq calendar-time-zone -360)
(setq calendar-standard-time-zone-name "CST")
(setq calendar-daylight-time-zone-name "CDT")
El valor de `calendar-time-zone' es el número de minutos de diferencia
entre el horario estándar local y el Coordinated Universal Time (hora
de Greenwich). Los valores de `calendar-standard-time-zone-name' y
`calendar-daylight-time-zone-name' son las abreviaturas usadas para el
huso horario en el que se esté. Emacs muestra las horas del orto y del
ocaso _corregidas en los horarios de verano_. *Note Daylight
Savings::, para cómo se determina el horario de verano.
Como usuario se puede considerar conveniente establecer las variables
de localización del calendario para la localidad física habitual en el
fichero `.emacs' propio. Y cuando se instala Emacs en una máquina, se
puede crear un fichero `default.el' que establezca apropiadamente tales
variables para la localidad típica de la mayoría de los usuarios de esa
máquina. *Note Init File::.
File: emacs.es, Node: Lunar Phases
38.8 Fases de la Luna
=====================
Estos comandos del calendario muestran las fechas y las horas de las
fases de la Luna (Luna nueva, cuarto creciente, Luna llena y cuarto
menguante). Esta característica es útil para depurar problemas que
"dependan de la fase de la Luna".
`M'
Muestra las fechas y las horas de todos los cuartos de la Luna en
el período de tres meses que se muestra (`calendar-lunar-phases').
`M-x lunar-phases'
Muestra las fechas y las horas de los cuartos de la Luna en los
tres meses en torno a la fecha en curso.
Dentro del calendario, se usa el comando `M' para mostrar un búfer
separado con las fases de la Luna en el intervalo de los tres meses que
se muestran. Las fechas y horas listadas tienen un margen de
aproximación de unos cuantos minutos.
Fuera del calendario se usa el comando `M-x lunar-phases' para
mostrar la lista de las fases de la Luna para el mes en curso y los dos
adyacentes. Para información acerca de un mes diferente se usa `C-u
M-x lunar-phases', que pregunta por el mes y el año.
Las fechas y horas proporcionadas se dan en horario local (corregido
si se estuviera en horario de verano). Véase el tema en la sección
previa *Note Sunrise/Sunset::.
File: emacs.es, Node: Other Calendars
38.9 Conversión a y desde otros Calendarios
============================================
El calendario que muestra Emacs _siempre_ es el calendario Gregoriano,
que se emplea en la mayor parte del mundo hoy en día. Sin embargo,
este calendario no existía antes del siglo XVI y no fue ampliamente
usado antes del siglo XVIII; y tampoco desplazó completamente al
calendario Juliano y ganó aceptación universal hasta principios del
siglo XX. El calendario Emacs puede mostrar cualquier mes desde Enero
del año 1 de nuestra era, pero el calendario mostrado será el
Gregoriano, incluso para una fecha en la que ese calendario ni siquiera
existía.
->[[[Y habría que agregar que incluso podría ser intrínsecamente
falsa su información, pues el calendario Gregoriano se estableció para
corregir los desajustes astronómico-matemáticos que fue acumulando el
Juliano a lo largo de 1500 años, pero en el año 1 de nuestra era éste
último no precisaba grandes ajustes aún]]]
Y aunque Emacs no puede mostrar otros calendarios, sí puede convertir
fechas a y desde algunos otros calendarios.
* Menu:
* Calendar Systems:: Los calendarios que Emacs entiende
(aparte del Gregoriano).
* To Other Calendar:: Conversión de la fecha seleccionada a
varios calendarios.
* From Other Calendar:: Moverse a una fecha especificada en otro
calendario.
* Mayan Calendar:: Moverse a una fecha especificada en un
calendario Maya.
File: emacs.es, Node: Calendar Systems, Next: To Other Calendar, Up: Other Calendars
38.9.1 Sistemas de calendario soportados
----------------------------------------
El calendario comercial ISO es ampliamente usado en Europa.
El calendario Juliano, llamado así debido a Julio César, fue el usado
en Europa hasta pasada la Edad Media, en muchos países hasta el siglo
XIX y en Rusia hasta la Revolución Soviética de 1917, que lo eliminó.
Los astrónomos usaban una contabilidad simple de los días
transcurridos desde el mediodía del Lunes 1 de Enero del año 4713 A.C.
en el calendario Juliano. El número de días transcurrido se llama
"número juliano de día" o "número de día astronómico".
El calendario Hebreo es el usado tradicionalmente en la religión
judía. El calendario Emacs usa el calendario Hebreo para determinar
las fechas de los festivos judíos. Las fechas del calendario Hebreo
comienzan y terminan en el ocaso.
El calendario Islámico se usa en muchos países predominantemente
islámicos. Emacs lo emplea para determinar las fechas de los festivos
islámicos. Pero no existe un acuerdo universal en el mundo islámico
acerca del calendario; Emacs usa una versión ampliamente aceptada, pero
las fechas precisas de los festivos islámicos con frecuencia dependen
de su proclamación por la autoridades religiosas, no de los cálculos.
Como consecuencia, las fechas reales para la observancia pueden variar
ligeramente de las fechas computadas por Emacs. Los días en el
calendario Islamico empiezan y finalizan con el ocaso.
El calendario de la Revolución Francesa fue creado por los jacobinos
después de la revolución de 1789, para representar una visión del ciclo
anual más secular y basada en la naturaleza, y para instalar la semana
de 10 días como medida de racionalización similar a la del sistema
métrico. El gobierno francés abandonó oficialmente este calendario al
final de 1805.
Los mayas de Centroamérica usaban tres sistemas de calendario
separados y que se solapaban, el _long count_, el _tzolkin_ y el
_haab_. Emacs reconoce estos tres calendarios. Los expertos aún
debaten la correlación exacta entre el calendario Maya y el Gregoriano;
Emacs emplea en sus cálculos la correlación propuesta por
Goodman-Martinez-Thompson.
Los coptos usan un calendario basado en el antiguo calendario solar
egipcio. El calendario Copto consiste en 12 meses de 30 días seguidos
de un período extra de cinco días. Cada cuarto año añaden un día
"comodín" para otorgar seis días a ese período extra. El calendario
Etíope es idéntico en estructura, pero numera los años y nombra los
meses de manera diferente.
Los Persas usan un calendario solar basado en un diseño de Omar
Khayyam. Su calendario consiste en doce meses de los cuales los seis
primeros tienen 31 días, los cinco siguientes tienen 30 días, y el
último tiene 29 días en los años regulares y 30 en los años
"bisiestos". Éstos últimos años ocurren según un complicado patrón
cada cuatro o cinco años.
El calendario implementado aquí es el calendario persa aritmético
propulsado por Birashk, basado en un ciclo de 2,820 años. Difiere del
calendario persa astronómico, que está basado en eventos astronómicos.
En el momento de escribir esto, la primera discrepancia futura prevista
se proyecta para el 20 de Marzo de 2025. Actualmente no está claro
cual será el calendario oficial de Irán en el futuro.
El calendario Chino es un complicado sistema de meses lunares
ajustados dentro de años solares. Los años van en ciclos de sesenta,
cada año contiene ya sea doce meses en un año regular o trece meses en
un año bisiesto; cada mes tiene 29 o 30 días. Los años, los meses
regulares y los días son nombrados combinando uno de los diez "troncos
celestiales" con una de las doce "ramas terrestres" para un total de
sesenta nombres que se repiten en un ciclo de sesenta.
El sistema de calendario Baha'i está basado en un ciclo solar de 19
meses con 19 días cada uno. Los cuatro días "intercalados" restantes
se ponen entre los meses 18 y 19.
File: emacs.es, Node: To Other Calendar, Next: From Other Calendar, Prev: Calendar Systems, Up: Other Calendars
38.9.2 Conversión a otros calendarios
--------------------------------------
Los siguientes comandos describen la fecha seleccionada (donde se
encuentre el punto) en varios otros sistemas de calendario:
`Ratón-3 Other calendars'
Muestra la fecha en la que se pulsa, expresada en varios otros
calendarios.
`p o'
Mustra la fecha seleccionada en otros calendarios.
(`calendar-print-other-dates').
`p c'
Muestra el equivalente en el calendario comercial ISO de la fecha
seleccionada (`calendar-print-iso-date').
`p j'
Muestra el día juliano de la fecha seleccionada
(`calendar-julian-print-date').
`p a'
Muestra el número de día astronomico (juliano) de la fecha
seleccionada (`calendar-print-astro-day-number').
`p h'
Muestra el día hebreo de la fecha seleccionada
(`calendar-hebrew-print-date').
`p i'
Muestra el día islámico de la fecha seleccionada
(`calendar-print-islamic-date').
`p f'
Muestra el día revolucionario francés de la fecha seleccionada
(`calendar-french-print-date').
`p b'
Muestra el día Baha'i de la fecha seleccionada
(`calendar-bahai-print-date').
`p C'
Muestra la fecha china del día seleccionado
(`calendar-chinese-print-date').
`p k'
Muestra la fecha copta del día seleccionado
(`calendar-coptic-print-date').
`p e'
Muestra la fecha etíope del día seleccionado
(`calendar-ethiopic-print-date').
`p p'
Muestra la fecha persa del día seleccionado
(`calendar-persian-print-date').
`p m'
Muestra las fechas mayas del día seleccionado
(`calendar-mayan-print-date').
Si se está usando las X, una manera intuitiva de traducir una fecha
en otro calendario es pulsando en ella con `Ratón-3', después elegir
`Other calendars' en el menú contextual. Esto muestra las formas
equivalentes de todos los calendarios que Emacs reconoce, en forma de
menú. (Pero elegir una de sus entradas actualmente no hace nada -el
menú sólo se usa para mostrarse-.)
De lo contrario se desplaza el punto a la fecha que se quiere
convertir, y después se teclea el comando apropiado de la tabla de
arriba empezando con `p'. El prefijo `p' es un mnemónico de "print",
ya que Emacs "prints" (imprime) la fecha equivalente en el área de eco.
`p o' muestra la fecha en todas las formas conocidas por Emacs.
File: emacs.es, Node: From Other Calendar, Next: Mayan Calendar, Prev: To Other Calendar, Up: Other Calendars
38.9.3 Conversión desde otros calendarios
------------------------------------------
Se puede usar los otros calendarios admitidos para especificar una
fecha a la que moverse. Esta sección describe los comandos para
hacerlo empleando los calendarios distintos al Maya; para el calendario
Maya, véase la sección siguiente.
`g c'
Mueve a una fecha especificada en el calendario comercial ISO
(`calendar-iso-goto-date').
`g w'
Mueve a una semana especificada por el calendario comercial ISO
(`calendar-iso-goto-week').
`g j'
Mueve a una fecha especificada en el calendario Juliano
(`calendar-julian-goto-date').
`g a'
Mueve a una fecha especificada con un número de día astronómico
(Juliano) (`calendar-astro-goto-day-number').
`g b'
Mueve a una fecha especificada en el calendario Baha'i
(`calendar-bahai-goto-date').
`g h'
Mueve a una fecha especificada en el calendario Hebreo
(`calendar-hebrew-goto-date').
`g i'
Mueve a una fecha especificada en el calendario Islámico
(`calendar-islamic-goto-date').
`g f'
Mueve a una fecha especificada en el calendario de la Revolución
Francesa (`calendar-french-goto-date').
`g C'
Mueve a una fecha especificada en el calendario Chino
(`calendar-chinese-goto-date').
`g p'
Mueve a una fecha especificada en el calendario Persa
(`calendar-persian-goto-date').
`g k'
Mueve a una fecha especificada en el calendario Copto
(`calendar-coptic-goto-date').
`g e'
Mueve a una fecha especificada en el calendario Etíope
(`calendar-ethiopic-goto-date').
Estos comandos piden una fecha del otro calendario, mueven el punto a
la fecha correspondiente del calendario Gregoriano, y muestran la fecha
del otro calendario en la área de eco. Emacs usa completado estricto
(*note Strict Completion::) cuando pregunta por el nombre del mes, así
que no hay que preocuparse por recordar el deletreo de los nombres
hebreos, islámicos o franceses.
Una cuestión común relativa al calendario Hebreo es el cómputo del
aniversario de una defunción, llamado "yahrzeit". El calendario de
Emacs incluye una facilidad para tales cálculos. Cuando se está en el
calendario, el comando `M-x calendar-hebrew-list-yahrzeits' pide un
intervalo de años y después muestra una lista de fechas yahrzeit para
los años indicados y la fecha dada en el punto. Si no se está en el
calendario, este comando pide primero la fecha de defunción y el
intervalo de años, y después muestra la lista de fechas yahrzeit.
File: emacs.es, Node: Mayan Calendar, Prev: From Other Calendar, Up: Other Calendars
38.9.4 Conversión desde el calendario Maya
-------------------------------------------
Estos son los comandos para seleccionar fechas basadas en el calendario
Maya:
`g m l'
Mueve a la fecha especificada en el calendario largo
(`calendar-mayan-goto-long-count-date').
`g m n t'
Mueve a la siguiente coincidencia en el calendario tzolkin
(`calendar-mayan-next-tzolkin-date').
`g m p t'
Mueve a la coincidencia previa en el calendario tzolkin
(`calendar-mayan-previous-tzolkin-date').
`g m n h'
Mueve a la siguiente coincidencia en el calendario haab
(`calendar-mayan-next-haab-date').
`g m p h'
Mueve a la coincidencia previa en el calendario haab
(`calendar-mayan-previous-haab-date').
`g m n c'
Mueve a la siguiente coincidencia en el calendario combinado
(`calendar-mayan-next-calendar-round-date').
`g m p c'
Mueve a la coincidencia previa en el calendario combinado
(`calendar-mayan-previous-calendar-round-date').
Para entender estos comandos hace falta comprender los calendarios
Mayas. La "cuenta larga" es un conteo de días con estas unidades:
1 kin = 1 day 1 uinal = 20 kin 1 tun = 18 uinal
1 katun = 20 tun 1 baktun = 20 katun
Así, la fecha con la cuenta larga 12.16.11.16.6 significa 12 baktun, 16
katun, 11 tun, 16 uinal y 6 kin. El calendario de Emacs puede manejar
fechas con la cuenta larga a partir de 7.17.18.13.3, pero no
anteriores. Cuando se use el comando `g m l' hay que escribir las
fechas con cuenta larga mayas con los baktun, katun, tun, uinal y kin
separados por puntos.
El calendario maya Tzolkin es un ciclo de 260 days formado por un par
de ciclos independientes de 13 y 20 días. Como este ciclo se repite
sin fin, Emacs proporciona comandos para mover atrás y adelante al
punto precio o siguiente en el ciclo. Se teclea `g m p t' para ir a la
fecha tzolkin anterior; Emacs pide una fecha tzolkin y mueve el punto a
la coincidencia previa de esa fecha. De manera similar, se escribe `g
m n t' para ir a la siguiente coincidencia posterior.
El calendario maya Haab es un ciclo de 365 días ajustado como 18
meses de 20 días cada uno, seguido de un periodo de 5 días sin mes.
Como el ciclo tzolkin, este otro también se repite sin fin y hay
comandos para mover atrás y adelante al anterior y posterior punto en
el ciclo. Se teclea `g m p h' para ir a la fecha previa; Emacs pide
una fecha haab y mueve el punto a la anterior coincidencia de esa
fecha. De manera similr se escribe `g m n h' para ir a la siguiente
coincidencia de una fecha haab.
Los Mayas también usaban la combinación de las fechas tzolkin y haab.
Esta combinación es un ciclo de unos 52 años llamado _calendar round_.
Si se teclea `g m p c', Emacs pide ambas fechas y mueve el punto a la
coincidencia previa de esa combinación. Se usa `g m n c' para mover el
punto a la siguiente coincidencia de una combinación. Estos comandos
muestran un error si la combinación haab/tzolkin que se ha escrito
fuera imposible.
Emacs emplea completado estricto (*note Strict Completion::) cuando
pide que se escriba un nombre maya, por lo que no hay que preocuparse
por su deletreo.
File: emacs.es, Node: Diary
38.10 El Diario
===============
El diario de Emacs guarda un registro de las citas y otros eventos
diarios, en conjunción con el calendario. Para usar el diario primero
se debe crear un "fichero de diario" que contenga una lista de eventos
con sus fechas. Entonces Emacs podrá automáticamente extraer y mostrar
los eventos de ese día, los del futuro inmediato o los de cualquier
fecha especificada.
De modo predeterminado Emacs usa `~/diary' como el fichero de
diario. Es el mismo fichero que usa la utilidad `calendar'. Un
ejemplo de fichero `~/diary' es:
12/22/1988 Vigésimo aniversario de boda!!
&1/1. ¡Feliz Año Nuevo!
10/22 Cumpleaños de Ruth.
* 21, *: Día de paga
Tuesday--weekly reunión con los estudiantes de grado a las 10
Asisten Cano, Febles, Ávila y Padrón.
13/05/2008 Martes trece!!
&thu 4pm jugar al squash con Lloyd.
mar 16 Cumpleaños de padre.
Abril 15, 1989 Declaración de la Renta.
&* 15 time cards due.
Este formato es esencialmente el mismo que el usado por la utilidad
`calendar' del sistema. Este ejemplo usa espacios extra para alinear
las descripciones de los eventos de la mayoría de las entradas. Tal
formato es puramente cuestión de gustos.
Aunque probablemente se quiera empezar creando un Diario manualmente,
Emacs proporciona un cierto número de comandos que permiten ver, añadir
y modificar las entradas de diario.
* Menu:
* Displaying the Diary:: Visualización de las entradas del diario y
las fechas asociadas en el calendario.
* Format of Diary File:: Introducción de eventos en el diario.
* Date Formats:: Varias maneras para especificar fechas.
* Adding to Diary:: Comandos para crear entradas en el diario.
* Special Diary Entries:: Aniversarios, bloques de fechas, entradas
cíclicas, etc.
File: emacs.es, Node: Displaying the Diary, Next: Format of Diary File, Up: Diary
38.10.1 Visualización del Diario
---------------------------------
Una vez creado un fichero `~/diary', se puede usar el calendario para
verlo. También se pueden ver los eventos del día desde fuera del modo
Calendar.
`d'
Muestra todas las entradas del diario para la fecha seleccionada
(`diary-view-entries').
`Ratón-3 Diary'
Muestra todas las entradas del diario para la fecha sobre la que se
pulse.
`s'
Muestra el fichero del diario al completo
(`diary-show-all-entries').
`m'
Marca todas las fechas visibles que tengan entradas en el diario
(`diary-mark-entries').
`u'
Desmarca la ventana del calendario (`calendar-unmark').
`M-x diary-print-entries'
Imprime en papel una copia de las entradas del diario tal y como
aparecen en el búfer.
`M-x diary'
Muestra todas las entradas del diario para la fecha en curso.
`M-x diary-mail-entries'
Envía a sí mismo recordatorios de correo electrónico con las
entradas del diario próximas.
Mostrar las entradas en el diario con `d' muestra en una ventana
separada las entradas en el diario para la fecha seleccionada en el
calendario. La línea de modo de la nueva ventana muestra la fecha
de las entradas del diario y cualquier festivo que caiga en esa
fecha. Si se especifica un argumento numérico con `d', se
mostrarán todas las entradas en el diario para esa cantidad de
días sucesivos. Así, `2 d' mostrará todas las entradas para la
fecha seleccionada y para el día siguiente.
Otra manera de mostrar las entradas del diario para una fecha es
pulsar `Ratón-3' sobre la fecha, y después elegir `Diary entries'
en el menú contextual que aparece. Si la variable
`calendar-view-diary-initially-flag' es non-`nil', la creación del
calendario lista las entradas del Diario de la fecha en curso
(siempre que esa fecha sea visible).
Para tener una visión más amplia de qué días tienen entradas en el
diario se usa el comando `m'. Esto señala las fechas que tienen
entradas en el diario con un rostro diferente (o pone un `+'
después de esas fechas, si la pantalla no puede mostrar múltiples
rostros). *Note diary-entry-marker: Calendar Customizing.
El comando se aplica tanto a los meses visibles en ese momento
como a los que subsecuentemente se hicieran visibles mediante
desplazamiento. Para desmarcarlas de nuevo se teclea `u', lo que
también desmarcará los festivos (*note Holidays::). Si la variable
`mark-diary-entries-in-calendar' es no-`nil', la creación o
actualización del Calendario marca automáticamente las fechas del
Diario.
Para ver el diario completo, en lugar de sólo unas cuantas
entradas, se usa el comando `s'.
La muestra de las entradas del diario seleccionadas emplea la
característica de mostrado selectivo para ocultar las entradas que
no correspondan. El búfer del diario tal como se ve es una
ilusión, así que la simple impresión del búfer no imprime lo que
se ve en la pantalla. Hay un comando especial para imprimir en
papel una copia del búfer del diario _tal y como aparece_; este
comando es `M-x diary-print-entries'. Éste envía los datos
directamente a la impresora. Se puede configurar como `lpr-region'
(*note Printing::).
El comando `M-x diary' muestra las entradas en el diario para la
fecha en curso, independientemente de que el calendario se
muestre, y optativamente también las de unos cuantos días más; la
variable `diary-number-of-entries' especifica cuántos días se
incluyen. *Note diary-number-of-entries: Diary Customizing.
Si se pone `(diary)' en el fichero `.emacs', esto automaticamente
muestra una ventana con las entradas del diario para ese día, cada
vez que se entre a Emacs. La línea de modo de esa ventana muestra
la fecha y cualquier festivo que caiga en esa fecha.
A muchos usuarios les gusta recibir noticia de los eventos en su
diario como correo electrónico. Para enviarse ese correo a uno
mismo se usa el comando `M-x diary-mail-entries'. Un argumento
prefijo especifica cuántos días (empezando por el del momento) hay
que comprobar; de lo contrario, será la variable `diary-mail-days'
la que diga la cantidad de días.
File: emacs.es, Node: Format of Diary File, Next: Date Formats, Prev: Displaying the Diary, Up: Diary
38.10.2 El fichero del Diario
-----------------------------
El "fichero del Diario" es un fichero que registra los eventos
asociados a fechas particulares. El nombre de ese fichero queda
especificado en la variable `diary-file'; `~/diary' es el
predeterminado. La utilidad de `calendario' soporta un subconjunto del
formato permitido por el diario de Emacs, así que se puede usar dicha
utilidad para ver el fichero del diario con resultados razonables
aparte de las entradas que no pueda entender.
Cada entrada en el fichero del diario describe un evento y
consiste en una o más líneas. Una entrada siempre comienza con una
especificación de fecha en su margen izquierdo. El resto de la entrada
es simplemente texto que describe al evento. Si la entrada tuviera más
de una línea, entonces las líneas que siguen a la primera deben
comenzar con espacios en blanco para indicar que son continuación de la
entrada previa. Se ignorarán las líneas que no empiecen con fechas
válidas o no continúen una entrada precedente.
Se puede inhibir el marcado de ciertas entradas del diario en la
ventana del calendario; para hacerlo se inserta un signo
`diary-nonmarking-symbol' (cuyo predeterminado es `et' (`&') al
principio de la entrada, antes de la fecha. Esto no afecta a la
visualización de la entrada en la ventana del diario; sólo afecta a las
posibles marcas en la ventana del calendario. Las entradas no
marcables es un método especialmente útil para entradas genéricas que
de otro modo marcarían demasiadas fechas diferentes.
Si la primera línea de una entrada en el diario consite sólo en
una fecha o nombre de día sin que se continúe con espacios en blanco o
signos de puntuación, entonces la ventana del diario no incluirá esa
línea, sino sólo las que le continúen. Por ejemplo, esta entrada:
02/11/1989
Bill B. visita hoy la ciudad
2pm Reunión del Comité para el Software Libre
2:30-5:30 Lisa en el Teror
4:00pm Cita con el dentista
7:30pm Cena en Casa Ruperto
8:00-10:00pm Concierto
aparecerá en la ventana del diario sin la línea de fecha que hay al
principio. Este estilo de entrada luce más claro cuando se muestra
simplemente las entradas de un solo día, pero puede causar confusión si
se consultan varios días juntos.
Se puede editar las entradas en el diario tal y como aparecen
en la ventana, pero es importante recordar que el búfer contiene el
fichero del diario _entero_ , con porciones retiradas de la vista. Esto
significa, por ejemplo, que el comando `C-f' (`forward-char') puede
poner el punto en lo que parece el final de una línea, pero que puede
tratarse del medio de una línea oculta.
_¡Se debe ser cuidadoso al editar las entradas del diario!_. La
insersión de líneas adicionales o el añadido/borrado de caracteres en
la mitad de una línea visible no puede causar problemas, pero editar al
final de una línea puede no producir lo que se esperaba. Borrar una
línea podría borrar otras entradas invisibles que le sigan. Antes de
editar el diario es mejor mostrarlo entero con `s'
(`diary-show-all-entries').
File: emacs.es, Node: Date Formats, Next: Adding to Diary, Prev: Format of Diary File, Up: Diary
38.10.3 Formatos de fechas
--------------------------
Aquí presentamos algunos ejemplos de entradas en el diario, que
ilustran diferentes maneras de formatear una fecha. Todos los ejemplos
muestran las fechas en orden estadounidense (mes, día, año), pero el
modo Calendar soporta el orden europeo (día, mes, año) como una opción.
4/20/93 Cambiar al nuevo sistema de tabulación
apr. 25 Comenzar a tabular los resultados anuales
4/30 Los resultados de Abril deben estar finalizados
*/25 Finaliza el ciclo mensual
Friday No irse sin respaldar los ficheros
La primera entrada sólo aparecerá una vez, el 20 de Abril de
1993. La segunda y tercera aparecerán cada año en las fechas
especificadas, y la cuarta emplea un carácter comodín (asterisco) para
el mes, así que aparecerá el 25 de cada mes. La entrada final
aparecerá cada semana los viernes.
Se pueden utilizar simplemente números para expresar una fecha,
como en `MES/DíA' o en `MES/DíA/AñO'. A esto le debe seguir un
carácter no dígito. En la fecha en sí misma, MES y DíA son números de
uno o dos dígitos. El `año', optativo, también sería un número, y
puede quedar abreviado a sus dos últimos dígitos; esto es se pueden
usar `11/12/1989' o `11/12/89'.
Las fechas también pueden tener la forma de `NOMBRE-MES DíA' o
`NOMBRE-MES DíA, AñO', donde el nombre del mes puede ponerse entero o
abreviado en tres letras (con o sin punto). Las abreviaturas
preferidas se pueden controlar usando las variables
`calendar-abbrev-length', `calendar-month-abbrev-array' y
`calendar-day-abbrev-array'. Lo predeterminado es usar las tres
primeras letras de un nombre como su abreviatura. No hay distinción
entre mayúsculas y minúsculas.
Una fecha puede ser "genérica"; esto es parcialmente sin
especificar. Entonces la entrada se aplica a todas las fechas que
coincidan con esa especificación parcial. Si la fecha no contiene un
año, se considera genérica y se aplica a cualquier año.
Alternativamente, MES, DíA o AñO pueden ser un `*'; esto se
correspondería con cualquier mes, día o año respectivamente. Así, una
entrada de diario `3/*/*' se corresponde con cualquier día en Marzo de
cualquier año; lo mismo que `march *'.
Si se prefiere el estilo europeo de escribir fechas -en el que
el día viene antes que el mes- o el estilo ISO -en el que el orden es
año, mes, día- se escribe `M-x calendar-set-date-style' mientras se
está en el calendario, o se personaliza la variable
`european-date-style'. Esto afecta a la manera en se interpretan las
fechas del Diario, la visualización de las fechas y el orden en el que
algunos comandos esperan que se les pasen los argumentos.
Se puede usar el nombre de un día de la semana como una fecha
genérica que se aplicaría a cualquier fecha que cayera en ese día de la
semana. Se puede abreviar el día de la semana a tres letras (con o sin
punto) o deletrearlo por entero; no hay distinción entre mayúsculas y
minúsculas.
File: emacs.es, Node: Adding to Diary, Next: Special Diary Entries, Prev: Date Formats, Up: Diary
38.10.4 Comandos para añadir entradas al Diario
------------------------------------------------
Cuando se está en el calendario hay varios comandos para crear
entradas en el diario. Los más básicos se listan aquí; los más
sofisticados están en la sección siguiente (*note Special Diary
Entries::). Las entradas también se pueden basar en calendarios no
gregorianos. *Note Non-Gregorian Diary::.
`i d'
Añade una entrada de diario para la fecha seleccionada
(`diary-insert-entry').
`i w'
Añade una entrada de diario para el día de la semana
seleccionado (`diary-insert-weekly-entry').
`i m'
Añade una entrada de diario para el día del mes seleccionado
(`diary-insert-monthly-entry').
`i y'
Añade una entrada de diario para el día del año seleccionado
(`diary-insert-yearly-entry').
Se puede crear una entrada de diario para una fecha específica
seleccionándola en la ventana del calendario y tecleando el
comando `i d'. Este comando muestra el final del fichero de
diario en otra ventana e inserta la fecha; después ya se
puede introducir el resto de la entrada de diario.
Si se quiere crear una entrada de diario aplicable a un día
específico de la semana, se selecciona ese día (vale
cualquiera de ellos en el calendario) y se teclea `i w'.
Esto inserta el día-de-la-semana como una fecha genérica;
después ya se puede escribir el resto de la entrada de
diario. Se puede crear una entrada de diario mensual de la
misma manera: se selecciona el día del mes y se usa el
comando `i m', y después se escribe el resto de la entrada.
Y de modo similar se puede insertar una entrada de diario
anual con el comando `i y'.
Todos los comandos de arriba marcan las entradas de diario de
manera predeterminada. Para crear una entrada de diario no
marcada se le da un argumento numérico al comando. Por
ejemplo, `C-u i w' crea una entrada de diario no marcada
semanal.
Cuando se modifique el fichero de diario hay que asegurarse de
guardarlo antes de salir de Emacs. Al guardar el fichero del
Diario tras haber usado uno de los comandos de inserción de
arriba se actualizarán automáticamente las marcas del diario
en la ventana del Calendario, si fuera preciso. Se puede
usar el comando `calendar-redraw' para forzar una
actualización en cualquier momento.
File: emacs.es, Node: Special Diary Entries, Prev: Adding to Diary, Up: Diary
38.10.5 Entradas de Diario especiales
-------------------------------------
En añadido a las entradas basadas en fechas de calendario, el
fichero del diario puede contener "entradas sexp" (expresiones
simbólicas) para eventos regulares como los aniversarios. Estas
entradas se basan en expresiones Lisp (sexps) que Emacs evalúa mientras
escanea el fichero. En lugar de una fecha, una entrada sexp contiene
`%%' seguido de una expresión Lisp que debe empezar y finalizar con
paréntesis. La expresión Lisp determina a qué fechas se aplica la
entrada.
El modo Calendar proporciona comandos para insertar ciertas
entradas sexp comunes:
`i a'
Añade una entrada de aniversario en el diario para la
fecha seleccionada (`diary-insert-anniversary-entry').
`i b'
Añade una entrad de bloque en el diario para la región
(`diary-insert-block-entry').
`i c'
Añade una entrada cíclica en el diario empezando en la
fecha (`diary-insert-cyclic-entry').
Si se quiere crear una entrada en el diario que se
considere un aniversario de una fecha específica, se
mueve el punto a esa fecha y se usa el comando `i a'.
Con este se muestra el final del fichero de diario en
otra ventana y se inserta la descripción del aniversario;
después se puede teclear el resto de la entrada de
diario. La entrada se muestra más o menos así:
%%(diary-anniversary 31 10 1948) Cumpleaños de Arturo
Esta entrada se aplica sobre el 31 de Octubre de cada
año después de 1948; `31 10 1948' especifica la fecha
(si se está usando el estilo de calendario
estadounidense, el mes y la fecha se intercambian). La
razón por la que esta expresión requiere un año de
inicio es que las funciones avanzadas de diario pueden
usarla para calcular el número de años pasados.
Una entrada de diario en "bloque" se aplica a un
intervalo especificado consecutivo de fechas. Aquí hay
una entrada de diario en bloque que se aplica desde el
24 de Junio de 1990 hasta el 10 de Julio del mismo año
1990:
%%(diary-block 24 6 1990 10 7 1990) Vacaciones
El `24 6 1990' indica la fecha inicial y el `10 7 1990'
indica la fecha final (como ya dijimos antes, si se está
usando el estilo estadounidense o el ISO, el año, mes y
están en orden diferente).
Para insertar una entrada en bloque, se pone el punto y
la marca en la dos fechas de comienzo y final del
intervalo y se escribe `i b'. Este comando muestra el
final del fichero de diario en otra ventana e inserta la
descripción del bloque; después se puede escribir la
entrada de diario.
Las entradas "cíclicas" en el diario se repiten en un
intervalo fijo de días. Para crear una se selecciona la
fecha de inicio y se usa el comando `i c'. El comando
pide la longtud del intervalo, y después inserta la
entrada, que sería como esta:
%%(diary-cyclic 50 1 3 1990) Renovar la medicación
Esta entrada se aplica al día 1 de Marzo de 1990 y cada
50 días en adelante; `1 3 1990' especifca la fecha de
inicio. (Si se está usando el estilo estadounidense de
calendario, el mes y el día se intercambian.)
Estos tres comandos crean entradas de diario marcadas.
Pata insertar una entrada no marcada, se le proporciona
un argumento numérico al comando. Por ejemplo, `C-u i
a' crea una entrada de aniversario en el diario no
marcada.
Marcar las entradas de expresiones simbólicas en el
calendario provoca un consumo de tiempo _extremo_, ya
que cada fecha visible en el calendario debe ser
comprobada individualmente. Así que es una buena idea
no marcarlas (con `&') cuando sea posible.
Otro tipo sofisticado de entrada de expresión simbólica,
una entrada "flotante" en el diario, especifica un
evento que ocurre regularmente en fechas señaladas en
días, semanas y meses. Es comparable con una entrada de
crontab interpretada por el utilidad `cron'. Aquí
ponemos una entrada de diario no marcada, flotante, que
se aplica a los cuartos jueves de Noviembre:
&%%(diary-float 11 4 4) Acción de Gracias en EE.UU.
El 11 especifica Noviembre (el onceno mes), el 4
especifica los jueves (el cuarto día de la semana, donde
los domingos se numeran como cero), y el -1 especifica
"último" (1 significaría "primero", 2 "segundo", -2
sería el penúltimo, y así). El mes puede ser un único
mes o una lista de ellos. Así se puede cambiar el 11 de
arriba por `'(1 2 3)' y tener que la fecha se aplicaría
a los últimos jueves de Enero, Febrero y Marzo. Si el
mes es `t', la entrada se aplica a todos los meses del
año.
Cada una de las entradas de diario con s-expresiones
toman un parámetro optativo que especifica el nombre de
un rostro o una cadena de un solo carácter a usar cuando
se marque la entrada en el Calendario. De manera más
general, las entradas de diario con expresiones
simbólicas pueden realizar cómputos arbitrarios para
determinar cuándo se aplican. *note ()Sexp Diary
Entries::.
File: emacs.es, Node: Appointments
38.11 Citas, Reuniones, etc.
============================
Si se tiene una entrada en el diario para una cita o
reunión, y esa entrada empieza con una hora del día reconocible, Emacs
puede alertar unos minutos antes. Emacs anuncia la cita mostrando un
mensaje en el formato elegido, como se especifica en la variable
`appt-display-format'. Si el valor de `appt-audible' es no-`nil', la
advertencia incluye un recordatorio audible. Además, si
`appt-display-mode-line' es no-`nil', Emacs muestra la cantidad de
minutos que faltan para la reunión en la línea de modo.
Si `appt-display-format' tiene el valor `window',
entonces la variable `appt-display-duration' controla durante cuánto
tiempo es visible el recordatorio; y las variables
`appt-disp-window-function' y `appt-delete-window-function' dan los
nombres de las funciones usadas para crear y destruir la ventana,
respectivamente.
Para habilitar la notificación de las citas se usa el
comando `M-x appt-activate'. Con un argumento positivo, la activa; con
un argumento negativo, la desactiva; sin argumentos, la conmuta. La
activación de las notificaciones también establece una lista de citas
del día tomada del fichero del Diario, dando todas las entradas de
diario encontradas con horas del día reconocibles, y recuerda al
usuario cada una de ella.
Por ejemplo, supongamos que el fichero del Diario
contiene estas líneas:
Lunes
9:30am Hora del café
12:00pm Refrigerio
Entonces los Lunes se le recordará al usuario en torno a
las 9:20am acerca de la hora del café y en torno a las 11:50am sobre el
refrigerio. La variable `appt-message-warning-time' especifica cuántos
minutos antes se ha de producir el recordatorio; si valor
predeterminado es 12 (12 minutos).
Se pueden escribir las horas en estilo am/pm (donde
`12:00am' sería la medianoche y `12:00pm' el mediodía), o en estilo de
24-horas Europeo y militar. No es necesario ser consistente; el
fichero del Diario puede albergar una mixtura de los dos estilos. Las
horas deben ir al principio de las líneas si han de ser reconocidas.
Emacs actualiza la lista de citas y reuniones
automáticamente a la medianoche. Se puede forzar una actualización en
cualquier momento reactivando la notificación de reuniones. Ambas
acciones muestran también el búfer del Diario para esa fecha, a menos
que se ponga `appt-display-diary' en `nil'. La lista de citas y
reuniones también se actualiza siempre que se guarda el fichero del
Diario.
También se puede usar la notificación de citas como
una alarma de reloj. El comando `M-x appt-add' añade entradas a la
lista de citas sin afectar al fichero del diario. Esas entradas se
borran de la lista de citas con `M-x appt-delete'.
File: emacs.es, Node: Importing Diary
38.12 Importación y exportación de las entradas del Diario
============================================================
Se pueden transferir entradas de diario entre los
ficheros del Diario de Emacs y una variedad de formatos.
Se pueden importar entradas de diario desde los
mensajes de reuniones generados por Outlook. Mientras se ven esos
mensajes en Rmail o Gnus, se hace `M-x diary-from-outlook' para
importar la entrada. Se puede hacer que este comando reconozca
formatos suplementarios de mensajes de reunión mediante la
personalización de la variable `diary-outlook-formats'.
El paquete icalendar permite transferir datos entre
el fichero del Diario de Emacs y ficheros iCalendar, que se definen en
la "RFC 2445; Internet Calendaring and Scheduling Core Object
Specification (iCalendar)" (así como el más temprano formato vCalendar).
[se ocultó, ¿por qué? La importación funciona para
eventos "ordinarios" (i.e. no recurrentes), pero (al presente) puede no
funcionar correctamente (si es que lo hace) para los eventos
recurrentes. La exportación de ficheros de Diario a ficheros iCalendar
debería funcionar correctamente para la mayoría de las entradas del
Diario. Esta característica es un trabajo en progreso, así que los
comandos pueden evolucionar en un futuro.
[heredado, ha desaparecido, pero el comando existe y
el ejemplo se mantiene] El comando `icalendar-import-buffer' extrae
datos iCalendar del búfer en uso y los añade al fichero de Diario (el
predeterminado). Esta función también es adecuada para la extracción
automática de datos iCalendar; por ejemplo, con el cliente de correo
Rmail uno podría usar:]
(add-hook 'rmail-show-message-hook 'icalendar-import-buffer)
El comando `icalendar-import-file' importa ficheros
iCalendar y añade el resultado a un fichero de Diario de Emacs. Por
ejemplo:
(icalendar-import-file "/here/is/calendar.ics"
"/there/goes/ical-diary")
Se puede usar una directiva `#include' para añadir el
contenido del fichero importado al fichero principal del Diario, si
fueran ficheros distintos. *Note Fancy Diary Display::.
Se usa `icalendar-export-file' para exportar
interactivamente un fichero entero de Diario de Emacs al formato
iCalendar. Para exportar sólo una parte de un fichero de Diario, se
marca el área pertinente, y se llama a `icalendar-export-region'. En
ambos casos se agrega el resultado al final del fichero de destino.
File: emacs.es, Node: Daylight Saving
38.13 Horario de Verano
=======================
Emacs entiende la diferencia entre horario estándar y
horario de verano; las horas dadas para el orto, el ocaso, los
solsticios, los equinoccios y las fases de la luna lo toman en cuenta.
Las reglas para los horarios de verano varían de sitio en sitio y
también han variado históricamente de año en año. Para hacer su trabajo
apropiadamente, Emacs necesita saber qué reglas usar.
Algunos sistemas operativos registran las reglas
aplicables en el área donde se encuentre el usuario; en esos sistemas,
Emacs obtiene la información que precisa automáticamente del sistema.
Si toda o parte de esa información no se encuentra, Emacs rellena los
agujeros con las reglas usadas actualemente en Cambridge,
Massachusetts. Si el resultado no es lo que se desea, se le puede
decir a Emacs las reglas a usar estableciendo ciertas variables:
`calendar-daylight-savings-starts' y `calendar-daylight-savings-ends'.
Estos valores deben ser expresiones Lisp que se
refieran a la variable `year', y evaluarse con las fechas gregorianas
en las que empiezan o (respectivamente) terminan el horario de verano,
en la forma de una lista `MES DíA AñO'. Los valores deben ser `nil' si
la zona en cuestión no usa el horario de verano.
Emacs usa estas expresiones para determinar la fecha
de inicio del horario de verano para la lista de festivos y para
corregir las horas del día en los cálculos solares y lunares.
Los valores para Cambridge, Massachusetts, son los
siguientes:
(calendar-nth-named-day 2 0 3 year)
(calendar-nth-named-day 1 0 11 year)
Esto es el segundo día 0 (Domingo) del tercer mes
(Marzo) del año especificado por `year', y el primer Domingo del
undécimo mes (Noviembre) de ese año. Si el horario de verano fuera
cambiado para que empezara el 1 de Octubre, se podría establecer
`calendar-daylight-savings-starts' en esto:
(list 10 1 year)
Si no hay horario de verano en la zona donde se esté,
o si se desea todas las horas en horario estándar, se establecen
`calendar-daylight-savings-starts' y `calendar-daylight-savings-ends'
en `nil'.
La variable `calendar-daylight-time-offset'
especifica la diferencia entre horario de verano y horario estándar,
medida en minutos. El valor para Cambridge, Massachusetts es 60.
Finalmente, las dos variables
`calendar-daylight-savings-starts-time' y
`calendar-daylight-savings-ends-time' especifican el número de minutos
después de la media noche local en que deben ocurrir las transiciones a
y desde el horario de verano. Para Cambridge, Massachusetts ambos
valores de variable son 120.
File: emacs.es, Node: Time Intervals
38.14 Suma de intervalos de tiempo
==================================
La característica de "timeclock" (reloj de trabajo) suma
intervalos de tiempo, de tal modo que se puede (por ejemplo) mantener
un registro de cuánto tiempo se pasa trabajando en proyectos
particulares.
Se usa el comando `M-x timeclock-in' cuando se
empieza a trabajar en un proyecto, y el comando `M-x timeclock-out'
cuando se termina. Cada vez que se haga esto, se añade un intervalo de
tiempo al registro del proyecto. Se puede pasar a trabajar en un
proyecto distinto con `M-x timeclock-change'.
Una vez que se hayan recogido los datos de una cierta
cantidad de intervalos de tiempo, se puede usar `M-x
timeclock-workday-remaining' para ver cuánto tiempo de trabajo queda
para el día (asumiendo la media típica de 8 horas diarias), y `M-x
timeclock-when-to-leave' que calculará cuando se "acabó".
Si se desea que Emacs muestre en la línea de modo el
tiempo que "falta" para finalizar el día de trabajo, se puede o bien
establecer la variable `timeclock-modeline-display' en `t', o invocar
el comando `M-x timeclock-modeline-display'.
Finalizar la sesión activa de Emacs puede significar
o no que se ha parado de trabajar en el proyecto y, por defecto, Emacs
lo pregunta. Se puede, sin embargo, establecer el valor de la variable
`timeclock-ask-before-exiting' en `nil' para evitar la pregunta.
entonces, sólo un `M-x timeclock-out' o un `M-x timeclock-change' le
dirán a Emacs que el intervalo de tiempo se debe cerrar.
Las funciones del reloj de trabajo operan acumulando
los datos en un fichero llamado `.timelog' en el directorio personal
del usuario. Se puede especificar un nombre diferente para ese fichero
configurando la variable `timeclock-file'. Si se edita el fichero
timeclock maualmente, o si se cambia el valor de cualquiera de la
variables personalizables de timeclock, se deberá ejecutar el comando
`M-x timeclock-reread-log' para actualizar los datos en Emacs.
File: emacs.es, Node: Advanced Calendar/Diary Usage
38.15 Personalización del Calendario y del Diario
==================================================
Hay muchas personalizaciones que se pueden usar para
hacer que el Calendario y el Diario se adapte a los gustos personales.
* Menu:
* Calendar Customizing:: Calendar layout and hooks.
* Holiday Customizing:: Defining your own holidays.
* Date Display Format:: Changing the format.
* Time Display Format:: Changing the format.
* Diary Customizing:: Defaults you can set.
* Non-Gregorian Diary:: Diary entries based on other calendars.
* Fancy Diary Display:: Enhancing the diary display, sorting entries,
using included diary files.
* Sexp Diary Entries:: Fancy things you can do.
File: emacs.es, Node: Calendar Customizing, Next: Holiday Customizing, Up: Advanced Calendar/Diary Usage
38.15.1 Personalización del Calendario
---------------------------------------
Desafortunadamente la vista del Calendario no puede
cambiarse con respecto a los tres meses, pero se puede personalizar el
espacio en blanco usado, estableciendo las variables:
`calendar-left-margin', `calendar-day-header-width',
`calendar-day-digit-width', `calendar-column-width' y
`calendar-intermonth-spacing'. Para mostrar texto _entre_ los meses,
por ejemplo los números de las semanas, se personalizan las variables
`calendar-intermonth-header' y `calendar-intermonth-text' como se
describen en su documentación.
La variable `calendar-holiday-marker' especifica cómo
marcar una fecha como festiva [o señalada]. Su valor puede ser una
cadena de un solo carácter a insertar después de la fecha, o un nombre
de rostro a usar para mostrar la fecha. Igualmente, la variable
`diary-entry-marker' especifica cómo marcar una fecha que tenga
entradas en el Diario y `calenday-today-marker' se usa por la función
`calendar-mark-today' para marcar la fecha del momento. Lo
predeterminado es que el Calendario utilice los rostros llamados
`holiday', `diary' y `calendar-today' para estos propósitos.
La variable `calendar-load-hook' es un gancho normal
que se ejecuta cuando el paquete del Calendario se carga primero (antes
de empezar a mostrar de hecho el Calendario).
El inicio del Calendario ejecuta el gancho normal
`calendar-initial-window-hook'. El re-cálculo de la vista del
Calendario no hace ejecutar este gancho. Pero si se abandona el
Calendario con el comando `q' y se reentra a él, el gancho se ejecuta
de nuevo.
La variable `calendar-today-visible-hook' es un
gancho normal que se ejecuta después de que el búfer del Calendario
haya sido preparado con el Calendario cuando la fecha en curso es
visible en la ventana. Un uso de este gancho es marcar la fecha del
momento; para eso se utiliza algunas de las funciones
`calendar-mark-today' o `calendar-star-date'.
(add-hook 'calendar-today-visible-hook 'calendar-mark-today)
Un gancho normal similar,
`calendar-today-invisible-hook', se ejecuta si la fehca en curso _no_
es visible en la ventana.
Cada uno de los comandos de movimiento del cursor por
el Calendario ejecutan el gancho `calendar-move-hook' tras mover el
cursor.
File: emacs.es, Node: Holiday Customizing, Next: Date Display Format, Prev: Calendar Customizing, Up: Advanced Calendar/Diary Usage
38.15.2 Personalización de las celebraciones
---------------------------------------------
Emacs sabe de festivos definidos en varias listas. Las
listas de que Emacs usa son las de festivos y celebraciones generales
(`holiday-general-holidays'), locales (`holiday-local-holidays'), la
relacionada con el Sol y la Luna (`holiday-solar-holidays'), la baha'i
(`holiday-bahai-holidays'), la cristianas
(`holiday-christian-holidays'), la hebrea (judía)
(`holiday-hebrew-holidays'), la islámica (musulmana)
(`holiday-islamic-holidays'), la oriental
(`holiday-oriental-holidays'), y otras celebraciones y festivos
(`holiday-other-holidays').
Estas listas de celebraciones se pueden personalizar
según las necesidades propias, eliminando o añadiendo otras fechas como
se indica más abajo. Se establece cualquiera de ellas en `nil' para
eliminar las fechas asociadas.
Los festivos generales son, por omisión, los comunes
en todo EE.UU.
No hay festivos locales predeterminados, pero cada
sitio puede suministrar algunos.
Lo predeterminado es que Emacs no incluya todos los
festivos de las religiones que conoce, sólo aquellos que se encuentran
comunmente en los calendarios seculares. Para una colección más
extensa de festivos religiosos, se pueden poner cualquiera (o todas)
las variables `calendar-bahai-all-holidays-flag',
`calendar-christian-all-holidays-flag',
`calendar-hebrew-all-holidays-flag' o
`calendar-islamic-all-holidays-flag' en `t'.
Se puede establecer la variable
`holiday-other-holidays' en cualquier lista de festivos. Esta lista,
normalmente vacía, está pensada para uso individual.
Cada una de las listas de festivos es una lista de
"formularios de festivos", donde cada uno de ellos describe un festivo
(o a veces una lista de festivos).
A continuación la tabla de los tipos posibles de
formularios de festivos. Los números de días y meses cuentan a partir
de 1, pero los números de los nombres de días cuentan el domingo como
0. El elemento STRING siempre es el nombre del festivo, como cadena.
`(holiday-fixed MONTH DAY STRING)'
Una fecha fija en el calendario gregoriano.
`(holiday-float MONTH DAYNAME K STRING &optional DAY)'
El K-simo DAYNAME (DAYNAME=0 para el domingo, etc.)
posterior o anterior a la fecha gregoriana MONTH,
DAY. Una K negativa significa contar hacia atrás
desde el final del mes. La opción DAY en principio
es 1 si K es positivo, y el último día del MONTH de
lo contrario.
`(holiday-chinese MONTH DAY STRING)'
Una fecha fija en el calendario chino.
`(holiday-hebrew MONTH DAY STRING)'
Una fecha fija en el calendario hebreo.
`(holiday-islamic MONTH DAY STRING)'
Una fecha fija en el calendario islámico.
`(holiday-julian MONTH DAY STRING)'
Una fecha fija en el calendario juliano.
`(holiday-sexp SEXP STRING)'
Una fecha calculada por la expresión Lisp SEXP. La
expresión debería usar la variable `year' a
calcular y devolver la fecha de un festivo con la
forma de una lista `(MONTH DAY YEAR)', o `nil' si
el festivo no ocurre en ese año.
`(if CONDITION HOLIDAY-FORM)'
Un festivo que sólo ocurre si la CONDITION es
verdadera.
`(FUNCTION [ARGS])'
Una lista de fechas calculada por la función
FUNCTION, llamada con los argumentos ARGS.
Por ejemplo, supongamos que se quiere añadir el Día
del Asalto a la Bastilla, celebrado en Francia el 14 de Julio. Se
puede hacer así:
(setq other-holidays '((holiday-fixed 7 14 "Bastille Day")))
Muchos festivos ocurren en un día concreto de la
semana, en un momento concreto del mes. Este es el formulario que
describe el Día de la Madre, celebrado el primer domingo de Mayo en
España, el segundo domingo del mismo mes en muchos otros países de
hispano-hablantes, el tercer domingo de Octubre en Argentina:
(holiday-float 5 0 1 "Día de la Madre") ; España
(holiday-float 5 0 2 "Día de la Madre") ; Muchos países
(holiday-float 10 0 3 "Día de la Madre") ; Argentina
Aquí el 5 o el 10 describen el mes, Mayo u Octubre, el
cero especifica el domingo (el domingo es el cero, el lunes el 1,
etc.), y el último número especifica el ordinal en que sucede en el mes
(1 especifica la primera vez, 2 la segunda, -1 la últina, -2 la
penúltima, etc.).
También se pueden especificar festivos que ocurren en
días fijos de los calendarios bahai, chino, hebreo, islámico y juliano.
Por ejemplo,
(setq other-holidays
'((holiday-hebrew 10 2 "Last day of Hanukkah")
(holiday-islamic 3 12 "Mohammed's Birthday")
(holiday-julian 4 2 "Jefferson's Birthday")))
añade el último día de Hanukkah (ya que los meses
hebreos se numeran a partir de 1 con Nisan), la fiesta de la
celebración del nacimiento de Mahoma (ya que los meses islámicos se
numeran a partir de 1 con Muharram), y el nacimiento de Thomas
Jefferson, que fue el 2 de Abril de 1743 en el calendario juliano.
Para incluir un festivo incondicionalmente, se usa ya
sea el `if' de Emacs Lisp o la forma `holiday-sexp'. Por ejemplo, las
elecciones presidenciales estadounidenses tienen lugar en el primer
martes después del primer lunes de Noviembre de los años divisibles por
4:
(holiday-sexp '(if (zerop (% year 4))
(calendar-gregorian-from-absolute
(1+ (calendar-dayname-on-or-before
1 (+ 6 (calendar-absolute-from-gregorian
(list 11 1 year)))))))
"US Presidential Election")
o
(if (zerop (% displayed-year 4))
(holiday-fixed 11
(calendar-extract-day
(calendar-gregorian-from-absolute
(1+ (calendar-dayname-on-or-before
1 (+ 6 (calendar-absolute-from-gregorian
(list 11 1 displayed-year)))))))
"US Presidential Election"))
Algunas celebraciones no se ajustan a ninguna de
estas formas porque se necesitan cálculos especiales para su
determinación. En tales casos se debe escribir una función Lisp para
hacer el cálculo. Para incluir los eclipses, por ejemplo, se añade
`(eclipses)' a `holiday-other-holidays' y se escribe una función Emacs
Lisp `eclipses' que devuelva la lista (posiblemente vacía) de las
fechas gregorianas relevantes a lo largo del intervalo visible de la
ventana del Calendario, con cadenas descriptivas, como:
(((6 27 1991) "Lunar Eclipse") ((7 11 1991) "Solar Eclipse") ... )
File: emacs.es, Node: Date Display Format, Next: Time Display Format, Prev: Holiday Customizing, Up: Advanced Calendar/Diary Usage
38.15.3 Formato de visualización de las fechas
-----------------------------------------------
Se puede personalizar la manera de mostrar las fechas en
el Diario, en las líneas de modo y en los mensajes, estableciendo
`calendar-date-display-form'. Esta variable alberga una lista de
expresiones que pueden implicar a las variables `month', `day' y
`year', todas ellas números en forma de cadena, y `monthname' y
`dayname', ambas cs alfabéticas. En el estilo estadounidense, el valor
predeterminado de esta lista es:
((if dayname (concat dayname ", ")) monthname " " day ", " year)
mientras que en el estilo europeo el valor
predeterminado es este:
((if dayname (concat dayname ", ")) day " " monthname " " year)
La representación de fechas estándar de ISO es esta:
Esto especifica un formato típico estadounidense:
This specifies a typical American format:
(month "/" day "/" (substring year -2))
File: emacs.es, Node: Time Display Format, Next: Diary Customizing, Prev: Date Display Format, Up: Advanced Calendar/Diary Usage
38.15.4 Formato de visualización de las horas
----------------------------------------------
El Calendario y el Diario por omisión muestran las horas
del día en el estilo convencional estadounidense, de la 1 a la 12, los
minutos y `am' o `pm'. Si se prefiere el estilo europeo, también
conocido en EE.UU. como estilo militar, en el que las horas van de 00 a
23, se puede alterar la variable `calendar-time-display-form'. Esta
variable es una lista de expresiones que pueden implicar a las
variables `12-hours', `24-hours' y `minutes', todas ellas números en
forma de cadena, y `am-pm' y `time-zone', ambas cadenas alfabéticas.
El valor predeterminado de `calendar-time-display-form' es el siguiente:
(12-hours ":" minutes am-pm
(if time-zone " (") time-zone (if time-zone ")"))
Este es un valor que proporciona horas al estilo europeo:
(24-hours ":" minutes
(if time-zone " (") time-zone (if time-zone ")"))
Recuérdese que unas pocas funciones de calendario
devuelven una hora del día (en la actualidad, sólo funciones solares).
File: emacs.es, Node: Diary Customizing, Next: Non-Gregorian Diary, Prev: Time Display Format, Up: Advanced Calendar/Diary Usage
38.15.5 Personalización del Diario
-----------------------------------
Lo normal es que la línea de modo de la ventana del
búfer del Diario indique cualquier festivo que caiga en las fechas de
las entradas de diario. El proceso de comprobación de festivos puede
tomarse algunos segundos, dependiendo de las celebraciones definidas.
Si se prefiere una vista más rápida de dicho búfer, pero sin la
información de festivos, se pone la variable `diary-show-holidays-flag'
en `nil'.
La variable `diary-number-of-entries' controla el
número de días de entradas de diario a mostrar a la vez. Afecta a la
vista inicial cuando `calendar-view-diary-initially-flag' es `t', así
como al comando `M-x diary'. Por ejemplo, el valor predeterminado es
1, que dice que se muestren sólo las entradas de diario del día en
curso. Si el valor es 2, se muestran tanto las del día en curso como
las del día siguiente. El valor también puede ser un vector de siete
elementos: por ejemplo, si el valor es `[0 2 2 2 2 4 1]', entonces no
aparecen las entradas de diario del domingo, las del día en curso y las
del siguiente aparecen desde el lunes hasta el jueves, las de viernes a
lunes aparecen el viernes, mientras que las del sábado aparecen en su
fecha.
La variable `diary-print-entries-hook' es un gancho
normal que se ejecuta tras la preparación de un búfer temporal que
contiene tan solo las entradas de diario visibles en esos momentos en
el búfer del Diario. (Las otras entradas de diario irrelevantes están
realmente ausentes del búfer temporal; en el búfer del Diario
simplemente están ocultas.) El valor predeterminado de este gancho
realiza la impresión con el comando `lpr-buffer'. Si se quiere usar un
comando distinto para la impresión, basta con cambiar el valor de este
gancho. Otros usos incluirían, por ejemplo, ordenar las líneas por
días y por horas.
La forma de las fechas se puede personalizar en el
fichero del Diario, si no se ajustan a las necesidades personales ni el
estilo estadounidense ni el europeo, estableciendo la variable
`diary-date-forms'. Esta variable es una lista de patrones de
reconocimiento de fecha. Cada patrón de fecha es una lista cuyos
elementos pueden ser expresiones regulares (*note Regular Expressions:
(elisp)Regular Expressions.) o los símbolos `month', `day', `year',
`monthname' y `dayname'. Todos estos elementos sirven como patrones que
contrastan ciertos tipos de texto en el fichero del Diario. Para que
el patrón de fecha concuerde como un todo, todos sus elementos deben
coincidir consecutivamente.
Una expresión regular en un patrón de fecha concuerda
de la manera habitual, usando la tabla de sintaxis estándar alterada
tal que `*' sea consituyente de palabra.
Los símbolos `month', `day', `year', `monthname' y
`dayname' coinciden con el número de mes, de día, de año, el nombre del
mes y el del día de la fecha en consideración. Los símbolos que
coinciden con números permiten ceros antepuestos; aquellos que
coinciden con nombres permiten abreviaturas de tres letras y
capitalización (como esté especificado en `calendar-month-abbrev-array'
y en `calendar-day-abbrev-array'). Todos los símbolos pueden coincidir
con `*'; como `*' en una entrada del Diario significa "cualquier día",
"cualquier mmes", etc., debería coincidir independientemente de la
fecha considerada.
El valor predeterminado de `diary-date-forms' en el
estilo estadounidense es este, proporcionado por
`diary-american-date-forms':
((month "/" day "[^/0-9]")
(month "/" day "/" year "[^0-9]")
(monthname " *" day "[^,0-9]")
(monthname " *" day ", *" year "[^0-9]")
(dayname "\\W"))
Otros estilos predeterminados los proporcionan
`diary-european-date-forms' y `diary-iso-date-forms'.
Los patrones de fecha de la lista deben ser
_mutuamente excluyentes_ y no deben coincidir con ninguna porción de la
entrada de diario en sí, tan sólo con la fecha y un carácter de espacio
en blanco. Si, para ser mutuamente excluyente, el patrón debe coincidir
con una porción del texto de la entrada del Diario -más allá del
espacio en blanco en que finaliza la fecha- entonces el primer elemento
del patrón de fecha _debe_ ser `backup'. Esto causa que el reconocedor
de fechas regrese al principio de la palabra en curso de la entrada del
Diario, tras finalizaar la comparación. Incluso si se usa `backup', el
patrón de fecha tiene absolutamente prohibido coincidir con más que una
porción de la primera palabra de la entrada de diario. El valor
predeterminado de `diary-european-date-forms' es:
((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"))
Adviértase el uso de `backup' en el tercer patrón, porque
necesita comparar parte de una palabra más allá de la fecha en sí para
distinguirla del cuarto patrón.
File: emacs.es, Node: Non-Gregorian Diary, Next: Fancy Diary Display, Prev: Diary Customizing, Up: Advanced Calendar/Diary Usage
38.15.6 Entradas de Diario en calendario no gregorianos
-------------------------------------------------------
Al igual que las entradas basadas en el calendario
gregoriano, el Diario puede contener entradas basadas en fechas baha'i,
hebreas o islámicas. Sin embargo, debido a que el reconocimiento de
tales entradas consume tiempo, y la mayoría de las personas no lo usan,
se debe habilitar su uso explícitamente. Si por ejemplo se quiere que
el Diario reconozca entradas con fechas hebreas, se debe hacer esto:
(add-hook 'diary-nongregorian-listing-hook 'diary-hebrew-list-entries)
(add-hook 'diary-nongregorian-marking-hook 'diary-hebrew-mark-entries)
Si lo que se quieren son entradas islámicas y baha'i, se
añade `diary-islamic-list-entries' y `diary-islamic-mark-entries', o
`diary-bahai-list-entries' y `diary-bahai-mark-entries'.
Estas entradas de Diario tienen los mismos formatos
que los de las fechas gregorianas, excepto que el
`diary-bahai-entry-symbol' (predeterminado `B') debe preceder a las
fechas baha'i, el `diary-hebrew-entry-symbol' (predeterminado `H') a las
hebreas y el `diary-islamic-entry-symbol' (predeterminado `I') a las
islámicas. Más aún, como los nombres de meses hebreos e islámicos no
quedan identificados unívocamente con las tres primeras letras, no se
puede abreviar. Por ejemplo, una entrada de Diario para la fecha
hebrea Heshvan 25 podría lucir así:
HHeshvan 25 Happy Hebrew birthday!
y aparecría en el Diario para cualquier fecha que se
corresponda con Heshvan 25 en el Calendario hebreo. Y aquí ponemos una
entrada con fecha islámica que coincide con Dhu al-Qada 25:
IDhu al-Qada 25 Happy Islamic birthday!
Como con las entradas de Diario con fechas
gregorianas, las entradas no gregorianas no se marcan si van precedidas
con el signo `diary-nonmarking-symbol' (el predeterminado es `et' `&').
Esta es la tabla de comandos usados en el Calendario
para crear entradas de Diario que coincidan con la fecha seleccionada y
otras fechas similares en los calendarios bahai, hebreo e islámico:
[En la nueva redacción de la tabla que viene a
continuación, se han suprimido las explicaciones y se dejaron sólo los
nombres de las funciones, con un breve resumen general en medio párrafo
posterior. Quizás a los castellano-parlantes no nos cueste mucho
entender su significado, pero en general me parece una tremenda falta
de respeto. Esa actitud, además, es insólita, impensable e inadmisible
en el Manual de Emacs, que lo explica todo. Siguiendo la misma lógica,
muchas otras tablas y pasajes del manual podrían adoptar el mismo
método, lo que sería un absurdo y completo sin-sentido. Mantengo la
redacción antigua, la que había hasta la versión 22, pero quiero dejar
constancia de que me he quedado alucinado con esto. Como el calendario
bahai se agregó en 23, se verá como quedan los elementos de la tabla.]
`i h d'
Añade una entrada de diario para la fecha hebrea
correspondiente a la fecha seleccionada
(`diary-hebrew-insert-entry').
`i h m'
Añade una entrada de diario para el día del mes
hebreo correspondiente a la fecha seleccionada
(`diary-hebrew-insert-monthly-entry'). Esta
entrada de diario coincide con cualquier fecha que
tenga el mismo día hebreo dentro del mes que la
fecha seleccionada.
`i h y'
Añade una entrada de diario para el día del año
hebreo correspondiente a la fecha seleccionada
(`diary-hebrew-insert-yearly-entry'). Esta entrada
de diario coincide con cualquier fecha que tenga el
mismo mes hebreo y día dentro del mes que la fecha
seleccionada.
`i i d'
Añade una entrada de diario para la fecha islámica
correspondiente a la fecha seleccionada
(`diary-islamic-insert-entry').
`i i m'
Añade una entrada de diario para el día del mes
islámico correspondiente a la fecha seleccionada
(`diary-islamic-insert-monthly-entry').
`i i y'
Añade una entrada de diario para el día del año
islámico correspondiente a la fecha seleccionada
(`diary-islamic-insert-yearly-entry').
`i B d'
`diary-bahai-insert-entry'
`i B m'
`diary-bahai-insert-monthly-entry'
`i B y'
`diary-bahai-insert-yearly-entry'
Estos comandos funcionan de manera muy semejante a los
correspondientes para las entradas de diario normales: se aplican a la
fecha en la que está el punto en la ventana del Calendario, y lo que
hacen es insertar tan solo la porción de fecha de una entrada de diario
al final del fichero del Diario. Después se debe insertar el resto de
la entrada en el Diario. Los comandos básicos añaden una entrada para
la fecha no gregoriana específica, los comandos `monthly' para los días
no gregorianos dentro del mes en cada mes y los comandos `yearly' para
el día y mes no gregorianos dados en cada año.
File: emacs.es, Node: Fancy Diary Display, Next: Sexp Diary Entries, Prev: Non-Gregorian Diary, Up: Advanced Calendar/Diary Usage
38.15.7 Vista adornada del Diario
---------------------------------
La vista del Diario funciona preparando el búfer del
Diario y después ejecutando el gancho `diary-display-function'. El
valor predeterminado de este gancho (`diary-simple-display') oculta las
entradas de diario irrelevantes y después es cuando muestra el búfer.
La alternativa es `diary-fancy-display', que muestra las entradas del
diario y los festivos y fechas señaladas copiándolas en un búfer
especial que existe sólo a beneficio de la visualización. La copia en
un búfer separado proporciona una oportunidad de cambiar el texto
mostrado para hacerlo más atractivo; por ejemplo, para ordenar las
entradas por fechas.
[heredado]
(add-hook 'diary-display-hook 'fancy-diary-display)
Como en el caso de la vista simple del Diario, se
puede imprimir en papel el búfer con `diary-print-entries'. Para
imprimir una copia en papel del diario día-a-día de una semana, se
posiciona el punto en el domingo de esa semana, se teclea `7 d', y
después se hace `M-x diary-print-entries'. Como es habitual, la
inclusión de los festivos enlentece ligeramente la vista; las cosas se
pueden acelerar estableciendo la variable `diary-show-holidays-flag' en
`nil'.
Lo normal es que el búfer del Diario adornado no
muestra los días para los que no hay entradas, incluso si son festivos
o fechas especiales. Si se quiere que tales fechas se muestren en el
búfer del Diario adornado, se establece la variable
`diary-list-include-blanks' en `t'.
Si se usa la vista adornada del Diario, se puede usar
el gancho normal `diary-list-entries-hook' para ordenar las entradas de
diario de cada día por su hora. Así:
(add-hook 'diary-list-entries-hook 'diary-sort-entries t)
Para cada día, esto ordena las entradas de diario que
comienzan con una hora reconocible de acuerdo a dichas horas. Las
entradas de diario sin horas van primero en cada día.
La vista adornada del Diario también tiene la
habilidad de procesar los ficheros de diario incluidos. Esto permite
que un grupo de personas compartan un fichero de Diario para eventos
que sean de incumbencia de todos. Las líneas del fichero del Diario
que empiezan con `diary-include-string':
#include "FILENAME"
incluyen las entradas de diario del FILENAME en el búfer
adornado del Diario. El mecanismo de inclusión es recursivo, así que
los ficheros incluidos pueden incluir a otros, y así sucesivamente; hay
que ser cuidadosos de no caer en un ciclo de inclusiones, por supuesto.
Así es como se habilita la utilidad de inclusión:
(add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
(add-hook 'diary-mark-entries-hook 'diary-mark-included-diary-files)
El mecanismo de inclusión funciona sólo en la vista
adornada del Diario, porque la vista normal muestra las entradas
directamente desde el fichero del Diario. [Tautología]
File: emacs.es, Node: Sexp Diary Entries, Prev: Fancy Diary Display, Up: Advanced Calendar/Diary Usage
38.15.8 Entradas con s-expresiones y la Vista adornada del Diario
-----------------------------------------------------------------
Las entradas de diario con s-expresiones permiten hacer
más que simplemente tener condiciones complicadas de aplicación a una
entrada de diario. Las entradas con s-expresiones deberían estar
precedidas por `diary-sexp-entry-symbol' (el predeterminado es `%%') en
el fichero del Diario. Si se usa la vista adornada del Diario, las
entradas con s-expresiones pueden generar el texto de la entrada
dependiendo de la fecha en sí.
Por ejemplo, un aniversario puede insertar el número
de años desde la fecha de aniversario en el texto de la entrada de
diario. Así la `%d' en esta entrada de diario:
%%(diary-anniversary 10 31 1948) Arthur's birthday (%d years old)
queda reemplazada por la edad, así que el 31 de Octubre
de 1990, la entrada aparece en el búfer adornado del Diario así:
Arthur's birthday (42 years old)
Si el fichero del Diario contiene esta entrada:
%%(diary-anniversary 10 31 1948) Arthur's %d%s birthday
la entrada en el búfer adornado del Diario para el 31 de
Octubre de 1990 aparecería así:
Arthur's 42nd birthday
De manera similar, las entradas cíclicas pueden
interpolar la cantidad de repeticiones que han ocurrido:
%%(diary-cyclic 50 1 1 1990) Renew medication (%d%s time)
luciría así:
Renew medication (5th time)
en la vista adornada para el 8 de Septiembre de 1990.
Existe una s-expresión recordatoria que incluye su
entrada en el Diario no sólo en la fecha del acontecimiento, sino
también en fechas anteriores. Por ejemplo, si se quiere un
recordatorio una semana antes del aniversario, se puede usar
%%(diary-remind '(diary-anniversary 12 22 1968) 7) Ed's anniversary
y el Diario adornado mostrará `Ed's anniversary' tanto
el 15 como el 22 de Diciembre.
La función `diary-date' se aplica a fechas descritas
por una combinación de mes, día y year, cada uno de los cuales puede
ser un entero, una lista de enteros o `t'. El valor `t' significa
todos los valores. Por ejemplo,
%%(diary-date '(10 11 12) 22 t) Rake leaves
causa que el Diario adornado muestre
Rake leaves
los 22 de Octubre, los 22 de Noviembre y los 22 de
Diciembre de cada año.
La función `diary-float' permite describir entradas
de diario que sean de aplicación a fechas como el tercer viernes de
Noviembre, o el último martes de Abril. Los parámetros son MONTH,
DAYNAME y un índice N. La entrada aparece en el N-simo DAYNAME del
MONTH, donde DAYNAME=0 significa domingo, 1 significa lunes, etc. Si N
es negativo, cuenta hacia atrás a partir del final del MONTH. El valor
del MONTH puede ser una lista de meses, un solo mes o `t' para
especificar todos los meses. También se puede usar un parámetro
optativo DAY para especificar el N-simo DAYNAME del MONTH en o
después/antes del DAY; el valor del DAY en principio es 1 si N es
positivo y el último día del MONTH si N es negativo. Por ejemplo,
%%(diary-float t 1 -1) Pay rent
causa que el Diario adornado muestre
Pay rent
el último lunes de cada mes.
La generalidad de las entradas de diario con
s-expresiones permite especificar cualquier entrada de diario que se
pueda describir algorítmicamente. Una entrada de diario con
s-expresión contiene una expresión que computa si la entrada es de
aplicación a cualquier fecha dada. Si su valor es no-`nil', la entrada
se aplica a esa fecha; de lo contrario, no. La expresión puede usar la
variable `date' para encontrar la forma especial en consideración; su
valor es una lista (MONTH DAY YEAR) del calendario gregoriano.
Las entradas de diario con s-expresiones se aplican a
una fecha cuando el valor de la expresión es no-`nil', pero algunos
valores tienen significados más específicos. Si el valor es una
cadena, esa cadena es una descripción del evento que ocurre en esa
fecha. El valor también puede tener la forma `(MARK . STRING)';
entonces la MARK especifica cómo marcar la fecha en el Calendario, y la
STRING es la descripción del evento. Si la MARK es una cadena de un
solo carácter, ese carácter aparece después de la fecha en el
Calendario. Si la MARK es un nombre de rostro, la fecha se muestra en
ese rostro. Si la MARK es `nil', eso especifica que no haya ningún
resaltado particular para la fecha.
Supongamos que nos pagan el 21 de cada mes si
coincide con un día laboral, y el viernes anterior si el 21 cae en fin
de semana. Así se escribiría una entrada de diario con s-expresión que
concuerde con esas fechas:
&%%(let ((dayname (calendar-day-of-week date))
(day (car (cdr date))))
(or (and (= day 21) (memq dayname '(1 2 3 4 5)))
(and (memq day '(19 20)) (= dayname 5)))
) Pay check deposited
Las siguientes entradas de diario con s-expresiones
se aprovechan de la habilidad (en la vista adornada del Diario) de
confeccionar entradas de diario cuyo texto varia de acuerdo a la fecha:
`%%(diary-sunrise-sunset)'
Crea una entrada de diario para las horas locales
del orto y del ocaso de la fecha.
`%%(diary-lunar-phases)'
Crea una entrada de diario para las fases (cuartos)
de la Luna.
`%%(diary-day-of-year)'
Crea una entrada de diario con el número del día de
la fecha del año en curso y el número de días
restantes del año.
`%%(diary-iso-date)'
Crea una entrada de diario con el equivalente para
el día de la fecha en ISO comercial.
`%%(diary-julian-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario juliano.
`%%(diary-astro-day-number)'
Crea una entrada de diario para ese día con el
número de día astronómico (juliano) equivalente.
`%%(diary-bahai-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario bahai.
`%%(diary-chinese-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario chino.
`%%(diary-coptic-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario copto.
`%%(diary-ethiopic-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario etíope.
`%%(diary-french-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario de la Revolución
Francesa.
`%%(diary-hebrew-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario hebreo.
`%%(diary-islamic-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario islámico.
`%%(diary-mayan-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario maya.
`%%(diary-persian-date)'
Crea una entrada de diario para ese día con la
fecha equivalente al calendario persa.
Así, el incluir la entrada de diario
&%%(diary-hebrew-date)
causa que la vista del diario de cada día contenga la
fecha equivalente en el calendario hebreo, si se está usando la vista
adornada del Diario. (Con la vista simple del Diario, la línea
`&%%(diary-hebrew-date)' aparece en el Diario para cualquier fecha,
pero no hace nada particularmente útil.)
Estas funciones se pueden usar para construir
entradas de diario como s-expresiones basadas en el calendario hebreo,
por ciertas vías estándares:
`%%(diary-hebrew-rosh-hodesh)'
Crea una entrada de diario que informa de la
presencia y anuncio ritual de cada nuevo mes hebreo.
`%%(diary-hebrew-parasha)'
Crea una entrada sabática de diario que informa de
la lectura semanal de las escrituras en la sinagoga.
`%%(diary-hebrew-sabbath-candles)'
Crea una entrada de diario el viernes que informa
de la _hora local_ de encendido de las velas para
el Sábado.
`%%(diary-hebrew-omer)'
Crea una entrada de diario que proporciona la
Cuenta del Omer, cuando sea apropiado.
`%%(diary-hebrew-yahrzeit MONTH DAY YEAR) NAME'
Crea una entrada de diario que marca el aniversario
de una fecha de fallecimiento. Se trata de la
fechas (civil) _gregoriana_ del fallecimiento. La
entrada de diario aparece en la fecha apropiada del
aniversario en el calendario hebreo y en el día
anterior. (En el estilo europeo se cambia el orden
de los parámetros a DAY, MONTH, YEAR.)
Todas las funciones documentadas arriba toman un
argumento optativo MARK que especifica cómo marcar la fecha en la vista
del Calendario. Si una de estas funciones decide que se aplica a una
cierta fecha, devuelve un valor que contiene la MARK.
- 190 lecturas

Enviar un comentario nuevo