Uso un cuaderno de 17×22 cm. para mi agenda estilo «Bullet Journal«, impreso y encuadernado por mi mismo.
Para el calendario, ya hace varios años que elegí tomar uno impreso y pegarlo sobre una página.
El año pasado no encontraba uno adecuado y decidí hacerlo yo. Normalmente uso Inkscape, pero hacer las rejillas de los doce meses y rellenarlas con los correspondientes días me pareció demasiado trabajo.
Y pensé en hacer algún tipo de programa que generara un calendario simplemente dándole el año. En Linux hay varias utilidades simples que hacen cosas así, como cal
y ncal
que, sin parámetros, produce una salida del mes actual como esta:
$> cal
Diciembre 2024
do lu ma mi ju vi sá
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Y si se le proporciona como argumento un año, crea un calendario completo:
$> ncal -b -y 2025
2025
Enero Febrero Marzo
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 3 4 5 1 2 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30
31
Abril Mayo Junio
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 3 4 5 6 1 2 3 4 1
7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29
30
Julio Agosto Septiembre
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7
7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31 29 30
Octubre Noviembre Diciembre
lu ma mi ju vi sá do lu ma mi ju vi sá do lu ma mi ju vi sá do
1 2 3 4 5 1 2 1 2 3 4 5 6 7
6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
Esto podría servir, sin duda. Se puede imprimir y decorarlo con marcadores. Recomendaría alguno pastel, para que no quede demasiado chillón. Pero allá cada uno con su gusto.
Pensé en hacer un programa en Python que emulara este proceso o que tomase la salida de cal
para convertirla en HTML o aplicarle un estilo que pudiera cambiarse con parámetros o un menú. Pero lo necesitaba más rápido y pensé: ¿podría hacer una hoja de cálculo que me facilitase la tarea? Lo ideal haría sido hacer una hoja donde simplemente se cambiase el año y todo el calendario se rehiciera con los meses correspondientes. Pero tampoco tenía ganas de pensar tanto así que me fui a lo fácil, y creé una hoja de cálculo que no lo hace sola, pero que facilita mucho el trabajo. Os la podéis descargar desde aquí con licencia de Dominio Público. En el archivo comprimido podeis encotrar la hoha de cálculo con el generador y el año 2025 listo para imprimir, desde la hoja de cálculo o desde el PDF que la acompaña.
El calendario de un mes es un módulo a partir del cual se genera cada mes y se puede copiar tantas veces como haga falta, normalmente doce para un año. Consta de un rango de 7 columnas por 7 lineas. En la hoja de cálculo «Generador» del ejemplo para 2025, está el mes sin configurar para ninguna fecha.
En la primera linea se pone el nombre del mes, sustituyendo a «Generador de Meses»
A continuación hay que seguir las siguientes instrucciones:
- Al día primero de mes se le asigna manualmente el valor de 1 en la columna del día de la semana adecuado.
- Las casillas anteriores al día 1 se borran.
- Las casillas de los días que falten a final de mes se copian de la fila superior y si sobran días del mes, se borran.
- De martes a domingo la fórmula de los días es igual, por ejemplo para la casilla C5, “
=IF(B5>0;B5+1;0)
”- Su explicación es la siguiente: Si el numero de día del mes en la casilla anterior es mayor que cero, sumar 1. En caso contrario muestra un cero.
- Se podría elegir que mostrase un espacio en blanco, pero este no puede diferenciarse de una casilla vacía a simple vista, y por ello se considera más práctico el cero.
- Todos los lunes tienen también la misma fórmula, por ejemplo para la casilla B6, “
=IF(H5>0;H5+1;0)
”- Su explicación es la siguiente: Si el numero del último día de la fila superior es mayor que cero, sumar 1. En caso contrario muestra un cero.
En cuanto a la tipografía y dimensiones para imprimir el calendario en un A5 apaisado los datos son los siguientes:
- El tipo de letra para los números de cada día y los nombres de los meses es Liberation Sans de 10 pt.
- El tipo de letra del titulo es Liberation Sans de 20 pt.
- En el calendario (no en el generador) la altura de las lineas es de 0,45 cm.
- En el calendario (no en el generador) el ancho de las columnas es de 0,59 cm.
- La linea del título tiene 0,86 cm. de alto.
- El título está centrado en las columnas que contienen datos (desde la B hasta la AF)
Obviamente, todas estas características del estilo, así como los colores de los caracteres y el fondo, pueden acomodarse al papel donde se vaya a imprimir el calendario y al gusto del usuario.
Si se desean semanas que empiecen en domingo, solo hay que cambiar los valores de la segunda linea y donde en las instrucciones he puesto «la casilla del lunes» leer «la casilla del domingo» y en lugar «de martes a domingo», leer «de lunes a sábado»
Espero que este calendario os sea útil. Por mi parte tal cual está, lo cedo al dominio público y por tanto podéis darle el uso que os parezca más conveniente bajo vuestra exclusiva responsabilidad. Si alguien se toma el trabajo de mejorarlo, o encuentra un error, agradecería que me lo contase escribiéndome a mi dirección de correo.