% This is is the code for the french documentation of the `chronosys' package.
%
% The maintener of this work is Mathieu Long.
% email : mlong.tex@hotmail.fr
% the `chronosys' package consists in the 9 files :
%  -- `docchronosys_en.tex' and `docchronosys_en.pdf' (english manual)
%  -- `docchronosys_fr.tex' and `docchronosys_fr.pdf' (french manual)
%  -- README
%  -- `chronosys.tex' (file for plain TeX)
%  -- `chronosyschr.tex' (main file of the `chronosys' package)
%  -- `chronosys.sty' (file for LaTeX)
%  -- `x-chronosys.tex' (file for ConTeXt)
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
% 
% The Current Maintainer of this work is Mathieu Long.
%
\starttext
\enableregime[utf8]
\setupinteraction[title=Chronosys - Documentation, author=Mathieu Long, title=Documentation de chronosys -français-,
 subtitle=Dessinez des frises chronologiques]
\setupcolors[state=start]
\unless\ifdefined\XeTeXpicfile \unless\ifdefined\directlua
\setupoutput[pdftex]
\fi\fi
\setupheadertexts%
[chapter][section]
\setupheader[text][style=\ss]
\mainlanguage[fr]
\setupbodyfont[14pt,regular]
\setuppapersize[B4]
\setupinteraction[state=start,color=middlered]
\setupcapitals[sc=yes]
\setupindenting[yes,20pt]
\setuppagenumbering[location={bottom,right},left=--~]
\definetyping[typingTEX][option=TEX]
\setuptyping[typingTEX][color=darkblue]
\setupwhitespace[big]
\setupcolors[state=start]
\useURL[MetaPost_TUG][http://www.tug.org/docs/metapost/mpman.pdf]
\useURL[Tikz_CTAN][http://mirror.ctan.org/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf]

\unprotect
\placebookmarks[chapter,section,subsection][chapter,section]
\usemodule[chronosys]
\startstandardmakeup
\switchtobodyfont[16pt]
\midaligned{Chronosys}
\midaligned{Réalisez des frises chronologiques !}
\bigskip
\startchronology[width=\hsize,height=7ex,stopyear=\numexpr\year+38\relax,startyear=1982,color=darkgreen,dates=true]
\chronoevent[textwidth=7cm]{2011}{Création de \type{chronosys}}
\stopchronology
\bigskip\bigskip
\midaligned{Mathieu \sc Long}
\midaligned{\color[darkgreen]mlong.tex@hotmail.fr}
\stopstandardmakeup
\completecontent[level=subsection,interaction=pagenumber]

\startmode[mkiv]
\def\METAPOST{MetaPost}
\stopmode 

\def\HeadTitle#1#2%
{\hbox to \hsize
{ \vbox{\hrule\par\noindent\vrule height1.15cm depth0pt\leaders\hrule\hskip10pt \lower5pt\vbox{\hbox{ #1\hskip10pt#2 }}\leaders\hrule\hfill\vrule height1.15cm depth0pt}
}}
\setuphead[chapter][command=\HeadTitle]
\unprotect
\parskip 1cm
\chapter{Introduction}

\type{Chronosys}  est distribué sous licence LaTeX Project Public Licence. Il utilise l'extension \type{tikz}\footnote{pour plus d'informations sur \type{tikz}, voir \from[Tikz_CTAN]} pour réaliser les dessins de frises. Il nécessite l'utilisation de \ETEX. Ce package fournit des commandes pour la création de frises chronologiques.
\blank

Le fichier est actuellement en version \unprotect\catcode`\@=11\relax\chron@sysversion , d'autres versions seront susceptibles de venir par la suite.
\bigskip
Il est recommandé de ne pas charger le fichier \type{color.tex} lors de son utilisation en plain \TeX.
\bigskip

\type{Chronosys} se charge de la façon habituelle selon votre format~:
\startitemize[4]
\item \tex{usemodule[chronosys]} pour \CONTEXT.
\item \tex{usepackage{chronosys}} pour \LaTeX.
\item \tex{input chronosys} pour plain \TeX.
\stopitemize

\subject{Historique des mises à jour}
\startitemize[2]
\item 1.10 :
ajout de la possibilité de modifier l'alignement des frises sur la page, de modifier la largeur des textes de commentaire des 
événements, meilleur support des événements placés au-dessus de la frise, ajout de la possibilité de colorer le fond des textes des événements et périodes.
\item 1.15 : ajout de la possibilité de créer ses propres nouvelles commandes, de graduer automatiquement les frises, changer l'alternance de couleurs 
des périodes et corrige quelques problèmes de compatibilité.
\item 1.2 (version actuelle) : réduit l'utilisation du module \type{tikz} au minimum possible, retire la limitation de l'impossibilité
de changer la valeur par défaut de \type{textwidth}. Sous \CONTEXT, ajout de la possibilité d'utiliser \METAPOST\footnote{pour plus d'informations sur \METAPOST, voir \from[MetaPost_TUG]} à la place de \type{tikz} (et 
réciproquement, de réutiliser \type{tikz} à la place de \METAPOST{}) via les commandes \tex{chronoswitchtomodeMP} et \tex{chronoswitchtomodeTikz}~; sous 
la version Mark IV utilisation de \METAPOST{} par défaut.

\stopitemize

\blank

\hairline
Je tiens à remercier Gonçalo {\sc Pereira} pour son idée de colorer l'arrière-fond des textes des périodes et événements en blanc, afin qu'il ne soit pas mélangés avec d'autres éléments de la frise, tels des traits verticaux.

\blank
\hrule

\chapter{Première utilisation}

\section{Fonction principale : \tex{startchronology}}

La macro \tex{startchronology}\index{startchronology} est la première à retenir\footnote{Il existe aussi \tex{begin}\arg{chronology} et \tex{end}\arg{chronology} pour \LaTeX}~: elle prépare la frise chronologique. Voici sa structure : 



\startalignment[middle]
\starttypingTEX
\startchronology[...=...]
\stoptypingTEX
\stopalignment
\leftaligned{\switchtobodyfont[12.4pt] On se reportera à \in[startchronologyoptions] pour connaître les différentes options}
\blank[small]
\noindent La suivante à retenir est \tex{stopchronology}\index{stopchronology}\footnote{ou \tex{end}\arg{chronology}}, elle termine le tout :

\startalignment[middle]
\starttypingTEX
\stopchronology
\stoptypingTEX
\stopalignment
 Voyons maintenant le résultat~:

\starttypingTEX
\startchronology
\stopchronology
\stoptypingTEX

\startchronology
\stopchronology
\bigskip
Une première observation~: par défaut, d'une part la frise occupe toute la largeur de la page, d'autre part elle place au début et à la fin l'année {\os 0} et 
l'année courante ({\os\number\year} lors de la compilation de ce document). Ces dates sont les dates de début et de fin de 
la frise, dates par rapport auxquelles \type{chronosys} comparera les événements et périodes donnés (voir \in[event] et \in[period]).
\blank[small] Maintenant voyons comment rajouter des événements sur la frise.

\section[event]{Les événements : \tex{chronoevent}}

Il est possible de rajouter des événements sur la frise chronologique via \tex{chronoevent}\index{chronoevent}~:


\startalignment[middle]
\starttypingTEX
\chronoevent[...=...]{1.}{2.}
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC \color[darkblue]\tt...=...\NC arguments optionnels (voir \in[eventoptions])\NC\NR
\NC \color[darkblue]1. \NC date ({\em nombre})\NC\NR
\NC \color[darkblue]2. \NC commentaire \NC\NR
\stoptabulate

 Cette commande prend deux arguments~: le premier est la date\footnote{voir \in[eventnewdate] pour plus de détails sur la façon de spécifier la date} et le second est le texte relatif à cet événement.

\blank[small]
Voyons un exemple.
\starttypingTEX 
\startchronology
\chronoevent{1977}{Création de \TeX}
\stopchronology
\stoptypingTEX
\startchronology
\chronoevent{1977}{Création de \TeX}
\stopchronology
\bigskip
L'événement a été placé entre {\os 0} et {\os\the\year}, proportionnellement en fonction de l'écart entre {\os0}, {\os1977} et {\os\the\year}. Il est également possible de préciser plusieurs événements~:

\starttypingTEX 
\startchronology
\chronoevent{476}{Chute de l'empire romain}
\chronoevent{1492}{Découverte de l'Amérique}
\chronoevent{1969}{Premiers pas sur la Lune}
\stopchronology
\stoptypingTEX

\switchtobodyfont[9pt]
\startchronology
\chronoevent{476}{Chute de l'empire romain}
\chronoevent{1492}{Découverte de l'Amérique}
\chronoevent{1969}{\quad Premiers pas sur la Lune}
\stopchronology
\switchtobodyfont[14pt]
\bigskip Note : la taille d'écriture a été réduite lors de la création de cette frise afin que les textes ne se chevauchent pas~; une meilleure méthode sera donnée plus loin (voir \in[eventoptions]).\blank

\type{Chronosys} ne produira pas d'erreur si un événement a une date en dehors de l'intervalle de la frise, mais il sera ignoré. La personnalisation des frises pour modifier les dates de début et de fin de frise sera vue plus loin (voir \in[startchronologyoptions]).

\section[period]{Les périodes : \tex{chronoperiode}}

Il est également possible de placer toute une période (ou plusieurs\footnote{si plusieurs périodes se chevauchent sur la frise, la dernière donnée écrase l'autre}) sur la frise grâce à \tex{chronoperiode}\index{chronoperiode} :

\startalignment[middle]
\starttypingTEX
\chronoperiode[...=...]{1.}{2.}{3.}
\stoptypingTEX
\stopalignment
\starttabulate[|l|l|]
\NC \tt\color[darkblue]...=...\NC options (voir \in[periodoptions])\NC\NR
\NC \color[darkblue]1. \NC date de début ({\em nombre})\NC\NR
\NC \color[darkblue]2. \NC date de fin ({\em nombre}) \NC\NR
\NC\color[darkblue]3. \NC commentaire \NC\NR
\stoptabulate

\starttypingTEX
\startchronology
\chronoperiode{1000}{1999}{2$^{\rm è}$ millénaire}
\chronoperiode{192}{476}{Bas-Empire romain}
\chronoevent{1969}{Premiers pas sur la Lune}
\stopchronology
\stoptypingTEX
\switchtobodyfont[9pt]
\startchronology
\chronoperiode{1000}{1999}{2\high{è} millénaire}
\chronoperiode{192}{476}{Bas-Empire romain}
\chronoevent{1969}{\quad Premiers pas sur la Lune}
\stopchronology
\switchtobodyfont[14pt]
\blank
Note : sur la période de {\os1000} à {\os1999} de fond bleu, le trait vertical marquant la position de l'événement sur la frise est visible. Il est possible de le désactiver (voir \in[eventoptions]), mais s'il est souhaité il est recommandé de placer les événements après les périodes afin qu'ils ne soient pas écrasés.

La couleur a automatiquement été placée afin de rendre bien visible la période sur la frise, ainsi que les dates (voir \in[periodoptions] pour les désactiver) et le 
texte de commentaire. La couleur automatique alterne entre cinq couleurs : bleu, rouge, cyan, violet, jaune, sauf si la frise est d'une de ces couleurs, dans 
ce cas cette couleur est ignorée. Il est également possible de spécifier la couleur de la période (voir \in[periodoptions]). 

\section[chronograduation]{Graduation automatique : \tex{chronograduation}}

Pour graduer automatiquement la frise, utilisez \tex{chronograduation}\index{chronograduation}.

\startalignment[middle]
\starttypingTEX
\chronograduation[style][...=...]{1.}
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC \color[blue] \type{style} \NC \type{periode} \em ou \type{event}\FR
\NC \color[blue] ...=... \NC options (voir \in[chronoperiodsoptions] et \in[chronoeventsoptions]) \FR
\NC \color[blue] 1. \NC intervalle ({\em nombre})\FR
\stoptabulate

\starttypingTEX
\startchronology
\chronograduation{100}
\stopchronology
\startchronology
\chronograduation[periode][dateselevation=0pt]{100}
\stopchronology
\stoptypingTEX
\startchronology
\chronograduation[][]{100}
\stopchronology
\startchronology
\chronograduation[periode][dateselevation=\z@]{100}
\stopchronology

\chapter[Personnalisation]{Personnalisation des frises}

\section{\tex{startchronology}}
\subsection{Exemple}
\tex{startchronology} accepte des arguments optionnels spécifié entre crochets.
Voyons un exemple :

\starttypingTEX
\startchronology 
[startyear=-800,stopyear=500,
color=darkblue,height=7ex,width=\hsize]
\chronoevent{-753}{Fondation de Rome}
\stopchronology
\stoptypingTEX
\startchronology 
[startyear=-800,stopyear=500,color=darkblue,height=7ex,width=\hsize]
\chronoevent{-753}{Fondation de Rome}
\stopchronology
\bigskip
Le style de la frise ainsi que les années de début et de fin ont été modifiées~.
\subsection{Options possibles}
Les différentes options de \tex{startchronology}\index{startchronology} sont les suivantes~:
\startitemize[2]
\head \type{startyear}\index{startyear} :\par année de début de la frise chronologique. Elle doit être un \type{nombre} valide. Elle vaut par défaut {\os0}
\head \type{stopyear}\index{stopyear} :\par année de fin de la frise chronologique. Elle doit aussi être un \type{nombre} valide. Elle vaut par défaut l'année en cours.
\head \type{color}\index{color} :\par couleur de la frise. Elle doit être une \type{couleur} valide. Elle est noire par défaut.
\head \type{height}\index{height} :\par hauteur de la frise. Elle doit être une \type{dimension} valide et vaut \type{0.7pc} par défaut.
\head \type{width}\index{width} :\par largeur de la frise. Elle doit être une \type{dimension} valide et vaut \tex{hsize}\footnote{\tex{textwidth} en \LaTeX} par défaut.
\head \type{datesstyle}\index{datessyle} :\par style à appliquer aux dates. Ce doit être une \type{commande} (pouvant prendre un argument entre accolades, qui sera chacune des deux dates), est vide par défaut.
\head \type{dateselevation}\index{dateselevation} :\par hauteur des dates par rapport à la frise, elle doit être une \type{dimension} valide et vaut \type{20pt} par défaut.
\head \type{startdate}\index{startdate} :\par valeur booléenne qui indique si la date de début doit être placée. Elle doit être soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head \type{stopdate}\index{stopdate} :\par valeur booléenne qui indique si la date de fin doit être placée. Elle doit être soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head \type{dates}\index{dates} :\par valeur booléenne qui indique si les deux dates doivent être placées. Elle doit être soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head\type{arrow}\index{arrow} :\par valeur booléenne qui indique si une pointe de flèche doit être placée en fin de frise. Elle doit être soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head \type{arrowheight}\index{arrowheight} :\par hauteur de la pointe de flèche. Elle doit être une \type{dimension} valide et est identique à la hauteur de la frise par défaut.
\head \type{arrowwidth}\index{arrowwidth} :\par largeur de la pointe de la flèche. Elle empiète sur la largeur totale (\type{width}) de la frise. Elle doit être une \type{dimension} valide et vaut 1/10\high{è} de la largeur totale (\type{width}) par défaut.
\head \type{arrowcolor}\index{arrowcolor} :\par couleur de la pointe de la flèche. Elle doit être une \type{couleur} reconnue par l'extension tikz. Elle est identique à la couleur de la frise par défaut.
\head \type{box}\index{box} :\par valeur booléenne qui indique si la frise doit être repassée d'un trait noir. Elle doit être soit \type{true} soit \type{false} et vaut \type{false} par défaut.
\head \type{align} \index{align} :\par alignement de la frise sur la page. Il peut être soit \type{center} pour centré, soit \type{left} pour aligné à gauche soit \type{right} pour aligné à droite. Il vaut \type{center} par défaut.
 
\stopitemize 
\subsection[startchronologyoptions]{Résumé}
\placetable[here][fig:startchronologyoptions]{Options de \type{startchronology}}
\starttable[|l|c|l|]
\HL\VL\use{3}\ReFormat[cB]{\tex{startchronology[}\em ...=...\type{]}}\VL\SR
\VL\type{startyear} \NC=\NC\type{<nombre>}
\VL\FR\VL
\type{stopyear} \NC=\NC\type{<nombre>}\VL\FR
\VL
\type{color} \NC=\NC\type{<couleur>}\VL\FR
\VL
\type{height} \NC=\NC\type{<dimension>}\VL\FR
\VL
\type{width} \NC=\NC\type{<dimension>}\VL\FR
\VL
\type{datesstyle} \NC=\NC\type{<commande>} {\em ou} \type{<commande#1>}\VL\FR
\VL
\type{dateselevation} \NC=\NC\type{<dimension>}\VL\FR
\VL
\type{startdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{stopdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{dates} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{arrow} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{arrowheight} \NC=\NC\type{<dimension>}\VL\FR 
\VL\type{arrowwidth} \NC=\NC\type{<dimension>}\VL\FR
\VL\type{arrowcolor} \NC=\NC\type{<couleur>}\VL\FR
\VL\type{box} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{align} \NC =\NC \type{<right>} {\em ou} \type{<center>} {\em ou} \type{<left>} \VL\FR\HL
\stoptable

\page[yes]

\section{\tex{chronoperiode}}
\subsection{Exemple}
Tout comme \tex{startchronology}, \tex{chronoperiode} admet des arguments optionnels pour la personnalisation de la période. 
\starttypingTEX
\startchronology[startyear=-800,stopyear=500,
color=darkgreen, height=3cm]
\chronoperiode[color=orange,bottomdepth=1cm, topheight=2cm,
textstyle=\it, dateselevation=-15pt, ifcolorbox=false,
box=true]{-753}{-509}{Période royale romaine}
\chronoperiode[color=cyan,startdate=false, textstyle=\bf,
textdepth=30pt, bottomdepth=1cm, topheight=2cm,
ifcolorbox=false, dateselevation=-15pt,
box=true]{-509}{-27}{République romaine}
\stopchronology
\stoptypingTEX
\startchronology[startyear=-800,stopyear=500,color=darkgreen, height=3cm]
\chronoperiode[color=orange,bottomdepth=1cm, topheight=2cm, textstyle=\it, dateselevation=-15pt, ifcolorbox=false, box=true]{-753}{-509}{Période royale romaine}
\chronoperiode[color=cyan,startdate=false, textstyle=\bf,textdepth=30pt, bottomdepth=1cm, topheight=2cm, ifcolorbox=false, dateselevation=-15pt, box=true]{-509}{-27}{République romaine}
\stopchronology

\subsection{Couleur d'arrière-plan}
Afin d'éviter que d'éventuels traits verticaux soit superposés avec le texte  des périodes sur la frise, \type{chronosys} colorie l'arrière-plan du texte de commentaire en
blanc par défaut. Il est possible de changer cette couleur ou de désactiver cette colorisation (voir \in[chronoperiodsoptions]).

\subsection{Alternance des couleurs}

Comme vu précédemment, la couleur des périodes alterne par défaut entre bleu, rouge, cyan, violet et jaune. Il est possible de modifier ces couleurs
grâce à \crlf\tex{chronoperiodecoloralternation}\index{chronoperiodecoloralternation}.

\startalignment[middle]
\starttypingTEX
\chronoperiodecoloralternation{1.}
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC\color[darkblue] 1. \NC couleurs ({\em\type{couleur}, \type{couleur},... \type{couleur}})\FR
\stoptabulate

\blank[big]

Exemple d'utilisation :

\starttypingTEX
\chronoperiodecoloralternation{orange, darkgreen,
 violet, purple, cyan}
\startchronology
\chronoperiode[startdate=false]{0}{500}{}
\chronoperiode[startdate=false]{500}{1000}{}
\chronoperiode[startdate=false]{1000}{1500}{}
\stopchronology
\stoptypingTEX

\restartchronoperiodecolor
\startchronology
\chronoperiodecoloralternation{orange, darkgreen,
 violet, purple, cyan}
\chronoperiode[startdate=false]{0}{500}{}
\chronoperiode[startdate=false]{500}{1000}{}
\chronoperiode[startdate=false]{1000}{1500}{}
\stopchronology

Enfin il est également possible de restaurer l'alternance des couleurs, au début ou bien sur une couleur précise grâce à
\tex{restartchronoperiodecolor}\index{restartchronoperiodecolor}.

\startalignment[middle]
\starttypingTEX
\restartchronoperiodecolor[...]
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC\color[darkblue] ... \NC nom d'une couleur de l'alternance automatique ({\em couleur})\FR
\stoptabulate

\subsection[chronoperiodsoptions]{Différentes options}

Les différentes options de \tex{chronoperiode}\index{chronoperiode} sont listées ici~:

\startitemize[2]
\head \type{startdate}\index{startdate} :\par valeur booléenne. Elle indique si la date de départ doit être affichée, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut.
\head \type{stopdate}\index{stopdate} :\par valeur booléenne. Elle indique si la date de fin doit être affichée, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut.
\head \type{dates}\index{dates} :\par valeur booléenne. Elle indique si les dates de début et de fin doivent être affichées, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut. 
\head \type{datesstyle}\index{datesstyle} : \par définit les style à appliquer aux dates. Elle doit être une \type{commande} ou \type{commande#1} et est vide par défaut.
\head \type{textstyle}\index{textstyle} : \par définit les style à appliquer au texte de commentaire. Elle doit être une \type{commande} ou \type{commande#1} et est vide par défaut.
\head \type{color}\index{color} :\par couleur de la période sur la frise. Ce doit être une \type{couleur} valide. Elle alterne entre bleu, rouge, cyan, violet et jaune par défaut.
\head \type{dateselevation}\index{dateselevation} :\par hauteur des dates par rapport à la frise. Elle doit être une \type{dimension} valide et vaut \type{0pt} par défaut.
\head \type{textdepth}\index{textdepth} :\par profondeur du texte par rapport à la frise. Elle doit être une \type{dimension} valide et vaut {15pt} par défaut.
\head \type{ifcolorbox} \index{ifcolorbox}: \par valeur booléenne qui indique si le fond du texte de commentaire de la période doit être colorié. Elle doit valoir soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head \type{colorbox}\index{colorbox} : \par couleur du fond du commentaire. Ce doit être une \type{couleur} valide et vaut \type{white} par défaut.
\head \type{topheight}\index{topheight} : \par hauteur du haut de la période sur la frise. Ce doit être une \type{dimension} valide et est égale à la \type{hauteur de la frise} par défaut.
\head \type{bottomdepth}\index{bottomdepth} : \par hauteur du bas de la période sur la frise. Ce doit être une \type{dimension} valide et est égale à la \type{0pt} par défaut.
\stopitemize

\subsection[periodoptions]{Résumé}

\placetable[here][fig:chronoperiodeoptions]{Options de \type{chronoperiode}}
\starttable[|l|c|l|]
\HL\VL\use{3}\ReFormat[cB]{\tex{chronoperiode[}\em ...=...\type{]{...}{...}{...}}}\VL\SR
\VL\type{startdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR
\VL\type{stopdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR
\VL\type{dates} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR
\VL\type{datesstyle} \NC=\NC\type{<commande>} {\em ou} \type{<commande#1>}\VL\LR
\VL\type{textstyle} \NC=\NC\type{<commande>} {\em ou} \type{<commande#1>}\VL\LR
\VL\type{color} \NC=\NC\type{<couleur>}\VL\LR
\VL\type{dateselevation} \NC=\NC\type{<dimension>}\VL\LR
\VL\type{textdeph} \NC=\NC\type{<dimension>}\VL\LR
\VL\type{ifcolorbox} \NC =\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{colorbox} \NC =\NC \type{<couleur>}\VL\FR
\VL\type{topheight} \NC =\NC \type{<dimension>}\VL\FR
\VL\type{bottomdepth} \NC =\NC \type{<dimension>}\VL\FR\HL
\stoptable

\section{\tex{chronoevent}}


De même que \tex{startchronology} et \tex{chronoperiode}, \tex{chronoevent} accepte lui-aussi un argument optionnel entre crochets qui contient les options de personnalisation.
\subsection{Exemple}

\starttypingTEX
\def\MyIcon{{\color{orange}\vrule height5pt width5pt}}
\startchronology[startyear=-800,stopyear=500,
color=darkgreen,height=7ex]
\chronoevent[textstyle=\bf,
datesstyle=\it,datesseparation=/,
conversionmonth=false,icon=\MyIcon,
year=false, textwidth=5cm]{15/3/-44}
{\qquad Ides de mars~; \endgraf
assassinat de Jules César}
\stopchronology
\stoptypingTEX
\def\MyIcon{{\color[orange]\vrule height5pt width5pt\relax}}
\startchronology[startyear=-800,stopyear=500,color=darkgreen,height=7ex]
\chronoevent[textstyle=\bf,datesstyle=\it,datesseparation=/,conversionmonth=false,icon=\MyIcon,year=false, textwidth=5cm]{15/3/-44}{\qquad Ides de mars~; \hfill\null\penalty-10000 assassinat de Jules César}
\stopchronology

\subsection{Spécificités}
\subsubsection{Couleur d'arrière-plan}
De même que pour les périodes, \type{chronosys} colorie le fond des textes et dates des événements en blanc, afin de ne pas obtenir ceci :
\starttypingTEX
\startchronology
\chronoevent{1500}{Texte A}
\chronoevent{1525}{Texte B}
\stopchronology
\stoptypingTEX
\startchronology
\chronoevent{1500}{Texte A}
\chronoevent[markdepth=70pt,ifcolorbox=false]{1525}{Texte B}
\stopchronology
mais bien ceci :
\startchronology
\chronoevent[markdepth=70pt]{1525}{Texte B}
\chronoevent{1500}{Texte A}
\stopchronology

Vous devez placer les événements dans l'ordre du plus éloigné de la frise au plus proche. Vous pouvez bien sûr changer la couleur par défaut ou désactiver ceci (voir \in[chronoeventsoptions]).

\subsubsection[eventnewdate]{Une nouvelle façon d'exprimer la date}

Il est possible de préciser la date précise d'un événement toujours en utilisant \tex{chronoevent}\index{chronoevent}. Nous avons vu que taper 
\tex{chronoevent}\arg{-44}\arg{Assassinat de César} permettait de spécifier l'année d'un événement, et toujours sur le même principe nous allons voir comment spécifier
le mois ou le jour d'un événement. Il faut pour cela adopter la notation \type{<numéro du jour>/<numéro du mois>/année}, mais seule l'année est obligatoire.

Ainsi il est possible de donner uniquement le mois et l'année, juste l'année comme nous l'avons vu ou encore le jour, le mois et l'année. Le numéro du mois est automatiquement transformé en le nom du mois correspondant en français. Il est possible de désactiver cette conversion (voir \in[eventoptions]). La commande de conversion est définie ainsi :
\starttypingTEX
\def\chron@selectmonth#1{\ifcase#1\or janvier\or f\'evrier\or
mars\or avril\or mai\or juin\or juillet\or
ao\^ut\or septembre\or octobre\or novembre\or
d\'ecembre\fi}
\stoptypingTEX

Pour changer la langue, il suffit de redéfinir la commande suivant le même modèle.
\bigskip
Voyons un exemple :
\starttypingTEX
\startchronology[startyear=-44,
stopyear=-43,color=darkgreen,height=7ex]
\chronoevent{15/03/-44}
{Assassinat de César}
\stopchronology
\stoptypingTEX
\startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex]
\chronoevent{15/03/-44}{Assassinat de César}
\stopchronology
\blank

\subsection[chronoeventsoptions]{Options possibles}

Voici la liste des options possibles\index{chronoevent}.
\startitemize[2]
\head \type{barre}\index{barre} :\par valeur booléenne qui indique si une barre noire verticale doit être placée sur la frise à l'endroit de l'événement. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut.
\head \type{date}\index{date} :\par valeur booléenne qui indique si la date de l'événement doit être placée. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut.
\head \type{conversionmonth}\index{conversionmonth} :\par valeur booléenne qui indique si le mois de l'événement doit être transformé en nom de mois. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut.
\head \type{mark}\index{mark} :\par valeur booléenne qui indique si une barre verticale en-dessous de la frise à l'endroit de l'événement doit être placée. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut.
\head \type{year}\index{year} :\par valeur booléenne qui indique si l'année de l'événement doit être placée. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut.
\head \type{icon}\index{icon} :\par symbole à rajouter sur la frise à l'endroit de l'événement. Ce peut être du texte ou une commande. Il est vide par défaut.
\head \type{markdepth}\index{markdepth} : \par profondeur du texte par rapport à la frise et désigne aussi la profondeur de la barre verticale en-dessous de la frise. Elle doit
être une \type{dimension} valide et vaut \type{10pt} par défaut.
\head \type{iconheight}\index{iconheight} :\par hauteur de l'icône sur la frise. Elle doit être une \type{dimension} valide et vaut la moitié de la hauteur de la frise par défaut.
\head \type{textstyle}\index{textstyle} :\par style à appliquer au texte de commentaire. Ce doit être une \type{commande} ou \type{commande#1}.
\head \type{datesseparation}\index{datesseparation} :\par symbole de séparation entre chaque partie de la date, si le mois ou le jour est donné. Ce peut être une commande ou du texte et correspond à une espace par défaut.
\head \type{datestyle}\index{datestyle} :\par style à appliquer à l'ensemble de la date, symboles de séparation compris. Ce doit être une \type{commande} ou \type{commande#1}. 
Elle est vide par défaut.
\head \type{datesstyle}\index{datesstyle} :\par style à appliquer à chaque élément de la date séparément, symbole de séparations exclus. Ce doit être une \type{commande} ou \type{commande#1}. Elle est vide par défaut.
\head \type{ifcolorbox} \index{ifcolorbox}: \par valeur booléenne qui indique si le fond du texte de commentaire et de la date de l'événement doivent être coloriés. Elle doit valoir soit \type{true} soit \type{false} et vaut \type{true} par défaut.
\head \type{colorbox}\index{colorbox} : \par couleur du fond du commentaire et de la date. Ce doit être une \type{couleur} valide et vaut \type{white} par défaut.
\head \type{textwidth}\index{textwidth} :\par 
largeur du texte de commentaire sur la page. Ce doit être une \type{dimension} valide.
\stopitemize 

\subsection[eventoptions]{Résumé}

\placetable[here][fig:chronoeventoptions]{Options de \type{chronoevent}}
\starttable[|l|c|l|]
\HL\VL\use{3}\ReFormat[cB]{\tex{chronoevent[}\em ...=...\type{]{...}{...}}}\VL\SR
\VL\type{barre}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{date}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{conversionmonth}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{mark}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{icon}\NC=\NC \type{<séquence de texte>} {\em ou} \type{<commande>} \bf\dots\VL\FR
\VL\type{datesseparation}\NC=\NC \type{<séquence de texte>} {\em ou} \type{<commande>} \bf\dots\VL\FR
\VL\type{markdepth}\NC=\NC \type{<dimension>}\VL\FR
\VL\type{iconheight}\NC=\NC \type{<dimension>}\VL\FR
\VL\type{textstyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR
\VL\type{datestyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR
\VL\type{datesstyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR
\VL\type{ifcolorbox} \NC =\NC \type{<true>} {\em ou} \type{<false>}\VL\FR
\VL\type{colorbox} \NC =\NC \type{<couleur>}\VL\FR
\VL\type{textwidth} \NC =\NC \type{<dimension>}\VL\FR\HL
\stoptable

\page[yes]
\chapter[permanentchanges]{Changements permanents}
\section[definecommands]{Créer de nouvelles commandes}

Les commandes \tex{definechronoevent}\index{definechronoevent} et \tex{definechronoperiode}
\index{definechronoperiode} permettent de définir de nouvelles commandes pour placer respectivement 
des événements et des périodes.

\startalignment[middle]
\starttypingTEX
\definechronoperiode{1.}[...=...]
\definechronoevent{1.}[...=...]
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC \color[blue] 1. \NC nom pour définir la nouvelle commande \FR
\NC \color[blue] ...=... \NC options du type de commande définie(voir \in[Personnalisation])\FR
\stoptabulate

\blank
Note : pour \CONTEXT, la syntaxe est 

\startalignment[middle]
\starttypingTEX
\definechronoperiode[1.][...=...]
\definechronoevent[1.][...=...]
\stoptypingTEX
\stopalignment

Les commandes \tex{chrono<nom de la commande>} sont désormais définies. Voyons un exemple :

\starttypingTEX
\definechronoperiode{MaPeriode}[color=yellow, textstyle=\it]
\definechronoevent{MonEvent}[textstyle=\it, barre=false]
\startchronology[color=darkgreen]
\chronoMaPeriode{100}{500}{Quelque chose}
\chronoMonEvent{800}{Autre chose}
\stopchronology
\stoptypingTEX


\definechronoperiode[MaPeriode] [color=yellow, textstyle=\it]
\definechronoevent[MonEvent][textstyle=\it, barre=false]
\startchronology[color=darkgreen]
\chronoMaPeriode{100}{500}{Quelque chose}
\chronoMonEvent{800}{Autre chose}
\stopchronology

\section[setupdefaultvalues]{Modifier les valeurs par défaut}
Il est également possible de changer les valeurs par défaut de chaque commande en utilisant \tex{setupchronology}, \tex{setupchronoevent} et 
\tex{setupchronoperiode}.\index{setupchronology}\index{setupchronoperiode} \index{setupchronoevent} Chacu\-ne de ces commandes prennent les mêmes 
options que nous avons vu auparavant respectivement. 

\startalignment[middle]
\starttypingTEX
\setupchrono<text>[...]{1.}
\stoptypingTEX
\stopalignment

\starttabulate[|l|l|]
\NC \color[blue] <text> \NC \type{periode} \em ou \type{event} ou \type{logy} ou \type{graduation}\FR
\NC \color[blue] ...\NC nom de la commande à personnaliser (sauf pour \tex{setupchronology}, et \FR
\NC\NC pour \tex{setupchronograduation} il s'agit du style de graduation ; voir \in[definecommands])\FR
\NC \color[blue] 1. \NC options (voir \in[Personnalisation])\FR
\stoptabulate



Note : de même pour \CONTEXT, la syntaxe est :

\startalignment[middle]
\starttypingTEX
\setupchrono<text>[...][1.]
\stoptypingTEX
\stopalignment

L'option \type{nom de la commande à personnaliser} n'est disponible que pour \crlf\tex{setupchronoevent} et \tex{setupchronoperiode}, et dans le cas de \tex{setupchronograduation} elle correspond au style de graduation (\type{event} ou \type{periode}).

Si elle n'est pas donnée, les modifications affecteront \tex{chronoperiode} et \tex{chronoevent}, sinon elles affecteront la commande donnée en 
option.

Ainsi, on peut avoir :
\starttypingTEX
\definechronoperiode{MaPeriode} [color=yellow, textstyle=\it]
\setupchronology{startyear=1000,color=darkblue,
stopdate=false}
\setupchronoperiode{color=darkgreen}
\setupchronoevent{textstyle=\it}
\setupchronoperiode[MaPeriode]{color=red}
\setupchronograduation[event]{markdepth=2cm}
\startchronology
\chronograduation{250}
\chronoperiode{1050}{1450}{Quelque chose}
\chronoevent{1600}{autre chose}
\chronoMaPeriode {1800}{1900}{Encore autre chose}
\stopchronology
\stoptypingTEX

\setupchronology[startyear=1000,color=darkblue,stopdate=false]
\setupchronoperiode[color=darkgreen]
\setupchronoevent[textstyle=\it]
\setupchronoperiode[MaPeriode][color=red]
\setupchronograduation[event][markdepth=2cm]
\startchronology
\chronograduation{250}
\chronoperiode{1050}{1450}{Quelque chose}
\chronoevent{1600}{autre chose}
\chronoMaPeriode {1800}{1900}{Encore autre chose}
\stopchronology

Si vous souhaitez reprendre l'alternance automatique des couleurs des périodes, utilisez 

\startalignment[middle]
\starttypingTEX
\setupchronoperiode{color=\chronoperiodcolor}
\stoptypingTEX
\stopalignment
\catcode`\@=11
Ainsi, on réobtient
\setupchronoperiode[color=\chronoperiodcolor]
\startchronology
\chronograduation{250}
\chronoperiode{1050}{1450}{Quelque chose}
\chronoevent{1600}{autre chose}
\chronoperiode{1800}{1900}{Encore autre chose}
\stopchronology

\completeindex
\midaligned{\button{Aller à la table des matières}[content]}
\midaligned{\button{Quitter}[ExitViewer]}
\stoptext