---
myst:
html_meta:
keywords: LaTeX, domaines spécialisés, quotidien, calendrier annuel,
calendrier mensuel, agenda, planning
---
# Comment mettre en forme un calendrier ?
## Avec l'extension
L'extension permet de mettre en page un calendrier. Il permet
de préciser quels jours doivent apparaître et d'insérer du texte
soit régulièrement à certaines dates, soit à des dates particulières.
## Avec l'extension
L'extension est également faite pour ça.
## Avec l'extension
:::{todo} Ajouter des exemples pour cette extension et les précédentes.
:::
## Avec l'extension
L'extension propose une librairie `calendar` dédiée à la mise
en forme de petits calendriers. L'exemple ci-dessous, légèrement adapté
de la [documentation](texdoc:tikz) de l'extension montre quelques possibilités
de configuration et la façon d'obtenir des présentations dépendant de
conditions. Il illustre également le rôle intéressant de l'extension
pour franciser les noms des mois (par défaut en anglais
dans ), cette dernière récupérant l'option `french` déclarée
avec la classe de l'exemple.
```
\documentclass[french]{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{translator} % Traduction des noms des mois de TikZ
\usepackage{tikz}
\usetikzlibrary {calendar,shapes.misc}
\begin{document}
Voici à peu près où vous en êtes.
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\calendar
[
dates=\year-\month-\day+-20 to \year-\month-\day+20,
week list,inner sep=2pt,month label above centered,
month text=\textit{\%mt \%y0}
]
if (at least=\year-\month-\day) {} else [nodes={strike out,draw}]
if (at most=\year-\month-\day+7) [green!50!black]
if (between=\year-\month-\day+8 and \year-\month-\day+10) [red]
if (Sunday) [gray,nodes={draw=none}]
;
\end{tikzpicture}
\caption{De 20 jours avant jusqu'à 20 jours après}
\end{figure}
\end{document}
```
### Avec la classe
La classe , de Rolf Niepraschk, permet de générer
un calendrier recto-verso en se basant sur . L'exemple ci-dessous
illustre un cas très simple.
```
\documentclass{tikz-kalender}
\setup{%
,lang=french
,year=2024
}
\begin{document}
\makeKalender
\end{document}
```
L'extension permet de gérer des comportements particuliers pour des plages
de date particuliers (permettant de définir des jours fériés,
des anniversaires, des congés ou bien encore des vacances scolaires).
### Un exemple avancé
David Alberto propose sur le site [](https://www.astrolabe-science.fr/)
un [calendrier scolaire](https://www.astrolabe-science.fr/calendrier-scolaire-latex/)
très esthétique basé sur les fonctionnalités de l'extension .