summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-28 22:27:04 +0000
committerKarl Berry <karl@freefriends.org>2012-05-28 22:27:04 +0000
commit097e14d036c498af65a65ad9501810a71477215f (patch)
treea0050d8c078ec8e008bcc7ee23eb5a87d8390f80 /Master
parenta3c59f0c6c658a1ea96c996c4ff141dae1e7277b (diff)
chronosys (29may12)
git-svn-id: svn://tug.org/texlive/trunk@26700 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/generic/chronosys/README16
-rw-r--r--Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdfbin336602 -> 116122 bytes
-rw-r--r--Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex130
-rw-r--r--Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdfbin340557 -> 120070 bytes
-rw-r--r--Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex145
-rw-r--r--Master/texmf-dist/tex/generic/chronosys/chronosys.sty24
-rw-r--r--Master/texmf-dist/tex/generic/chronosys/chronosys.tex57
-rw-r--r--Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex935
-rw-r--r--Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex121
9 files changed, 942 insertions, 486 deletions
diff --git a/Master/texmf-dist/doc/generic/chronosys/README b/Master/texmf-dist/doc/generic/chronosys/README
index c4185c085fe..7750b8df28c 100644
--- a/Master/texmf-dist/doc/generic/chronosys/README
+++ b/Master/texmf-dist/doc/generic/chronosys/README
@@ -5,15 +5,21 @@ You can find the documentation of this package in docchronosys_fr.pdf (french) a
The current maintener of this package is Mathieu Long (mail : mlong.tex@hotmail.fr).
+This package is used for drawing timelines.
+
This package contains the files docchronosys_en.tex,
docchronosys_en.pdf, docchronosys_fr.tex, docchronosys_fr.pdf,
chronosys.sty, chronosys.tex, x-chronosys.tex, chronosyschr.tex and
-this README, and it enables the commandes \startchronology,
-\stopchronology, \definechronoevent, \definechronoperiode,
-\setupchronoperiode, \setupchronoevent, \chronograduation,
-\chronoevent and \chronoperiode.
+this README, and it enables the commandes:
+\startchronology, \stopchronology,
+\definechronoevent, \definechronoperiode,
+\setupchronoperiode, \setupchronoevent,
+\chronoperiodecoloralternation,
+\chronograduation, \chronoevent and \chronoperiode.
-It uses the package `tikz' for drawing.
+It uses the package `tikz' for drawing.
+Since the 1.2 version, `tikz' is used at least possible, and MetaPost
+is is used instead of `tikz' on ConTeXt MkIV.
You can use it in plain TeX, LaTeX and ConTeXt.
diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf
index c0b20a56035..63a7b3793b0 100644
--- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf
+++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex
index 6e3dd08d221..1a0277c2320 100644
--- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex
+++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex
@@ -1,4 +1,4 @@
-% This is is the english code for the documentation of the `chronosys' package.
+% This is is the code for the english documentation of the `chronosys' package.
%
% The maintener of this work is Mathieu Long.
% email : mlong.tex@hotmail.fr
@@ -42,8 +42,16 @@
\definetyping[typingTEX][option=TEX]
\setuptyping[typingTEX][color=darkblue]
+\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]
\starttext
+\startmode[mkiv]
+\def\METAPOST{MetaPost}
+\stopmode
+
+
\placebookmarks[chapter,section,subsection][chapter,section]
\usemodule[chronosys]
\startstandardmakeup\switchtobodyfont[myface,16pt]
@@ -68,7 +76,7 @@
\parskip 1cm
\chapter{Introduction}
-\type{Chronosys} is distributed under the LaTeX Project Public License.You may use it for drawing timelines. It uses the \type{tikz} package for drawing. You need to have \ETEX\ to use it.
+\type{Chronosys} is distributed under the LaTeX Project Public License.You may use it for drawing timelines. It uses the \type{tikz}\footnote{for more informations on \type{tikz}, see \from[Tikz_CTAN]} package for drawing. You need to have \ETEX\ to use it.
\blank
\unprotect
This package is version {\unprotect\chron@sysversion\protect}, others versions might be created later.
@@ -78,14 +86,23 @@ It is recommended not to load the \type{color.tex} file if you use plain \TeX.
You can load \type{chronosys} by~:
\startitemize[4]
-\item \type{\usemodule[chronosys]} in \CONTEXT.
-\item \type{\usepackage{chronosys}} in \LaTeX.
-\item \type{\input chronosys} in plain \TeX.
+\item \tex{usemodule[chronosys]} in \CONTEXT.
+\item \tex{usepackage{chronosys}} in \LaTeX.
+\item \tex{input chronosys} in plain \TeX.
\stopitemize
-With the new version you can modify the alignment of the timeline on the page, the width of the labels of the events; it provides a better support
-of the events placed over the timeline, the possibility of colouring the background of the labels of the periods and events, of creating new commands
-and corrects problems of compatibility.
+\subject{updates' history}
+\startitemize[1]
+\item 1.10 :
+added possibility to change the alignment of the timeline on the page, change the width of the text of the label of events, improved support for events placed above the frieze, added the ability to colour the text background of events and periods.
+\item 1.15 : added possibility to create owns new commands, to graduate automatically the timeline, change the alternation of colours
+ periods and fixes some compatibility issues.
+\item 1.2 (actual version) : reduces the use of the module \type{tikz} at least possible, remove the former limitation of the impossibility of
+switching the default value of \type{textwidth}. With \CONTEXT, added possibility using \METAPOST\footnote{for more informations on \METAPOST, see \from[MetaPost_TUG]} instead of \type{tikz} (and
+ conversely, reuse \type {tikz} instead of \METAPOST{}) using the commands \tex{chronoswitchtomodeMP} and \tex{chronoswitchtomodeTikz}~; with
+the Mark IV version using \METAPOST{} default.
+
+\stopitemize
\blank
@@ -97,9 +114,9 @@ I wish to thank Gonçalo {\sc Pereira} for his idea about colouring in white the
\chapter{First use}
-\section{Main function: \type{\startchronology}}
+\section{Main function: \tex{startchronology}}
-The control sequence \type{\startchronology}\index{startchronology} is the first one you need to know.\footnote{There are \type{\begin{chronology}} and \type{\end{chronology}} for \LaTeX}~: it starts the chronological frieze :
+The control sequence \tex{startchronology}\index{startchronology} is the first one you need to know.\footnote{There are \tex{begin}\arg{chronology} and \tex{end}\arg{chronology} for \LaTeX}~: it starts the chronological frieze :
\startalignment[middle]
\starttypingTEX
@@ -108,7 +125,7 @@ The control sequence \type{\startchronology}\index{startchronology} is the first
\stopalignment
\leftaligned{\switchtobodyfont[12.4pt] See \in[startchronologyoptions] to have the different possible options}
\blank[small]
-The next one is \type{\stopchronology}\index{stopchronology}\footnote{or \type{\end{chronology}}}, it ends the timeline.
+The next one is \tex{stopchronology}\index{stopchronology}\footnote{or \tex{end}\arg{chronology}}, it ends the timeline.
\startalignment[middle]
\starttypingTEX
@@ -128,9 +145,9 @@ The next one is \type{\stopchronology}\index{stopchronology}\footnote{or \type{\
You can see the timeline is on all the page's width, furthermore it starts at {\os0} and ends at the current year {\os\the\year} when this document was compiled. \type{Chronosys} will compare these years with the events and periods you will give him (see \in[event] and \in[period]).
\blank[small]Now let's learn how to add events on the timeline.
-\section[event]{Events: \type{\chronoevent}}
+\section[event]{Events: \tex{chronoevent}}
-You can add events with \type{\chronoevent}\index{chronoevent}. This control sequence needs two arguments: the first one is the date of the event\footnote{you can go to \in[eventnewdate] to see another way of specifying the date} and the second is the label of this event.
+You can add events with \tex{chronoevent}\index{chronoevent}. This control sequence needs two arguments: the first one is the date of the event\footnote{you can go to \in[eventnewdate] to see another way of specifying the date} and the second is the label of this event.
\startalignment[middle]
\starttypingTEX
@@ -177,9 +194,9 @@ The event appears between {\os 0} et {\os\the\year}, proportionally with his gap
\type{Chronosys} won't generate any error if the event's date is out of the starting year and ending year, however it will be ignored. The way of customize
the timeline, especially the starting year and ending year, will be seen further(see \in[startchronologyoptions]).
-\section[period]{Periods: \type{\chronoperiode}}
+\section[period]{Periods: \tex{chronoperiode}}
-You can also add one period (or several\footnote{If two periods are overlapping, the last one will overlap the other}) on the frieze with \type{\chronoperiode}\index{chronperiode}.
+You can also add one period (or several\footnote{If two periods are overlapping, the last one will overlap the other}) on the frieze with \tex{chronoperiode}\index{chronperiode}.
\startalignment[middle]
\starttypingTEX
@@ -212,9 +229,9 @@ N.B.: on the period from {\os1000} to {\os1999}, blue on the timeline, we can no
The period appears automatically with colour, and the dates are also visible (see \in[periodoptions] to disable them) and the label. The periods can be automatically coloured in 5 colours : blue, red, cyan, purple and yellow, except if the colour is identical to the frieze's one. Of course you can choose the colour of the period (see \in[periodoptions]).
-\section[chronograduation]{Automatic graduation : \type{\chronograduation}}
+\section[chronograduation]{Automatic graduation : \tex{chronograduation}}
-Use \type{\chronograduation} to add a graduation on the timeline.
+Use \tex{chronograduation} to add a graduation on the timeline.
\startalignment[middle]
\starttypingTEX
@@ -233,7 +250,7 @@ Use \type{\chronograduation} to add a graduation on the timeline.
\chronograduation{100}
\stopchronology
\startchronology
-\chronograduation[periode][dateselevation=\z@]{100}
+\chronograduation[periode][dateselevation=0pt]{100}
\stopchronology
\stoptypingTEX
\startchronology
@@ -245,9 +262,9 @@ Use \type{\chronograduation} to add a graduation on the timeline.
\chapter[Personnalisation]{Time-lines' customization}
-\section{\type{\startchronology}}
+\section{\tex{startchronology}}
\subsection{Example}
-\type{\startchronology} can have an optional argument in brackets.
+\tex{startchronology} can have an optional argument in brackets.
For example:
\starttypingTEX
@@ -264,13 +281,13 @@ color=darkblue,height=7ex,width=\hsize]
\bigskip
\subsection{Different options}
-The different options of \type{\startchronology}\index{startchronology} are:
+The different options of \tex{startchronology}\index{startchronology} are:
\startitemize
\head \type{startyear}\index{startyear} :\par starting year of the timeline. It needs to be a valid \type{number}. It is by default {\os0}
\head \type{stopyear}\index{stopyear} :\par ending year of the timeline. It also needs to be a valid \type{number}. It is the current year by default.
-\head \type{color}\index{color} :\par colour of the frieze. It must be a \type{colour} recognized by the \type{tikz} package. It is black by default.
+\head \type{color}\index{color} :\par colour of the frieze. It must be a valid \type{colour}. It is black by default.
\head \type{height}\index{height} :\par height of the frieze. It must be a valid \type{dimen} and it is \type{0.7pc} by default.
-\head \type{width}\index{width} :\par width of the frieze. It must be a valid \type{dimen} and it is \type{\hsize}\footnote{\type{\textwidth} in \LaTeX} by default.
+\head \type{width}\index{width} :\par width of the frieze. It must be a valid \type{dimen} and it is \tex{hsize}\footnote{\tex{textwidth} in \LaTeX} by default.
\head \type{datesstyle}\index{datessyle} :\par style to apply to dates. It must be a \type{control sequence} (it can take one argument, which will be the dates), is empty by default.
\head \type{dateselevation}\index{dateselevation} :\par height of the dates from the timeline, it must be a valid \type{dimen} and it is \type{20pt} par by default.
\head \type{startdate}\index{startdate} :\par boolean which indicate if the starting year has to be placed. It must be either \type{true} or \type{false} and it is \type{true} by default.
@@ -287,7 +304,7 @@ The different options of \type{\startchronology}\index{startchronology} are:
\subsection[startchronologyoptions]{Summary}
\placetable[here][fig:startchronologyoptions]{\type{startchronology}'s options}
\starttable[|l|c|l|]
-\HL\VL\use{3}\ReFormat[cB]{\type{\startchronology[}\em ...=...\type{]}}\VL\SR
+\HL\VL\use{3}\ReFormat[cB]{\tex{startchronology[}\em ...=...\type{]}}\VL\SR
\VL\type{startyear} \NC=\NC\type{<number>}
\VL\FR\VL
\type{stopyear} \NC=\NC\type{<number>}\VL\FR
@@ -314,9 +331,9 @@ The different options of \type{\startchronology}\index{startchronology} are:
\stoptable
\page[yes]
-\section{\type{\chronoperiode}}
+\section{\tex{chronoperiode}}
\subsection{Example}
-\type{\chronoperiode} can have an optional argument for the options' customization.
+\tex{chronoperiode} can have an optional argument for the options' customization.
\starttypingTEX
\startchronology[startyear=-800,stopyear=500,
color=darkgreen, height=3cm]
@@ -341,7 +358,7 @@ box=true]{-509}{-27}{Roman Republic}
\subsection{Colours alternation}
As we saw, the colour of the periods alternates between blue, red, cyan, purple and yellow. You can define your own colours alternation
-with \crlf\type{\chronoperiodecoloralternation}\index{chronoperiodecoloralternation}.
+with \crlf\tex{chronoperiodecoloralternation}\index{chronoperiodecoloralternation}.
\startalignment[middle]
\starttypingTEX
@@ -377,7 +394,7 @@ Example:
\stopchronology
You can also restart the alternation at the beginning or on a specific colour with\crlf
-\type{\restartchronoperiodecolor}\index{restartchronoperiodecolor}.
+\tex{restartchronoperiodecolor}\index{restartchronoperiodecolor}.
\startalignment[middle]
\starttypingTEX
@@ -391,7 +408,7 @@ You can also restart the alternation at the beginning or on a specific colour wi
\subsection[chronoperiodsoptions]{Different options}
-The different options of \type{\chronoperiode}\index{chronoperiode} are:
+The different options of \tex{chronoperiode}\index{chronoperiode} are:
\startitemize
\head \type{startdate}\index{startdate} :\par boolean. It indicate if the starting year has to be placed, and must be either \type{true} or \type{false}. It is \type{true} by default.
@@ -403,10 +420,10 @@ The different options of \type{\chronoperiode}\index{chronoperiode} are:
\head \type{textstyle}\index{textstyle} : \par style to apply to the label. It must be a \type{control sequence} or
\noindent\type{control sequence#1} and is empty by default.
-\head \type{color}\index{color} :\par colour of the period on the frieze. It must be a \type{colour} recognized by \type{tikz}. It alternates between blue, red, cyan, purple and yellow by default.
+\head \type{color}\index{color} :\par colour of the period on the frieze. It must be a valid \type{colour}. It alternates between blue, red, cyan, purple and yellow by default.
\head \type{dateselevation}\index{dateselevation} :\par height of the dates from the frieze. It must be a valid \type{dimen} and it is \type{0pt} by default.
\head \type{textdepth}\index{textdepth} :\par depth of the label from the frieze. It must be a valid \type{dimen} and it is \type{15pt} by default.
-\head \type{colorbox}\index{colorbox} :\par colour of the background of the text of the period. It must be a \type{colour} recognized by \type{tikz} and it is white by default.
+\head \type{colorbox}\index{colorbox} :\par colour of the background of the text of the period. It must be a valid \type{colour} and it is white by default.
\head \type{ifcolorbox}\index{ifcolorbox} :\par boolean which indicates if the background of the text has to be coloured. It must be either \type{true} or \type{false}. It is \type{true} by default.
\head \type{topheight}\index{topheight} : \par height of the top of the period on the timeline. It must be a valid \type{dimen} and it is equal to the \type{height of the timeline} by default.
\head \type{bottomdepth}\index{bottomdepth} : \par height of the bottom of the period on the timeline. It must be a valid \type{dimen} and it is \type{0pt} by default.
@@ -416,7 +433,7 @@ The different options of \type{\chronoperiode}\index{chronoperiode} are:
\placetable[here][fig:chronoperiodeoptions]{\type{chronoperiode}'s options}
\starttable[|l|c|l|]
-\HL\VL\use{3}\ReFormat[cB]{\type{\chronoperiode[}\em ...=...\type{]{...}{...}{...}}}\VL\SR
+\HL\VL\use{3}\ReFormat[cB]{\tex{chronoperiode[}\em ...=...\type{]{...}{...}{...}}}\VL\SR
\VL\type{startdate} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\LR
\VL\type{stopdate} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\LR
\VL\type{dates} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\LR
@@ -431,16 +448,16 @@ The different options of \type{\chronoperiode}\index{chronoperiode} are:
\VL\type{bottomdepth} \NC =\NC \type{<dimen>}\VL\FR\HL
\stoptable
-\section{\type{\chronoevent}}
+\page[yes]
+
+\section{\tex{chronoevent}}
-\type{\chronoevent} can also have an optional argument for customization.
+\tex{chronoevent} can also have an optional argument for customization.
\subsection{Example}
\starttypingTEX
-\def\MyIcon{{\starttikzpicture \filldraw
-[color=orange](0,0)--(0,5pt)--(5pt,5pt)
---(5pt,0)--cycle;\stoptikzpicture}}
+\def\MyIcon{{\color{orange}\vrule width 5pt height5pt\relax}}
\catcode`\@=11
\def\chron@selectmonth#1{\ifcase#1\or January\or February\or
@@ -456,7 +473,7 @@ icon=\MyIcon,year=false, textwidth=4.5cm]{15/3/-44}
assassination of Caesar}
\stopchronology
\stoptypingTEX
-\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}}
+\def\MyIcon{{\color[orange]\vrule width 5pt height5pt\relax}}
\catcode`\@=11
\def\chron@selectmonth#1{\ifcase#1\or January\or February\or
March\or April\or May\or June\or July\or August\or September\or
@@ -490,15 +507,10 @@ As for the periods, to avoid vertical straight to overlap the others labels, as
You should type the events from the one you want to place from the farthest to the nearest from the timeline. You can of course choose the colour of the box, and disable it if you need (see \in[chronoeventsoptions]).
-\subsubsection[nosetuptextwidthexplanation]{Width of the text}
-
-You can modify the width of the label, in the aim to cut the lines to avoid exceeding on the others labels. You do this with the option \type{textwidth}\index{textwidth} of \type{\chronovent}.
-However, this functionality is considered to be disabled, except if you specify this option. This is done in the aim to avoid problems about the alignment of the text. This option cannot have a default value (see \in[permanentchanges]).
-
\subsubsection[eventnewdate]{A new way for specifying the date}
-You can specify with more precision the date with \type{\chronoevent}\index{chronoevent}. We saw that typing
-\type{\chronoevent{-44}{Assassination of Caesar}} specified the year of the event, now we will saw the way of specifying
+You can specify with more precision the date with \tex{chronoevent}\index{chronoevent}. We saw that typing
+\tex{chronoevent}\arg{-44}\arg{Assassination of Caesar} specified the year of the event, now we will saw the way of specifying
the month and the day. You have to type \type{<day number>/<number of the month>/year}, only specifying the year is compulsory.
You can give only the year as we saw before, the number of the month and the year or the day number and the number of the month and the year. The number of the month is automatically converted to the name of the month (in French by default). You can disable this conversion (see \in[eventoptions]).The control sequence of conversion is:
@@ -556,10 +568,10 @@ Here are the different possible options\index{chronoevent}.
\head \type{datesseparation}\index{datesseparation} : symbol of separation of each element of the date. It can be a control sequence or some text and is a space by default.
\head \type{datestyle}\index{datestyle} :\par style to apply to the entire date with the symbols of separation. It must be a \type{control sequence} or \type{control sequence#1}.
\head \type{datesstyle}\index{datesstyle} :\par style to apply each element of the date without the symbols of separation. It must be a \type{control sequence} or \type{control sequence#1}.
-\head \type{colorbox}\index{colorbox} :\par colour of the background of the text and date of the event. It must be a \type{colour} recognized by \type{tikz} and it is white by default.
+\head \type{colorbox}\index{colorbox} :\par colour of the background of the text and date of the event. It must be a valid \type{colour} and it is white by default.
\head \type{ifcolorbox}\index{ifcolorbox} :\par boolean which indicates if the background of the text and the date has to be coloured. It must be either \type{true} or \type{false}. It is \type{true} by default.
\head \type{textwidth}\index{textwidth} :\par
-Width of the label on the page. Contrary to the other options, this one cannot have a default value and is disabled while the option is no given.
+Width of the label on the page.
It must be a valid \type{dimen}.
\stopitemize
@@ -567,7 +579,7 @@ It must be a valid \type{dimen}.
\placetable[here][fig:chronoeventoptions]{\type{chronoevent}'s options}
\starttable[|l|c|l|]
-\HL\VL\use{3}\ReFormat[cB]{\type{\chronoevent[}\em ...=...\type{]{...}{...}}}\VL\SR
+\HL\VL\use{3}\ReFormat[cB]{\tex{chronoevent[}\em ...=...\type{]{...}{...}}}\VL\SR
\VL\type{barre}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR
\VL\type{date}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR
\VL\type{conversionmonth}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR
@@ -590,7 +602,7 @@ It must be a valid \type{dimen}.
\chapter[permanentchanges]{Permanent changes}
\section[definecommands]{Creating new commands}
-You can create your own commands to place events and periods on the timeline with \type{\definechronoevent} and \type{\definechronoperiode}.
+You can create your own commands to place events and periods on the timeline with \tex{definechronoevent} and \tex{definechronoperiode}.
\startalignment[middle]
\starttypingTEX
@@ -614,7 +626,7 @@ N.B.: in \CONTEXT, the syntax is
\stoptypingTEX
\stopalignment
-The commands \type{\chrono<name of the command>} are now defined. For instance,
+The commands \tex{chrono<name of the command>} are now defined. For instance,
\starttypingTEX
\definechronoperiode{MyPeriod}[color=yellow, textstyle=\it]
@@ -634,9 +646,8 @@ The commands \type{\chrono<name of the command>} are now defined. For instance,
\stopchronology
\section[setupdefaultvalues]{Modify the default values}
-You can apply changes on default values with using \type{\setupchronology},\crlf \type{\setupchronoevent} and \type{\setupchronoperiode}. You use the
-same name for each option you want to change. The only exception is \type{textwidth} of \type{\chronoevent} (see
- \in[nosetuptextwidthexplanation]).
+You can apply changes on default values with using \tex{setupchronology},\crlf \tex{setupchronoevent} and \tex{setupchronoperiode}. You use the
+same name for each option you want to change.
\index{setupchronology}\index{setupchronoevent} \index{setupchronoperiode}.
\startalignment[middle]
@@ -647,8 +658,8 @@ same name for each option you want to change. The only exception is \type{textwi
\starttabulate[|l|l|]
\NC \color[blue] <text> \NC \type{periode} \em or \type{event} or \type{logy} or \type{graduation}\FR
-\NC \color[blue] ...\NC name of the command to customize (except for \type{\setupchronology}, and\FR
-\NC \NC for\type{\setupchronograduation} it is the style of the graduation ; see \in[definecommands])\FR
+\NC \color[blue] ...\NC name of the command to customize (except for \tex{setupchronology}, and\FR
+\NC \NC for\tex{setupchronograduation} it is the style of the graduation ; see \in[definecommands])\FR
\NC \color[blue] 1. \NC options (see \in[Personnalisation])\FR
\stoptabulate
@@ -660,9 +671,9 @@ N.B.: Again, in \CONTEXT, the syntax is :
\stoptypingTEX
\stopalignment
-The option \type {name of the command to customize} is only available for \crlf \type{\setupchronoevent} and \type{\setupchronoperiode}, and in the case of \crlf\type{\setupchronograduation} it matches the style of graduation (\type{event} or \type{period}).
+The option \type {name of the command to customize} is only available for \crlf \tex{setupchronoevent} and \tex{setupchronoperiode}, and in the case of \crlf\tex{setupchronograduation} it matches the style of graduation (\type{event} or \type{period}).
-If it is not given, the changes will affect \type {\chronoperiode} and \type{\chronoevent} , otherwise they will affect the command given in
+If it is not given, the changes will affect \type {\chronoperiode} and \tex{chronoevent} , otherwise they will affect the command given in
option.
For example,
@@ -694,12 +705,13 @@ For example,
\startalignment[middle]
\starttypingTEX
-\setupchronoperiode{color=\chron@periodcolor}
+\setupchronoperiode{color=\chronoperiodcolor}
\stoptypingTEX
\stopalignment
-\setupchronoperiode[color=\chron@periodcolor]
+\setupchronoperiode[color=\chronoperiodcolor]
\startchronology
+\chronograduation{250}
\chronoperiode{1050}{1450}{Anything you want}
\chronoperiode{1800}{1899}{19\high{th} century}
\chronoevent{1600}{Anything else}
diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf
index e59452b9b75..c735f33541b 100644
--- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf
+++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex
index fbbcd8acec6..dfa6d90f754 100644
--- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex
+++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex
@@ -1,4 +1,4 @@
-% This is is the french code for the documentation of the `chronosys' package.
+% 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
@@ -44,6 +44,9 @@
\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]
@@ -60,9 +63,11 @@
\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
@@ -73,24 +78,34 @@
\parskip 1cm
\chapter{Introduction}
-\type{Chronosys} est distribué sous licence LaTeX Project Public Licence. Il utilise l'extension \type{tikz} 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.
+\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\chron@sysversion\protect}, d'autres versions seront susceptibles de venir par la suite.
+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 \type{\usemodule[chronosys]} pour \CONTEXT.
-\item \type{\usepackage{chronosys}} pour \LaTeX.
-\item \type{\input chronosys} pour plain \TeX.
+\item \tex{usemodule[chronosys]} pour \CONTEXT.
+\item \tex{usepackage{chronosys}} pour \LaTeX.
+\item \tex{input chronosys} pour plain \TeX.
\stopitemize
-La nouvelle version apporte la possibilité de modifier l'alignement des frises sur la page, de modifier la largeur des textes de commentaire des
-événements, un meilleur support des événements placés au-dessus de la frise, la possibilité de colorer le fond des textes des événements et périodes,
-de créer de nouvelles commandes et corrige quelques problèmes de compatibilité.
+\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
@@ -102,9 +117,9 @@ Je tiens à remercier Gonçalo {\sc Pereira} pour son idée de colorer l'arrièr
\chapter{Première utilisation}
-\section{Fonction principale : \type{\startchronology}}
+\section{Fonction principale : \tex{startchronology}}
-La macro \type{\startchronology}\index{startchronology} est la première à retenir\footnote{Il existe aussi \type{\begin{chronology}} et \type{\end{chronology}} pour \LaTeX}~: elle prépare la frise chronologique. Voici sa structure :
+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 :
@@ -115,7 +130,7 @@ La macro \type{\startchronology}\index{startchronology} est la première à rete
\stopalignment
\leftaligned{\switchtobodyfont[12.4pt] On se reportera à \in[startchronologyoptions] pour connaître les différentes options}
\blank[small]
-\noindent La suivante à retenir est \type{\stopchronology}\index{stopchronology}\footnote{ou \type{\end{chronology}}}, elle termine le tout :
+\noindent La suivante à retenir est \tex{stopchronology}\index{stopchronology}\footnote{ou \tex{end}\arg{chronology}}, elle termine le tout :
\startalignment[middle]
\starttypingTEX
@@ -137,9 +152,9 @@ l'année courante ({\os\number\year} lors de la compilation de ce document). Ces
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 : \type{\chronoevent}}
+\section[event]{Les événements : \tex{chronoevent}}
-Il est possible de rajouter des événements sur la frise chronologique via \type{\chronoevent}\index{chronoevent}~:
+Il est possible de rajouter des événements sur la frise chronologique via \tex{chronoevent}\index{chronoevent}~:
\startalignment[middle]
@@ -188,9 +203,9 @@ L'événement a été placé entre {\os 0} et {\os\the\year}, proportionnellemen
\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 : \type{\chronoperiode}}
+\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 à \type{\chronoperiode}\index{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
@@ -225,9 +240,9 @@ La couleur a automatiquement été placée afin de rendre bien visible la pério
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 : \type{\chronograduation}}
+\section[chronograduation]{Graduation automatique : \tex{chronograduation}}
-Pour graduer automatiquement la frise, utilisez \type{\chronograduation}\index{chronograduation}.
+Pour graduer automatiquement la frise, utilisez \tex{chronograduation}\index{chronograduation}.
\startalignment[middle]
\starttypingTEX
@@ -246,7 +261,7 @@ Pour graduer automatiquement la frise, utilisez \type{\chronograduation}\index{c
\chronograduation{100}
\stopchronology
\startchronology
-\chronograduation[periode][dateselevation=\z@]{100}
+\chronograduation[periode][dateselevation=0pt]{100}
\stopchronology
\stoptypingTEX
\startchronology
@@ -258,9 +273,9 @@ Pour graduer automatiquement la frise, utilisez \type{\chronograduation}\index{c
\chapter[Personnalisation]{Personnalisation des frises}
-\section{\type{\startchronology}}
+\section{\tex{startchronology}}
\subsection{Exemple}
-\type{\startchronology} accepte des arguments optionnels spécifié entre crochets.
+\tex{startchronology} accepte des arguments optionnels spécifié entre crochets.
Voyons un exemple :
\starttypingTEX
@@ -277,13 +292,13 @@ color=darkblue,height=7ex,width=\hsize]
\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 \type{\startchronology}\index{startchronology} sont les suivantes~:
+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} reconnue par l'extension tikz. Elle est noire par défaut.
+\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 \type{\hsize}\footnote{\type{\textwidth} en \LaTeX} 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.
@@ -300,7 +315,7 @@ Les différentes options de \type{\startchronology}\index{startchronology} sont
\subsection[startchronologyoptions]{Résumé}
\placetable[here][fig:startchronologyoptions]{Options de \type{startchronology}}
\starttable[|l|c|l|]
-\HL\VL\use{3}\ReFormat[cB]{\type{\startchronology[}\em ...=...\type{]}}\VL\SR
+\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
@@ -328,9 +343,9 @@ Les différentes options de \type{\startchronology}\index{startchronology} sont
\page[yes]
-\section{\type{\chronoperiode}}
+\section{\tex{chronoperiode}}
\subsection{Exemple}
-Tout comme \type{\startchronology}, \type{\chronoperiode} admet des arguments optionnels pour la personnalisation de la période.
+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]
@@ -355,7 +370,7 @@ blanc par défaut. Il est possible de changer cette couleur ou de désactiver ce
\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\type{\chronoperiodecoloralternation}\index{chronoperiodecoloralternation}.
+grâce à \crlf\tex{chronoperiodecoloralternation}\index{chronoperiodecoloralternation}.
\startalignment[middle]
\starttypingTEX
@@ -390,8 +405,8 @@ Exemple d'utilisation :
\chronoperiode[startdate=false]{1000}{1500}{}
\stopchronology
-Enfin il est également possible de restaurer l'alternation des couleurs, au début ou bien sur une couleur précise grâce à
-\type{\restartchronoperiodecolor}\index{restartchronoperiodecolor}.
+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
@@ -400,12 +415,12 @@ Enfin il est également possible de restaurer l'alternation des couleurs, au dé
\stopalignment
\starttabulate[|l|l|]
-\NC\color[darkblue] ... \NC nom d'une couleur de l'alternation automatique ({\em couleur})\FR
+\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 \type{\chronoperiode}\index{chronoperiode} sont listées ici~:
+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.
@@ -413,11 +428,11 @@ Les différentes options de \type{\chronoperiode}\index{chronoperiode} sont list
\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} reconnue par \type{tikz}. Elle alterne entre bleu, rouge, cyan, violet et jaune 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} reconnue par \type{tikz} et vaut \type{white} 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
@@ -426,7 +441,7 @@ Les différentes options de \type{\chronoperiode}\index{chronoperiode} sont list
\placetable[here][fig:chronoperiodeoptions]{Options de \type{chronoperiode}}
\starttable[|l|c|l|]
-\HL\VL\use{3}\ReFormat[cB]{\type{\chronoperiode[}\em ...=...\type{]{...}{...}{...}}}\VL\SR
+\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
@@ -441,16 +456,14 @@ Les différentes options de \type{\chronoperiode}\index{chronoperiode} sont list
\VL\type{bottomdepth} \NC =\NC \type{<dimension>}\VL\FR\HL
\stoptable
-\section{\type{\chronoevent}}
+\section{\tex{chronoevent}}
-De même que \type{\startchronology} et \type{\chronoperiode}, \type{\chronoevent} accepte lui-aussi un argument optionnel entre crochets qui contient les options de personnalisation.
+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{{\tikzpicture \filldraw
-[color=orange](0,0)--(0,5pt)--(5pt,5pt)
---(5pt,0)--cycle;\endtikzpicture}}
+\def\MyIcon{{\color{orange}\vrule height5pt width5pt}}
\startchronology[startyear=-800,stopyear=500,
color=darkgreen,height=7ex]
\chronoevent[textstyle=\bf,
@@ -461,7 +474,7 @@ year=false, textwidth=5cm]{15/3/-44}
assassinat de Jules César}
\stopchronology
\stoptypingTEX
-\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}}
+\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
@@ -486,20 +499,11 @@ mais bien ceci :
\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[nosetuptextwidthexplanation]{Largeur du texte}
-Il est possible de spécifier une largeur au commentaire via l'option \type{textwidth}\index{textwidth} de
-
-\noindent\type{\chronoevent}, afin que le texte
-soit coupé et éviter de dépasser sur les autres textes.
-Contrairement aux autres options,
-il est impossible de lui donner une valeur par défaut (voir \in[permanentchanges]). Cette option est par ailleurs considérée comme étant
-désactivée, jusqu'à ce qu'elle soit spécifiée lors d'une utilisation de \type{chronoevent}, et immédiatement désactivée après, afin d'éviter
-des problèmes d'alignement de texte.
\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 \type{\chronoevent}\index{chronoevent}. Nous avons vu que taper
-\type{\chronoevent{-44}{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
+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 :
@@ -544,17 +548,16 @@ Voici la liste des options possibles\index{chronoevent}.
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} reconnue par \type{tikz} et vaut \type{white} 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. Contrairement aux autres options, elle ne peut pas prendre de valeur par défaut et n'est activée que
-lorsque l'option est spécifiée. Ce doit être une \type{dimension} valide.
+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]{\type{\chronoevent[}\em ...=...\type{]{...}{...}}}\VL\SR
+\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
@@ -575,7 +578,7 @@ lorsque l'option est spécifiée. Ce doit être une \type{dimension} valide.
\chapter[permanentchanges]{Changements permanents}
\section[definecommands]{Créer de nouvelles commandes}
-Les commandes \type{\definechronoevent}\index{definechronoevent} et \type{\definechronoperiode}
+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.
@@ -601,7 +604,7 @@ Note : pour \CONTEXT, la syntaxe est
\stoptypingTEX
\stopalignment
-Les commandes \type{\chrono<nom de la commande>} sont désormais définies. Voyons un exemple :
+Les commandes \tex{chrono<nom de la commande>} sont désormais définies. Voyons un exemple :
\starttypingTEX
\definechronoperiode{MaPeriode}[color=yellow, textstyle=\it]
@@ -621,10 +624,9 @@ Les commandes \type{\chrono<nom de la commande>} sont désormais définies. Voyo
\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 \type{\setupchronology}, \type{\setupchronoevent} et
-\type{\setupchronoperiode}.\index{setupchronology}\index{setupchronoperiode} \index{setupchronoevent} Chacu\-ne de ces commandes prennent les mêmes
-options que nous avons vu auparavant respectivement. La seule exception est l'option \type{textwidth} de \type{\chronoevent} (voir
-\in[nosetuptextwidthexplanation]).
+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
@@ -634,8 +636,8 @@ options que nous avons vu auparavant respectivement. La seule exception est l'op
\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 \type{\setupchronology}, et \FR
-\NC\NC pour \type{\setupchronograduation} il s'agit du style de graduation ; voir \in[definecommands])\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
@@ -649,9 +651,9 @@ Note : de même pour \CONTEXT, la syntaxe est :
\stoptypingTEX
\stopalignment
-L'option \type{nom de la commande à personnaliser} n'est disponible que pour \crlf\type{\setupchronoevent} et \type{\setupchronoperiode}, et dans le cas de \type{\setupchronograduation} elle correspond au style de graduation (\type{event} ou \type{periode}).
+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 \type{\chronoperiode} et \type{\chronoevent}, sinon elles affecteront la commande donnée en
+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 :
@@ -683,20 +685,21 @@ stopdate=false}
\chronoMaPeriode {1800}{1900}{Encore autre chose}
\stopchronology
-Si vous souhaitez reprendre l'alternation automatique des couleurs des périodes, utilisez
+Si vous souhaitez reprendre l'alternance automatique des couleurs des périodes, utilisez
\startalignment[middle]
\starttypingTEX
-\setupchronoperiode{color=\chron@periodcolor}
+\setupchronoperiode{color=\chronoperiodcolor}
\stoptypingTEX
\stopalignment
\catcode`\@=11
Ainsi, on réobtient
-\setupchronoperiode[color=\chron@periodcolor]
+\setupchronoperiode[color=\chronoperiodcolor]
\startchronology
+\chronograduation{250}
\chronoperiode{1050}{1450}{Quelque chose}
\chronoevent{1600}{autre chose}
-\chronoperiode{1800}{1899}{XVIII\high{è} siècle}
+\chronoperiode{1800}{1900}{Encore autre chose}
\stopchronology
\completeindex
diff --git a/Master/texmf-dist/tex/generic/chronosys/chronosys.sty b/Master/texmf-dist/tex/generic/chronosys/chronosys.sty
index 5129513124f..8ce02a813f3 100644
--- a/Master/texmf-dist/tex/generic/chronosys/chronosys.sty
+++ b/Master/texmf-dist/tex/generic/chronosys/chronosys.sty
@@ -26,20 +26,22 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{tikz}
%\RequirePackage{xcolor}
-
\makeatletter\catcode`\!=11
\def\!chr@verif#1#2{\ifdefined#2\error!message \fi #1#2} %
\input chronosyschr.tex
-
+%
%\newenvironment{chronology}{\startchronology}{\stopchronology}
-\let\starttikzpicture\tikzpicture \let\stoptikzpicture\endtikzpicture
-\let\chronology\startchronology \let\endchronology\stopchronology
-\def\!chrdefaultwidth{\textwidth}
-\def\!chreventcolorbox{\colorbox{\!chr@eventcolorbox}}
-\def\!chrperiodcolorbox{\colorbox{\!chr@periodcolorbox}}
-\ProvidesPackage{chronosys}
-\setupchronoevent[!!eventgradu@tion]{datesstyle=\tiny}
-\setupchronoperiode[!!periodegradu@tion]{datesstyle=\tiny}
+\!chrverif\let\chronology\startchronology \!chrverif\let\endchronology\stopchronology
+\!chrverif\def\!chrstarttikzpicture{\tikzpicture}\!chrverif\def\!chrstoptikzpicture{\endtikzpicture}%
+\!chrverif\def\!chrdraw{\draw}\!chrverif\def\!chrfill{\fill}\!chrverif\def\!chrfilldraw{\filldraw}%
+\def\!chrdefaultwidth{\textwidth}%
+\!chrverif\def\!chreventcolorbox{\colorbox{\!chr@eventcolorbox}}%
+\!chrverif\def\!chrperiodcolorbox{\colorbox{\!chr@periodcolorbox}}%
+\ProvidesPackage{chronosys}%
+\setupchronoevent[!!eventgradu@tion]{datesstyle=\tiny}%
+\setupchronoperiode[!!periodegradu@tion]{datesstyle=\tiny}%
+\!chrverif\let\!chrusecolor\color
+%
\makeatother
-\catcode`\!=12
+\catcode`\!=12\relax
\endinput
diff --git a/Master/texmf-dist/tex/generic/chronosys/chronosys.tex b/Master/texmf-dist/tex/generic/chronosys/chronosys.tex
index be7967a9bc7..57a4cdd408b 100644
--- a/Master/texmf-dist/tex/generic/chronosys/chronosys.tex
+++ b/Master/texmf-dist/tex/generic/chronosys/chronosys.tex
@@ -23,34 +23,49 @@
%
% The Current Maintainer of this work is Mathieu Long.
%
-\catcode`\@=11
+% % % %
+%Changement de catcode
+\catcode`\@=11\relax
+%
\unless\ifdefined\tikzpicture
-\catcode`\!=12\input tikz.tex \relax\fi
-\catcode`\!=11
+\catcode`\!=12\input tikz.tex\relax\fi
+%
+\catcode`\!=11\relax
+%
+%DEFINITION DE \!CHR@VERIF
\let\!chr@verif\relax
-\def\starttikzpicture{\tikzpicture} \def\stoptikzpicture{\endtikzpicture}
-\def\!chrperiodcolorbox#1{%
+%
+%CHARGEMENT DE CHRONOSYSCHR
+\input chronosyschr.tex\relax
+%
+%DEFINITION POUR MOTEUR DE DESSIN
+\def\!chrstarttikzpicture{\tikzpicture}\def\!chrstoptikzpicture{\endtikzpicture}%
+\!chrverif\def\!chrdraw{\draw}\!chrverif\def\!chrfill{\fill}\!chrverif\def\!chrfilldraw{\filldraw}%
+%
+% DEFINITION DES SSTEMES DE COLORISATION DU FOND DES EVENTS ET PERIODES
+\!chrverif\def\!chrperiodcolorbox#1{%
\setbox\z@ \hbox{\kern2pt#1\kern2pt}%
\dimen@i\dp\z@
-\advance\dimen@i\ht\z@ \advance\dimen@i 6pt
+\advance\dimen@i\ht\z@ \advance\dimen@i 6pt\relax
\dimen@ii\wd\z@
-\advance\dimen@ii 4pt
-\setbox\@ne\hbox{\tikz\fill[color=\!chr@periodcolorbox]%
-(\z@,\z@)--(\dimen@ii,\z@)--(\dimen@ii,\dimen@i)--(\z@,\dimen@i);
-\kern-\dimen@ii\box\z@}\raise0.5\dimen@ii\vbox to\z@{\box\@ne\vss}}
-
-
-\def\!chreventcolorbox#1{%
+\advance\dimen@ii 4pt\relax
+\setbox\@ne\hbox{{\color{\!chr@periodcolorbox}%
+\vrule height\dimen@i width\dimen@ii \relax%
+\kern-\dimen@ii}\box\z@}\raise0.5\dimen@ii\vbox to\z@{\box\@ne\vss}}%
+%
+%
+\!chrverif\def\!chreventcolorbox#1{%
\setbox\z@ \hbox{\kern2pt#1\kern2pt}%
\dimen@i\dp\z@
\advance\dimen@i\ht\z@
\dimen@ii\wd\z@
-\advance\dimen@ii 4pt
-\setbox\@ne\hbox {\tikz\fill[color=\!chr@eventcolorbox]%
-(\z@,\z@)--(\dimen@ii,\z@)--(\dimen@ii,\dimen@i)--(\z@,\dimen@i);
-\kern-\dimen@ii\box\z@}\raise0.5\dimen@ii\vbox to\z@{\box\@ne\vss}}
-\input chronosyschr.tex
-
-\catcode`\!=12
-\catcode`\@=12
+\advance\dimen@ii 4pt\relax
+\setbox\@ne\hbox {{\color{\!chr@eventcolorbox}%
+\vrule height\dimen@i width\dimen@ii depth\z@\relax%
+\kern-\dimen@ii}\box\z@}\raise0.5\dimen@ii\vbox to\z@{\box\@ne\vss}}%
+%
+\!chrverif\let\!chrusecolor\color
+%
+\catcode`\!=12\relax
+\catcode`\@=12\relax
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex b/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex
index 26ac5aab586..299c5a75aa0 100644
--- a/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex
+++ b/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex
@@ -25,152 +25,270 @@
%
\expandafter\ifx\csname chronosys @\endcsname\relax\else\immediate\write16{Le fichier a deja ete charge}\endinput\fi
\ifx\numexpr\UNDEFINED\immediate\write16{Desole, mais ce fichier utilise les primitives E-TeX, vous ne pouvez pas utiliser le moteur TeX.}\endinput\fi
-\expandafter\edef\csname chronosys @\endcsname{\the\catcode`\@}
-\def\chron@sysversion{1.15}
-\catcode`\@=11
-\catcode`\!=11
-
-\newhelp\chrhelpmessage{Contactez l'auteur par mail.}
-\newhelp\chrerrormessage{La commande a deja ete definie.}
+\expandafter\edef\csname chronosys @\endcsname{\the\catcode`\@}%
+\catcode`\@=11%
+\catcode`\!=11%
+\def\chron@sysversion{1.2}%
+%
+\newhelp\chrhelpmessage{Contactez l'auteur par mail.}%
+\newhelp\chrerrormessage{La commande a deja ete definie.}%
\def\error!message{\errhelp{\the\chrhelpmessage}\errmessage{\the\chrerrormessage}} %
%
-\def\!chrverif#1#2{\ifdefined#2\expandafter\error!message \fi #1#2} %
-%
-\def\!gobblethree#1#2#3{}
-\def\!gobble#1{}
-\ifdefined\@ifnextchar \def\:{\let\ifnexttoken\@ifnextchar}\expandafter\:\else
-\ifdefined\doifnextcharelse \def\:{\let\ifnexttoken\doifnextcharelse}\expandafter\:\else
-\long\def\@ifnextchar#1#2#3{%
- \let\reserved@d=#1%
- \def\reserved@a{#2}%
- \def\reserved@b{#3}%
- \futurelet\@let@token\@ifnch}
-\let\kernel@ifnextchar\@ifnextchar
-\def\@ifnch{%
- \ifx\@let@token\@sptoken
- \let\reserved@c\@xifnch
- \else
- \ifx\@let@token\reserved@d
- \let\reserved@c\reserved@a
- \else
- \let\reserved@c\reserved@b
- \fi
- \fi
- \reserved@c}
-\def\:{\let\@sptoken= } \: % this makes \@sptoken a space token
-\def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch}
+\def\!chrverif#1#2{\ifdefined#2\expandafter\error!message \fi #1#2}%
+%
+%Commandes utilis\'ees
+%
+%
+\def\!gobblethree#1#2#3{}%
+\def\!gobble#1{}%
+\ifdefined\@ifnextchar %LATEX
+ \def\:{\let\ifnexttoken\@ifnextchar}\expandafter\:
+\else
+ \ifdefined\doifnextcharelse %CONTEXT
+ \def\:{\let\ifnexttoken\doifnextcharelse}\expandafter\:
+ \else
+ \long\def\@ifnextchar#1#2#3{%
+ \let\reserved@d=#1%
+ \def\reserved@a{#2}%
+ \def\reserved@b{#3}%
+ \futurelet\@let@token\@ifnch}%
+ \let\kernel@ifnextchar\@ifnextchar
+ \def\@ifnch{%
+ \ifx\@let@token\@sptoken
+ \let\reserved@c\@xifnch
+ \else
+ \ifx\@let@token\reserved@d
+ \let\reserved@c\reserved@a
+ \else
+ \let\reserved@c\reserved@b
+ \fi
+ \fi
+ \reserved@c}%
+\def\:{\let\@sptoken= }\: % this makes \@sptoken a space token
+\def\:{\@xifnch}\expandafter\def\: {\futurelet\@let@token\@ifnch}%
\let\ifnexttoken\@ifnextchar
\fi\fi
-
+%
\newif\if!chronearg \newif\if!chrtwoarg
-\!chrverif\def\!chrtraiteoneargument#1{\ifnexttoken[{\!chroneargtrue#1}{\!chroneargfalse#1[]}}
-
+\!chrverif\def\!chrtraiteoneargument#1{\ifnexttoken[{\!chroneargtrue#1}{\!chroneargfalse#1[]}}%
+%
\!chrverif\def\!chrtraitetwoargument#1{\let\todoafterarg#1%
-\ifnexttoken[{\!chroneargtrue\savefirsttwoarg}{\!chroneargfalse\!chrtwoargfalse#1[][]}}
-\!chrverif\def\savefirsttwoarg[#1]{\ifnexttoken[{\!chrtwoargtrue \todoafterarg[#1]}{\!chrtwoargfalse \todoafterarg[#1][]}}
-
-\!chrverif\def\!chrtraitingargvirgule#1#2{\def\!tr@itintargvirgule{#2} \!chrtr@itingargvirgule#1,\end}
-\!chrverif\def\!chrtr@itingargvirgule#1,{\!chrdotraiteargvirgule#1,=\end,\ifnexttoken\end\!gobble\!chrtr@itingargvirgule}
-\!chrverif\def\!chrdotraiteargvirgule#1=#2,{\ifx\end#2\relax\else \!chrdotr@iteargvirgule#1=#2,\expandafter\!gobblethree\fi}
-\!chrverif\def\!chrdotr@iteargvirgule#1=#2,{\ifcsname \!tr@itintargvirgule#1\endcsname \expandafter\def\csname \!tr@itintargvirgule#1\endcsname{#2} \else \immediate\write16{chronosys : option #1 non reconnue, impossible de lui affecter la valeur #2}\fi }
-
-\!chrverif\def\startchronology{\!chrtraiteoneargument\dostartchronology}
-
-\!chrverif\def\!chrdefaultstartyear{0} \!chrverif\def\!chrdefaultstopyear{\the\year} \!chrverif\def\!chrdefaultwidth{\the\hsize} %
- \!chrverif\def\!chrdefaultheight{0.7pc} \!chrverif\def\!chrdefaultdates{true} \!chrverif\def\!chrdefaultarrow{true} \!chrverif\def\!chrdefaultarrowwidth{0.1\!chrwidth}
-\!chrverif\def\!chrdefaultarrowheight{\!chrheight} \!chrverif\def\!chrdefaultcolor{black} \!chrverif\def\!chrdefaultarrowcolor{\!chr@color}
-\!chrverif\def\!chrdefaultdatesstyle{} \!chrverif\def\!chrdefaultstartdate{true} \!chrverif\def\!chrdefaultstopdate{true} \!chrverif\def\!chrdefaultdateselevation{20pt}
-\!chrverif\def\!chrdefaultbox{false} \!chrverif\def\!chrdefaultalign{center}
-
-\!chr@verif\newdimen\!chrheight \!chr@verif\newif\if!chrdates \!chr@verif\newif\if!chrarrow \!chr@verif\newcount\!chrstartyear \!chr@verif\newcount\!chrstopyear \!chr@verif\newdimen\!chrwidth \!chr@verif\newdimen\!chrarrowwidth \!chr@verif\newdimen\!chrarrowheight \!chr@verif\newbox\!chrflechebox
+\ifnexttoken[{\!chroneargtrue\savefirsttwoarg}{\!chroneargfalse\!chrtwoargfalse#1[][]}}%
+\!chrverif\def\savefirsttwoarg[#1]{\ifnexttoken[{\!chrtwoargtrue \todoafterarg[#1]}{\!chrtwoargfalse \todoafterarg[#1][]}}%
+%
+\!chrverif\def\!chrtraitingargvirgule#1#2{\def\!tr@itintargvirgule{#2}\!chrtr@itingargvirgule#1,\end}%
+\!chrverif\def\!chrtr@itingargvirgule#1,{%
+\!chrdotraiteargvirgule#1,=\end,\ifnexttoken\end \!gobble \!chrtr@itingargvirgule}%
+\!chrverif\def\!chrdotraiteargvirgule#1=#2,{%
+\ifx \end#2\relax
+\else \!chrdotr@iteargvirgule#1=#2,\expandafter\!gobblethree
+\fi}%
+\!chrverif\def\!chrdotr@iteargvirgule#1=#2,{%
+\ifcsname \!tr@itintargvirgule#1\endcsname
+ \expandafter\def\csname \!tr@itintargvirgule#1\endcsname{#2}%
+\else \immediate\write16{chronosys : option #1 ligne \number\inputlineno\space non reconnue, impossible de lui affecter la valeur #2}%
+\fi }%
+%
+%STARTCHRONOLOGY
+%
+\!chrverif\def\startchronology{\!chrtraiteoneargument\dostartchronology}%
+%
+%OPTIONS DE STARTCHRONOLOGY
+%
+\!chrverif\def\!chrdefaultstartyear{0}\!chrverif\def\!chrdefaultstopyear{\the\year}\!chrverif\def\!chrdefaultwidth{\the\hsize}%
+\!chrverif\def\!chrdefaultheight{0.7pc}\!chrverif\def\!chrdefaultdates{true}\!chrverif\def\!chrdefaultarrow{true}%
+\!chrverif\def\!chrdefaultarrowwidth{0.1\!chrwidth}\!chrverif\def\!chrdefaultdateselevation{20pt}%
+\!chrverif\def\!chrdefaultarrowheight{\!chrheight}\!chrverif\def\!chrdefaultcolor{black}\!chrverif\def\!chrdefaultarrowcolor{\!chr@color}%
+\!chrverif\def\!chrdefaultdatesstyle{}\!chrverif\def\!chrdefaultstartdate{true}\!chrverif\def\!chrdefaultstopdate{true}%
+\!chrverif\def\!chrdefaultbox{false}\!chrverif\def\!chrdefaultalign{center}%
+%
+\!chr@verif\newdimen\!chrheight \!chr@verif\newif\if!chrdates \!chr@verif\newif\if!chrarrow \!chr@verif\newcount\!chrstartyear
+\!chr@verif\newcount\!chrstopyear \!chr@verif\newdimen\!chrwidth \!chr@verif\newdimen\!chrarrowwidth \!chr@verif\newdimen\!chrarrowheight
+\!chr@verif\newbox\!chrflechebox
\!chr@verif\newdimen\!chr!realwidth \!chr@verif\newdimen\!chr!unitperyear
\!chr@verif\newif\if!chrstartdate \!chr@verif\newif\if!chrstopdate \!chr@verif\newdimen\!chrdateselevation \!chr@verif\newif\if!chrbox
-
-\!chrverif\def\!chr!periodeschwarzodergrau{\def\!chr!stringtest{black}\ifx\!chr@color\!chrstringtest\def\!chr!periodeschwarzodergr@u{gray}\else\def\!chr!periodeschwarzodergr@u{black}\fi}
-
+%
+\!chrverif\def\!chr!periodeschwarzodergrau{\def\!chr!stringtest{black}%
+\ifx\!chr@color\!chrstringtest
+ \def\!chr!periodeschwarzodergr@u{gray}%
+\else
+ \def\!chr!periodeschwarzodergr@u{black}%
+\fi}%
+%
+%
+\!chr@verif\newdimen\!chrskipbefore
+\!chr@verif\newdimen\!chrskipafter
+%
\!chrverif\def\!chrdefaultoptions{startyear=\!chrdefaultstartyear, stopyear=\!chrdefaultstopyear,
startdate=\!chrdefaultstartdate, stopdate=\!chrdefaultstopdate,
height=\!chrdefaultheight, width=\!chrdefaultwidth, dates=\!chrdefaultdates, arrow=\!chrdefaultarrow,
arrowwidth=\!chrdefaultarrowwidth, arrowheight=\!chrdefaultarrowheight, color=\!chrdefaultcolor,
arrowcolor=\!chrdefaultarrowcolor, datesstyle=\!chrdefaultdatesstyle, dateselevation=\!chrdefaultdateselevation,
-box=\!chrdefaultbox, align=\!chrdefaultalign}
-
-\!chrverif\def\!chr@startyear{} \!chrverif\def\!chr@startdate{}%
-\!chrverif\def\!chr@stopyear{} \!chrverif\def\!chr@stopdate{}
-\!chrverif\def\!chr@height{} \!chrverif\def\!chr@width{}
+box=\!chrdefaultbox, align=\!chrdefaultalign}%
+%
+\!chrverif\def\!chr@startyear{}\!chrverif\def\!chr@startdate{}%
+\!chrverif\def\!chr@stopyear{}\!chrverif\def\!chr@stopdate{}%
+\!chrverif\def\!chr@height{}\!chrverif\def\!chr@width{}%
\!chrverif\def\!chr@dates{true}%
-\!chrverif\def\!chr@arrow{} \!chrverif\def\!chr@arrowwidth{} \!chrverif\def\!chr@arrowheight{}
-\!chrverif\def\!chr@color{}
-\!chrverif\def\!chr@arrowcolor{} \!chrverif\def\!chr@datesstyle{}
+\!chrverif\def\!chr@arrow{}\!chrverif\def\!chr@arrowwidth{}\!chrverif\def\!chr@arrowheight{}%
+\!chrverif\def\!chr@color{}%
+\!chrverif\def\!chr@arrowcolor{}\!chrverif\def\!chr@datesstyle{}%
\!chrverif\def\!chr@dateselevation{}%
-\!chrverif\def\!chr@box{} \!chrverif\def\!chr@align{}%
-
+\!chrverif\def\!chr@box{}\!chrverif\def\!chr@align{}%
+%
+%DOSTARTCHRONOLOGY
+%
\!chrverif\def\dostartchronology[#1]{\begingroup\parindent\z@\par
-\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter{\!chrdefaultoptions}{!chr@}
-\if!chronearg \!chrtraitingargvirgule{#1}{!chr@}\fi \!chrheight\!chr@height \!chrstartyear\!chr@startyear \!chrstopyear\!chr@stopyear \!chrwidth\!chr@width %
-\csname !chrdates\!chr@dates\endcsname \csname !chrarrow\!chr@arrow\endcsname \csname !chrstartdate\!chr@startdate\endcsname
-\csname !chrbox\!chr@box\endcsname %
-\csname !chrstopdate\!chr@stopdate\endcsname \!chrarrowwidth\!chr@arrowwidth \!chrarrowheight\!chr@arrowheight \!chrdateselevation\!chr@dateselevation%
+\global\!chrskipafter\z@
+\global\!chrskipbefore\z@
+\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter{\!chrdefaultoptions}{!chr@}%
+\if!chronearg \!chrtraitingargvirgule{#1}{!chr@}\fi
+\!chrheight\!chr@height \!chrstartyear\!chr@startyear
+\!chrstopyear\!chr@stopyear \!chrwidth\!chr@width %
+\csname !chrdates\!chr@dates\endcsname \csname !chrarrow\!chr@arrow\endcsname
+\csname !chrstartdate\!chr@startdate\endcsname \csname !chrbox\!chr@box\endcsname
+\csname !chrstopdate\!chr@stopdate\endcsname \!chrarrowwidth\!chr@arrowwidth
+\!chrarrowheight\!chr@arrowheight \!chrdateselevation\!chr@dateselevation%
\!chr!periodeschwarzodergrau%
-\dostartchronologyfinal}
-
-\!chrverif\def\dostartchronologyfinal{\unless\if!chrarrow\!chrarrowwidth\z@\relax\!chrarrowheight\z@\fi\!chr!realwidth\dimexpr\!chrwidth-\!chrarrowwidth\relax \ifdim\!chr!realwidth<0pt \advance\!chrwidth\dimen@ \advance\!chrarrowwidth-\!chr!realwidth \!chr!realwidth\z@\fi %
+\dostartchronologyfinal}%
+%
+\!chrverif\def\dostartchronologyfinal{%
+\unless\if!chrarrow
+ \!chrarrowwidth\z@\relax \!chrarrowheight\z@
+\fi
+\!chr!realwidth\dimexpr\!chrwidth-\!chrarrowwidth\relax
+\ifdim\!chr!realwidth<0pt\relax
+ \advance\!chrwidth\dimen@
+ \advance\!chrarrowwidth-\!chr!realwidth
+ \!chr!realwidth\z@
+\fi
\dimen@\dimexpr\!chrheight-\!chrarrowheight\relax
-\dimen@ii\dimen@\relax\ifdim\dimen@ii>0pt\relax\dimen@ii\z@\fi \dimen@i\dimexpr\!chrheight-\dimen@ii+\!chrdateselevation\relax%
-% %
+\dimen@ii\dimen@\relax
+\ifdim\dimen@ii>0pt\relax
+ \dimen@ii\z@
+\fi
+\dimen@i\dimexpr\!chrheight-\dimen@ii+\!chrdateselevation\relax
+% % %AFFICHAGE DE LA FRISE
\setbox\!chrflechebox\hbox{%
-\if!chrdates\if!chrstartdate\raise\dimen@i\relax % %
-\hbox to\z@{\hss\!chr@datesstyle{\the\!chrstartyear}\hss}\fi\fi%
-\starttikzpicture\filldraw[color=\!chr@color](0,0)--(\!chr!realwidth,0)--(\!chr!realwidth,\!chrheight)--(0,\!chrheight)--cycle;\if!chrbox\draw[color=black](-0.4pt,-0.4pt)--(\!chr!realwidth+0.4pt,-0.4pt)--(\!chr!realwidth+0.4pt,\!chrheight+0.4pt)--(-0.4pt,\!chrheight)--cycle;\fi %
-\if!chrarrow\ifx\!chr@color\!chr@arrowcolor\else\draw[color=\!chr!periodeschwarzodergr@u](\!chr!realwidth,0)--(\!chr!realwidth,\!chrheight);\fi\fi\stoptikzpicture %
-\if!chrdates\if!chrstopdate\raise\dimen@i\hbox to\z@{\hss\!chr@datesstyle{\the\!chrstopyear}\hss}\fi\fi%
-%
-\if!chrarrow\raise0.5\dimen@\hbox{\starttikzpicture\filldraw[color=\!chr@arrowcolor](0,0.5\!chrarrowheight)--(\!chrarrowwidth,0)--(0,-0.5\!chrarrowheight)--cycle;\if!chrbox\draw[color=black](-0.4pt,0.5\!chrarrowheight+0.4pt)--(\!chrarrowwidth+0.4pt,0)--(-0.4pt,-0.5\!chrarrowheight-0.4pt)--cycle;\fi \stoptikzpicture}\fi}%
-\count@\numexpr\!chrstopyear-\!chrstartyear\relax \ifnum\count@<0\relax\immediate\write16{Erreur avec les dates donn\'ees}\fi \!chr!unitperyear\dimexpr\!chr!realwidth/\count@\relax}
-
-
-\!chrverif\def\setupchronology#1{\!chrtraitingargvirgule{#1}{!chrdefault}}
+ \if!chrdates
+ \if!chrstartdate\raise\dimen@i\relax % %
+ \hbox to\z@{\hss\!chr@datesstyle{\the\!chrstartyear}\hss}%
+ \fi
+ \fi%
+% \!chrstarttikzpicture\!chrfilldraw[color=\!chr@color](0,0)--(\the\!chr!realwidth,0)--(\the\!chr!realwidth,\the\!chrheight)--(0,\the\!chrheight)--cycle;
+% \if!chrbox
+% \!chrdraw[color=black](-0.4pt,-0.4pt)--(\the\!chr!realwidth+0.4pt,-0.4pt)--(\the\!chr!realwidth+0.4pt,\the\!chrheight+0.4pt)--(-0.4pt,\the\!chrheight)--cycle;
+% \fi %
+% \if!chrarrow
+% \ifx\!chr@color\!chr@arrowcolor
+% \else \!chrdraw[color=\!chr!periodeschwarzodergr@u](\the\!chr!realwidth,0)--(\the\!chr!realwidth,\the\!chrheight);
+% \fi
+% \fi
+% \!chrstoptikzpicture %
+ \begingroup{%
+ \!chrusecolor{\!chr@color}%
+ \vrule width\!chr!realwidth height\!chrheight depth\z@\relax \kern-\!chr!realwidth\relax
+ \if!chrbox
+ \!chrusecolor{black}%
+ \hbox to\z@{\vrule width\!chr!realwidth height0.4pt\relax\hss}%
+ \raise\!chrheight\hbox to\z@{\vrule width\!chr!realwidth height0.4pt\relax\hss}%
+ \vrule height\!chrheight depth\z@\relax\kern-0.4pt\relax
+ \kern\!chr!realwidth \vrule height\!chrheight\relax\kern-0.4pt\relax
+ \kern-\!chr!realwidth
+ \fi
+ %\if!chrarrow
+ %\fi
+ \kern\!chr!realwidth
+ }%
+ \endgroup
+ \if!chrdates
+ \if!chrstopdate
+ \raise\dimen@i\hbox to\z@{\hss\!chr@datesstyle{\the\!chrstopyear}\hss}%
+ \fi
+ \fi%
+%
+ \if!chrarrow
+ \raise0.5\dimen@\hbox{%
+ \!chrstarttikzpicture
+ \!chrfilldraw[color=\!chr@arrowcolor](0,0.5*\the\!chrarrowheight-0.4pt)--(\the\!chrarrowwidth,0)--(0,-0.5*\the\!chrarrowheight)--cycle;
+ \if!chrbox
+ \!chrdraw[color=black](-0.4pt,0.5*\the\!chrarrowheight+0.4pt)--(\the\!chrarrowwidth+0.4pt,0)--(-0.4pt,-0.5*\the\!chrarrowheight-0.4pt)--cycle;
+ \fi
+ \!chrstoptikzpicture
+ \edef\@@string@a{\!chr@color}%
+ \edef\@@string@b{\!chr@arrowcolor}%
+ \ifx\@@string@a\@@string@b
+ \else
+ {\!chrusecolor{\!chr!periodeschwarzodergr@u}%
+ \kern-\!chrarrowwidth\kern-0.2pt\relax \hbox to\z@{\vrule height\dimexpr(\!chrarrowheight-\!chrheight)/2 + \!chrheight\relax depth\dimexpr(\!chrheight-\!chrarrowheight)/2\relax\hss}%
+ \kern\!chrarrowwidth\kern-0.2pt\relax}%
+ \fi
+ }%
+ \fi}%
+ \count@\numexpr\!chrstopyear-\!chrstartyear\relax
+ \ifnum\count@<0\relax
+ \immediate\write16{Erreur avec les dates donn\'ees}%
+ \fi
+ \!chr!unitperyear\dimexpr\!chr!realwidth/\count@\relax}%
+%
+%
+\!chrverif\def\setupchronology#1{\!chrtraitingargvirgule{#1}{!chrdefault}}%
+%
+%PERIODES
+%
\!chr@verif\newcount\!chr!periodecolornum\!chr@verif\newcount\!chr!starttingtraitement \!chr@verif\newdimen\!chr!dimentraitement
-\!chr@verif\newdimen\!chrperiodtextdepth \!chrverif\def\!chrperiodedefaulttextdepth{15pt}
+\!chr@verif\newdimen\!chrperiodtextdepth \!chrverif\def\!chrperiodedefaulttextdepth{15pt}%
\!chr@verif\newif\if!chrperioddates \!chr@verif\newif\if!chrperiodbox
\!chr@verif\newif\if!chrperiodstartdate \!chr@verif\newif\if!chrperiodstopdate \!chrverif\def\!chrperiodedefaultstartdate{true}
\!chr@verif\newif\if!chrperiodifcolorbox
\!chr@verif\newdimen\!chrperioddateselevation
\!chr@verif\newdimen\!chrperiodeventtextwidth
\!chr@verif\newdimen\!chrperiodbottomdepth \!chr@verif\newdimen\!chrperiodtopheight
-
+%
%alternance des couleurs
\!chr@verif\newcount\!chrperiodecoloralternancetotalnum
-\!chrverif\def\!chrperiodedefaultcolor{\chron@periodcolor}
-\!chrverif\def\!chrperiodedefa@@ultcolor{\chron@periodcolor}
-\!chrverif\def\!chrperiodedef@ultcolor{\!chrperiodedefaultcolor}
-\!chrverif\def\chron@periodcolor{\ifcase\!chr!periodecolornum blue\or red\or cyan\or purple\or yellow\fi}
+\!chrverif\def\!chrperiodedefaultcolor{\chronoperiodcolor}%
+\!chrverif\def\!chrperiodedefa@@ultcolor{\chronoperiodcolor}%
+\!chrverif\def\!chrperiodedef@ultcolor{\!chrperiodedefaultcolor}%
+\!chrverif\def\chronoperiodcolor{\ifcase\!chr!periodecolornum blue\or red\or cyan\or purple\or yellow\fi}%
\!chrperiodecoloralternancetotalnum5%
-\!chrverif\def\!chr!periodecolor{\edef\!chrperiodedef@ultcolor{\!chrperiodedefaultcolor}\ifx\!chrperiodedefaultcolor\!chrperiodedefa@@ultcolor\ifx\!chrperiodedef@ultcolor\!chr@color\!chr!periodecoloradvance\!chr!periodecolor \fi\fi}
+\!chrverif\def\!chr!periodecolor{\edef\!chrperiodedef@ultcolor{\!chrperiodedefaultcolor}%
+ \ifx\!chrperiodedefaultcolor\!chrperiodedefa@@ultcolor
+ \ifx\!chrperiodedef@ultcolor\!chr@color
+ \!chr!periodecoloradvance\!chr!periodecolor
+ \fi
+ \fi}%
\!chrverif\def\!chr!periodecoloradvance{\global\advance\!chr!periodecolornum\@ne\relax
-\ifnum\!chr!periodecolornum=\!chrperiodecoloralternancetotalnum\relax\global\!chr!periodecolornum\z@\fi}
-
-\!chrverif\def\restartchronoperiodecolor{\!chrtraiteoneargument\dorestartchronoperiodecolor}
+\ifnum\!chr!periodecolornum=\!chrperiodecoloralternancetotalnum\relax\global\!chr!periodecolornum\z@\fi}%
+%
+\!chrverif\def\restartchronoperiodecolor{\!chrtraiteoneargument\dorestartchronoperiodecolor}%
\!chrverif\def\dorestartchronoperiodecolor[#1]{%
-\if!chronearg \def\@@string@a{#1}%
-\!chr!periodecolornum\z@ %
-\dorestartchronoperiodecolor@ux
-\else\!chr!periodecolornum\z@\fi}
-\!chrverif\def\dorestartchronoperiodecolor@ux{\edef\@@string@b{\chron@periodcolor}\ifnum\!chr!periodecolornum<\!chrperiodecoloralternancetotalnum
-\unless\ifx\@@string@a\@@string@b
-\global\advance\!chr!periodecolornum\@ne
-\dorestartchronoperiodecolor@ux\fi\else\global\!chr!periodecolornum\z@\fi}
-
+\if!chronearg
+ \def\@@string@a{#1}%
+ \!chr!periodecolornum\z@ %
+ \dorestartchronoperiodecolor@ux
+\else
+ \!chr!periodecolornum\z@
+\fi}%
+\!chrverif\def\dorestartchronoperiodecolor@ux{\edef\@@string@b{\chronoperiodcolor}%
+\ifnum\!chr!periodecolornum<\!chrperiodecoloralternancetotalnum
+ \unless\ifx\@@string@a\@@string@b
+ \global\advance\!chr!periodecolornum\@ne
+ \dorestartchronoperiodecolor@ux
+ \fi
+\else\global\!chr!periodecolornum\z@\fi}%
+%
\!chrverif\def\chronoperiodecoloralternation#1{%
\def\@@string@s{\ifcase\!chr!periodecolornum}%
-\!chrperiodecoloralternancetotalnum\z@\!chr!chronoperiodecoloralternance#1,\end \let\chron@periodcolor\@@string@s}
-
+\!chrperiodecoloralternancetotalnum\z@\!chr!chronoperiodecoloralternance#1,\end \let\chronoperiodcolor\@@string@s
+\!chr!periodecolornum\z@}%
+%
\!chrverif\def\!chr!chronoperiodecoloralternance#1,{\advance\!chrperiodecoloralternancetotalnum\@ne
\expandafter\def\expandafter\@@string@s\expandafter{\@@string@s#1}%
-\ifnexttoken\end{\expandafter\def\expandafter\@@string@s\expandafter{\@@string@s\fi}\!gobble}%
-{\expandafter\def\expandafter\@@string@s\expandafter{\@@string@s\or}\!chr!chronoperiodecoloralternance}}
-
-
+\ifnexttoken\end {\expandafter\def\expandafter\@@string@s\expandafter{\@@string@s\fi}\!gobble}%
+{\expandafter\def\expandafter\@@string@s\expandafter{\@@string@s\or}\!chr!chronoperiodecoloralternance}}%
+%
+%
\!chrverif\def\!chr@periodtextdepth{}\!chrverif\def\!chr@perioddates{}%
\!chrverif\def\!chr@periodcolor{}\!chrverif\def\!chr@perioddatesstyle{}%
\!chrverif\def\!chr@periodstartdate{}\!chrverif\def\!chr@periodstopdate{}%
@@ -178,220 +296,475 @@ box=\!chrdefaultbox, align=\!chrdefaultalign}
\!chrverif\def\!chr@perioddateselevation{}%
\!chrverif\def\!chr@periodifcolorbox{}\!chrverif\def\!chr@periodcolorbox{}%
\!chrverif\def\!chr@periodbottomdepth{}\!chrverif\def\!chr@periodtopheight{}%
-\!chrverif\def\!chr@periodbox{}%
-
+\!chrverif\def\!chr@periodbox{}\!chrverif\def\!chr@periodtextwidth{}%
+%
+\!chrverif\def\!chreventdefaulttesttextwidth{\relax}%
+%
+%DOCHRONOPERIODE
+%
+%
\!chrverif\def\dochronoperiode[#1]#2#3#4{%
-\!chr!periodecolor
-\if!chronearg
-\!chrtraitingargvirgule{#1}{!chr@period}\fi
+\!chr!periodecolor %alternance automqatique des couleurs
+\if!chronearg \!chrtraitingargvirgule{#1}{!chr@period}\fi
+% % %
\!chrperiodtextdepth\!chr@periodtextdepth \!chrperiodtopheight\!chr@periodtopheight
\!chrperiodbottomdepth\!chr@periodbottomdepth
-\csname !chrperioddates\!chr@perioddates\endcsname \csname !chrperiodstartdate\!chr@periodstartdate\endcsname \csname !chrperiodstopdate\!chr@periodstopdate\endcsname
-\csname !chrperiodifcolorbox\!chr@periodifcolorbox\endcsname
+\csname !chrperioddates\!chr@perioddates\endcsname \csname !chrperiodstartdate\!chr@periodstartdate\endcsname
+\csname !chrperiodstopdate\!chr@periodstopdate\endcsname \csname !chrperiodifcolorbox\!chr@periodifcolorbox\endcsname
\csname !chrperiodbox\!chr@periodbox\endcsname
-\!chrperioddateselevation\!chr@perioddateselevation \advance\!chrperioddateselevation 1.25\!chrheight\relax
-\ifnum#2>\numexpr\!chrstartyear-1\relax\ifnum#2<\numexpr\!chrstopyear+1\relax\ifnum#3<\numexpr\!chrstopyear+1\relax \ifnum#3>\numexpr\!chrstartyear-1\relax\count@\numexpr#3-#2\relax\ifnum\count@>\z@\relax
+\ifx\!chr@periodtextwidth\!chreventdefaulttesttextwidth
+ \!chrperiodeventtextwidth=-1pt%
+\else
+ \!chrperiodeventtextwidth=\!chr@periodtextwidth%
+\fi
+\!chrperioddateselevation\!chr@perioddateselevation
+\advance\!chrperioddateselevation 1.25\!chrheight\relax
+% % %On s'assure que les dates sont biebn dans l'intervalle
+\ifnum#2>\numexpr\!chrstartyear-1\relax
+\ifnum#2<\numexpr\!chrstopyear+1\relax
+\ifnum#3<\numexpr\!chrstopyear+1\relax
+\ifnum#3>\numexpr\!chrstartyear-1\relax
+\count@\numexpr#3-#2\relax
+% % %Et que la seconde est post\'erieure \`a la pr\'emi\`ere
+\ifnum\count@>\z@\relax
+% %
\!chr!starttingtraitement\numexpr#2-\!chrstartyear\relax\dimen@\dimexpr\count@\!chr!unitperyear\relax
\!chr!dimentraitement\dimexpr\!chr!starttingtraitement\!chr!unitperyear\relax
-% %
+% %AFFICHAGE
\dimen@i\wd\!chrflechebox
-\setbox\!chrflechebox\hbox{\unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement
-\lower\dimexpr\!chrperiodtextdepth-\!chrperiodbottomdepth\relax\hbox to\z@
-{\hbox to\dimen@
-{\hss \if!chrperiodifcolorbox\expandafter\!chrperiodcolorbox\fi{\!chr@periodtextstyle{#4}}\hss}\hss}%
-\if!chrperioddates\if!chrperiodstartdate
-\raise\dimexpr\!chrperioddateselevation +(\!chrperiodtopheight-\!chrheight)\relax
-\hbox to\z@{\hss\!chr@perioddatesstyle{#2}\hss}\fi\fi
-\raise\!chrperiodbottomdepth \hbox{\starttikzpicture \filldraw [color=\!chr@periodcolor](\z@,\!chrperiodbottomdepth)--(\dimen@,\!chrperiodbottomdepth)--(\dimen@,\!chrperiodtopheight)--(\z@,\!chrperiodtopheight)--cycle;\draw[color=\!chr!periodeschwarzodergr@u](\z@,\!chrperiodbottomdepth)--(\z@,\!chrperiodtopheight);%
-\draw [color=\!chr!periodeschwarzodergr@u](\dimen@,\!chrperiodbottomdepth)--(\dimen@,\!chrperiodtopheight);%
-\if!chrbox\draw[color=black](\z@,-0.2pt)--(\dimen@,-0.2pt)\fi
-\if!chrperiodbox \draw[color=black](\z@,\!chrperiodbottomdepth)--(\dimen@,\!chrperiodbottomdepth);%
-\draw[color=black](\dimen@,\!chrperiodtopheight)--(\z@,\!chrperiodtopheight);\fi
-\stoptikzpicture}
-\if!chrperioddates\if!chrperiodstopdate
-\raise\dimexpr\!chrperioddateselevation+(\!chrperiodtopheight-\!chrheight)\relax
-\hbox to\z@
-{\hss \!chr@perioddatesstyle{#3}\hss}\fi\fi}\!chr!periodecoloradvance\fi\fi\fi\fi\fi}
-
-
-\!chrverif\def\setupchronoperiode{\def\@@string@a{periode}\!chrtraiteoneargument\dosetupchronoeventandperiode}
-
-
+\setbox\!chrflechebox\hbox{%
+ \unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement
+ \lower\dimexpr\!chrperiodtextdepth-\!chrperiodbottomdepth\relax\hbox to\z@{%
+ \ifdim\!chrperiodeventtextwidth < \z@ \hbox to\dimen@{%
+ \hss \if!chrperiodifcolorbox\expandafter\!chrperiodcolorbox\fi{\!chr@periodtextstyle{#4}}\hss
+ }%
+ \else
+ \setbox\z@\hbox to\dimen@{\hss\vbox{%
+ \hsize\!chrperiodeventtextwidth {\!chr@periodtextstyle{#4}}
+ }\hss}%
+ \dimen@i\wd\z@
+ \dimen@ii\dimexpr\ht\z@+\dp\z@\relax
+ \lower\dimexpr\dimen@ii-10pt\relax\hbox to\dimen@{%
+ \hss\setbox\z@\hbox{%
+ \vbox{%
+ \hsize\!chrperiodeventtextwidth\relax\!chr@periodtextstyle{#4}%
+ \vskip1pt
+ }%
+ }%
+ \dimen@i\dimexpr\wd\z@+4pt\relax
+ \dimen@ii\dimexpr\ht\z@+\dp\z@+2pt\relax
+ \setbox\z@\hbox to\z@{%
+ \hss\begingroup{\!chrusecolor{\!chr@periodcolorbox}\vrule height\dimen@ii width\dimen@i depth2pt}\endgroup\kern-\dimen@i\kern2pt\relax%
+ \box\z@\hss
+ }%
+ \box\z@\hss
+ }%
+ \fi
+ \hss
+ }%
+ \if!chrperioddates
+ \if!chrperiodstartdate
+ \raise\dimexpr\!chrperioddateselevation +(\!chrperiodtopheight-\!chrheight)\relax
+ \hbox to\z@{%
+ \hss\!chr@perioddatesstyle{#2}\hss
+ }%
+ \fi
+ \fi
+ \raise\!chrperiodbottomdepth \hbox{%
+ \begingroup {\!chrusecolor{\!chr@periodcolor}%
+ \dimen@i\dimexpr\!chrperiodtopheight-\!chrperiodbottomdepth\relax%
+ \vrule width\dimen@ height\dimen@i depth\z@\kern-\dimen@%
+% \!chrusecolor{black}%
+% \raise\dimen@i\hbox to\z@{\vrule height0.1pt depth0.3pt width\dimen@\hss}%
+% \hbox to\z@{\vrule height0.1pt depth0.3pt width\dimen@\hss}%
+ }\endgroup%%
+ \begingroup{%
+ \dimen@i\dimexpr\!chrperiodtopheight-\!chrperiodbottomdepth\relax%
+ \!chrusecolor{\!chr!periodeschwarzodergr@u}%
+ \kern-0.2pt\relax\vrule height\dimen@i width0.4pt\relax \kern-0.2pt\relax%
+ \kern\dimen@\relax
+ \kern-0.2pt\relax\vrule height\dimen@i width0.4pt\relax \kern-0.2pt\relax
+ \kern-\dimen@\relax
+ }%
+ \endgroup
+ \begingroup{%
+ \!chrusecolor{black}
+ \if!chrbox
+ \lower 0.2pt\hbox to\z@{\vrule width\dimen@\hss}%
+ \fi
+ \if!chrperiodbox
+ \raise \!chrperiodbottomdepth \hbox to\z@{\vrule width\dimen@\hss}%
+ \raise \!chrperiodtopheight \hbox to\z@{\vrule width\dimen@\hss}%
+ \fi
+ }%
+ \endgroup
+ \kern\dimen@\relax
+ }%
+ \if!chrperioddates
+ \if!chrperiodstopdate
+ \raise\dimexpr\!chrperioddateselevation+(\!chrperiodtopheight-\!chrheight)\relax
+ \hbox to\z@{%
+ \hss \!chr@perioddatesstyle{#3}\hss
+ }%
+ \fi
+ \fi
+}%
+\!chr!periodecoloradvance
+\fi\fi\fi\fi\fi}%
+%
+%
+\!chrverif\def\setupchronoperiode{\def\@@string@a{periode}\!chrtraiteoneargument\dosetupchronoeventandperiode}%
+%
+%EVENTS
+%
+%
\!chr@verif\newif\if!chreventspecifiedday\!chr@verif\newif\if!chreventspecifiedmonth \!chr@verif\newif\if!chreventbarre
\!chr@verif\newif\if!chreventdate \!chr@verif\newif\if!chreventmark
\!chr@verif\newif\if!chreventifcolorbox \!chr@verif\newif\if!chreventconversionmonth
\!chr@verif\newdimen\!chreventmarkdepth \!chr@verif\newif\if!chreventyear \!chr@verif\newdimen\!chreventiconheight
- \!chrverif\def\!chreventdefaultbarre{true}
-\!chrverif\def\!chreventdefaulticon{}
-\!chrverif\def\!chreventdefaultmarkdepth{10pt}
-\!chrverif\def\!chreventdefaulttextstyle{}
-
-
- \!chrverif\def\!chreventdefaulttesttextwidth{\relax}
-
-\!chrverif\def\!chreventevalspecification#1{\count@\z@\relax\!chreventev@lspecification#1/\end}
-\!chrverif\def\!chreventev@lspecification#1/{\advance\count@\@ne\relax\expandafter\def\csname !chreventspecifiedargument\number\count@\endcsname{#1}\ifnexttoken\end\!gobble\!chreventev@lspecification}
-
-\!chrverif\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}
-
-\!chrverif\def\!chr@eventbarre{} \!chrverif\def\!chr@eventicon{} \!chrverif\def\!chr@eventmarkdepth{}%
-\!chrverif\def\!chr@eventtextstyle{} \!chrverif\def\!chr@eventmark{}%
-\!chrverif\def\!chr@eventdate{} \!chrverif\def\!chr@eventdatesseparation{}%
-\!chrverif\def\!chr@eventconversionmonth{} \!chrverif\def\!chr@eventdatestyle{}%
-\!chrverif\def\!chr@eventdatesstyle{} \!chrverif\def\!chr@eventyear{} \!chrverif\def\!chr@eventiconheight{}%
-\!chrverif\def\!chr@eventifcolorbox{} \!chrverif\def\!chr@eventcolorbox{}%.
+ \!chrverif\def\!chreventdefaultbarre{true}%
+\!chrverif\def\!chreventdefaulticon{}%
+\!chrverif\def\!chreventdefaultmarkdepth{10pt}%
+\!chrverif\def\!chreventdefaulttextstyle{}%
+%
+%
+%
+\!chrverif\def\!chreventevalspecification#1{\count@\z@\relax\!chreventev@lspecification#1/\end}%
+\!chrverif\def\!chreventev@lspecification#1/{\advance\count@\@ne\relax\expandafter\def\csname
+!chreventspecifiedargument\number\count@\endcsname{#1}\ifnexttoken\end \!gobble \!chreventev@lspecification}%
+%
+\!chrverif\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}%
+%
+\!chrverif\def\!chr@eventbarre{}\!chrverif\def\!chr@eventicon{}\!chrverif\def\!chr@eventmarkdepth{}%
+\!chrverif\def\!chr@eventtextstyle{}\!chrverif\def\!chr@eventmark{}%
+\!chrverif\def\!chr@eventdate{}\!chrverif\def\!chr@eventdatesseparation{}%
+\!chrverif\def\!chr@eventconversionmonth{}\!chrverif\def\!chr@eventdatestyle{}%
+\!chrverif\def\!chr@eventdatesstyle{}\!chrverif\def\!chr@eventyear{}\!chrverif\def\!chr@eventiconheight{}%
+\!chrverif\def\!chr@eventifcolorbox{}\!chrverif\def\!chr@eventcolorbox{}%.
\!chrverif\def\!chr@eventtextwidth{}%
-
+%
+\!chr@verif\newif\if!chreventlocationup
+%
+%
+%DOCHRONOEVENT
+%
+%
\!chrverif\def\dochronoevent[#1]#2#3{%
\if!chronearg \!chrtraitingargvirgule{#1}{!chr@event}\fi
+% % %
\csname !chreventbarre\!chr@eventbarre\endcsname
\csname !chreventmark\!chr@eventmark\endcsname
\csname !chreventdate\!chr@eventdate\endcsname
\csname !chreventconversionmonth\!chr@eventconversionmonth\endcsname
\csname !chreventyear\!chr@eventyear\endcsname
\csname !chreventifcolorbox\!chr@eventifcolorbox\endcsname
-\!chreventmarkdepth\!chr@eventmarkdepth \!chreventiconheight\!chr@eventiconheight
-\ifx\!chr@eventtextwidth\!chreventdefaulttesttextwidth \!chrperiodeventtextwidth=-1pt%
-\else \!chrperiodeventtextwidth\!chr@eventtextwidth\fi
-\!chreventevalspecification{#2}\ifnum\count@<4\relax
-\ifcase\count@\or\!chreventspecifieddayfalse\!chreventspecifiedmonthfalse
-\edef\!chreventyear{\csname !chreventspecifiedargument1\endcsname}\or \!chreventspecifieddayfalse\!chreventspecifiedmonthtrue
-\edef\!chreventyear{\csname !chreventspecifiedargument2\endcsname}\edef\!chreventmonth{\csname !chreventspecifiedargument1\endcsname}%
-\or \!chreventspecifieddaytrue\!chreventspecifiedmonthtrue
-\edef\!chreventyear{\csname !chreventspecifiedargument3\endcsname}\edef\!chreventmonth{%
-\csname !chreventspecifiedargument2\endcsname}\edef\!chreventday{\csname !chreventspecifiedargument1\endcsname}\fi %
-\ifnum\!chreventyear>\numexpr\!chrstartyear-1\relax\ifnum\!chreventyear<\numexpr\!chrstopyear+1\relax
-\if!chreventspecifiedmonth\if!chreventspecifiedday \count@\numexpr\!chreventday+\!chreventmonth*30\relax\else %
-\count@\numexpr\!chreventmonth*30\relax\fi\else\count@\z@\fi %
-\!chr!dimentraitement\dimexpr(\!chr!unitperyear)/365*\count@\relax%
-\count@\numexpr\!chreventyear-\!chrstartyear\relax \advance\!chr!dimentraitement\dimexpr\count@\!chr!unitperyear\relax
-% %
-\dimen@i\wd\!chrflechebox
-\setbox\!chrflechebox\hbox{\unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement
-\if!chreventbarre
-\starttikzpicture \draw[color=black](0,0)--(0,\!chrheight); \stoptikzpicture \fi
-\kern-0.4pt\raise\!chreventiconheight \hbox to\z@{\hss\!chr@eventicon\hss}\lower\dimexpr\!chreventmarkdepth+2pt\relax\hbox to\z@{\vbox
-to\z@{\ifdim\!chreventmarkdepth<0pt\relax\vss\fi
-\if!chreventdate\hbox to\z@
-{\hss \if!chreventifcolorbox \expandafter\!chreventcolorbox\fi {\!chr@eventdatestyle{\if!chreventspecifiedday %
-{\!chr@eventdatesstyle{\!chreventday}}\!chr@eventdatesseparation\fi{\!chr@eventdatesstyle{\if!chreventspecifiedmonth
-\if!chreventconversionmonth\expandafter \chron@selectmonth\fi \!chreventmonth\fi}}\if!chreventspecifiedmonth\if!chreventyear \!chr@eventdatesseparation\fi\fi \if!chreventyear{\!chr@eventdatesstyle{\!chreventyear}}\fi%
-}}\hss}\fi
-\ifdim\!chrperiodeventtextwidth > \z@
-\vbox to \z@{
-\hbox to\z@{\hss\setbox\z@\hbox{\vbox
-{\hsize\!chrperiodeventtextwidth\relax\!chr@eventtextstyle{#3}}}%
-\dimen@i\wd\z@
-\dimen@ii\dimexpr\ht\z@+\dp\z@\relax
-\setbox\z@\hbox to\z@{\hss\starttikzpicture \fill[color=\!chr@eventcolorbox]%
-(\z@,\z@)--(\dimen@i,\z@)--(\dimen@i,\dimen@ii)--(\z@,\dimen@ii);\stoptikzpicture\kern-\dimen@i
-\box\z@\hss}\box\z@}\vss}
-\else \hbox to\z@
-{\hss\if!chreventifcolorbox\expandafter\!chreventcolorbox\fi{%
-\!chr@eventtextstyle{#3}}\hss}%
-\fi \ifdim\!chreventmarkdepth>0pt\relax\vss\fi}}\if!chreventmark\ifdim\!chreventmarkdepth<0pt\starttikzpicture \draw(0,0)--(0,\!chreventmarkdepth+5pt);\stoptikzpicture\else \vrule height0pt depth\!chreventmarkdepth\fi\fi
-\setbox0\vbox{\if!chreventdate\hbox{#2}\fi\hbox{%
-\ifdim\!chrperiodeventtextwidth > \z@ \vbox {\hsize\!chrperiodeventtextwidth #3}%
-\else #3\fi }}\lower\dimexpr\dp0+\ht0+\!chreventmarkdepth+2pt\relax\hbox{}%
-}
-\fi\fi\fi}
-
-\!chrverif\def\setupchronoevent{\def\@@string@a{event}\!chrtraiteoneargument\dosetupchronoeventandperiode}
+\!chreventmarkdepth\!chr@eventmarkdepth
+\!chreventiconheight\!chr@eventiconheight
+\ifx\!chr@eventtextwidth\!chreventdefaulttesttextwidth
+ \!chrperiodeventtextwidth=-1pt%
+\else \!chrperiodeventtextwidth\!chr@eventtextwidth
+\fi
+\ifdim\!chreventmarkdepth<\z@\relax
+ \!chreventlocationuptrue
+\else
+ \!chreventlocationupfalse
+\fi
+% % % Evaluation de la precision de la date de l'evenement
+\!chreventevalspecification{#2}%
+\ifnum\count@<4\relax
+ \ifcase\count@
+ \or \!chreventspecifieddayfalse\!chreventspecifiedmonthfalse
+ \edef\!chreventyear{\csname !chreventspecifiedargument1\endcsname}%
+ \or \!chreventspecifieddayfalse\!chreventspecifiedmonthtrue
+ \edef\!chreventyear{\csname !chreventspecifiedargument2\endcsname}%
+ \edef\!chreventmonth{\csname !chreventspecifiedargument1\endcsname}%
+ \or \!chreventspecifieddaytrue\!chreventspecifiedmonthtrue
+ \edef\!chreventyear{\csname !chreventspecifiedargument3\endcsname}%
+ \edef\!chreventmonth{\csname !chreventspecifiedargument2\endcsname}%
+ \edef\!chreventday{\csname !chreventspecifiedargument1\endcsname}%
+ \fi %
+% %On s'assure que les dates sont bien comprises dans les bornes
+\ifnum\!chreventyear>\numexpr\!chrstartyear-1\relax
+\ifnum\!chreventyear<\numexpr\!chrstopyear+1\relax
+ \if!chreventspecifiedmonth
+ \if!chreventspecifiedday
+ \count@\numexpr\!chreventday+\!chreventmonth*30\relax
+ \else %
+ \count@\numexpr\!chreventmonth*30\relax
+ \fi
+ \else \count@\z@
+ \fi %
+ \!chr!dimentraitement\dimexpr(\!chr!unitperyear)/365*\count@\relax%
+ \count@\numexpr\!chreventyear-\!chrstartyear\relax
+ \advance\!chr!dimentraitement\dimexpr\count@\!chr!unitperyear\relax
+% % % Affichage
+ \dimen@i\wd\!chrflechebox
+ \setbox\!chrflechebox\hbox{%
+ \unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement
+ \if!chreventbarre
+ \begingroup{%
+ \!chrusecolor{black}%
+ \kern-0.4pt\relax\vrule width0.4pt height\!chrheight depth\z@\relax
+ }%
+ \endgroup
+ \fi
+ \kern-0.4pt\raise\!chreventiconheight \hbox to\z@{\hss\!chr@eventicon\hss}%
+ \lower\dimexpr\!chreventmarkdepth+2pt\relax
+ \hbox to\z@{%
+ \vbox to\z@{%
+ \if!chreventlocationup\relax\vss\fi
+ \if!chreventdate\hbox to\z@{%
+ \hss \if!chreventifcolorbox \expandafter\!chreventcolorbox\fi
+ {\!chr@eventdatestyle{%
+ \if!chreventspecifiedday %
+ {\!chr@eventdatesstyle{\!chreventday}}\!chr@eventdatesseparation
+ \fi
+ {\!chr@eventdatesstyle{%
+ \if!chreventspecifiedmonth
+ \if!chreventconversionmonth\expandafter \chron@selectmonth
+ \fi
+ \!chreventmonth
+ \fi
+ }%
+ }%
+ \if!chreventspecifiedmonth\if!chreventyear \!chr@eventdatesseparation\fi\fi
+ \if!chreventyear{\!chr@eventdatesstyle{\!chreventyear}}\fi%
+ }}%
+ \hss
+ }%
+ \fi
+ \ifdim\!chrperiodeventtextwidth > \z@
+ \hbox to\z@{%
+ \hss\setbox\z@\hbox{%
+ \vbox{%
+ \hsize\!chrperiodeventtextwidth\relax\!chr@eventtextstyle{#3}%
+ \vskip1pt\relax
+ }%
+ }%
+ \dimen@i\dimexpr\wd\z@+4pt\relax
+ \dimen@ii\dimexpr\ht\z@+\dp\z@+2pt\relax
+ \setbox\z@\hbox to\z@{%
+ \hss\begingroup{\!chrusecolor{\!chr@eventcolorbox}\vrule height\dimen@ii width\dimen@i depth2pt\relax}\endgroup \kern-\dimen@i\kern2pt\relax%
+ \box\z@\hss
+ }%
+ \box\z@
+ }%
+ \else
+ \hbox to\z@{%
+ \hss\if!chreventifcolorbox\expandafter\!chreventcolorbox\fi{%
+ \!chr@eventtextstyle{#3}}\hss
+ }%
+ \fi
+ \unless\if!chreventlocationup\relax\vss\fi
+ }%
+ }%
+ \if!chreventmark
+ \if!chreventlocationup\relax
+ %\!chrstarttikzpicture \!chrdraw(0,0)--(0,\the\!chreventmarkdepth+5pt);\!chrstoptikzpicture
+ \vrule height\dimexpr-\!chreventmarkdepth-5pt\relax depth\z@ \kern-0.4pt\relax
+ \else \vrule height\z@ depth\!chreventmarkdepth
+ \fi
+ \kern-0.4pt\relax
+ \fi
+ \setbox0\vbox{%
+ \if!chreventdate
+ \hbox{#2}%
+ \fi
+ \hbox{%
+ \ifdim\!chrperiodeventtextwidth > \z@
+ \vbox {%
+ \hsize\!chrperiodeventtextwidth #3%
+ }%
+ \else #3%
+ \fi
+ }%
+ }%
+ \begingroup\dimen@\dimexpr\dp0+\ht0+2pt\relax
+ \dimen@i\dimexpr\dimen@-\!chreventmarkdepth\relax
+ \if!chreventlocationup
+ \ifdim \dimen@i >\!chrskipbefore \global\!chrskipbefore\dimen@i \fi
+ \else
+ \ifdim \dimen@ >\!chrskipafter \global\!chrskipafter\dimen@ \fi
+ \fi
+ \endgroup
+ }%
+\fi\fi\fi}%
+%
+%
+%
+%
+%
+%
+%
+\!chrverif\def\setupchronoevent{\def\@@string@a{event}\!chrtraiteoneargument\dosetupchronoeventandperiode}%
\!chrverif\def\dosetupchronoeventandperiode[#1]#2{\if!chronearg
-\def\@@string@a{#1}\fi \!chr@parcoursoptions#2,\end}
-
+\def\@@string@a{#1}\fi \!chr@parcoursoptions#2,\end}%
+%
+%STOPCHRONOLOGY
+%
+%
\!chr@verif\newdimen\!chrstopwidth
-\!chrverif\def\!chrstopcenteralign{\!chrstopwidth\dimexpr(\hsize-\!chrwidth)/2\relax}
-\!chrverif\def\!chrstopleftalign{\!chrstopwidth\z@}
-\!chrverif\def\!chrstoprightalign{\!chrstopwidth\dimexpr\hsize-\!chrwidth\relax}
-
-\!chrverif\def\stopchronology{\goodbreak\ifcsname !chrstop\!chr@align align\endcsname \csname !chrstop\!chr@align align\endcsname \else\!chrstopwidth\z@\fi \moveright\!chrstopwidth\box\!chrflechebox\endgroup\bigskip}
-
+\!chrverif\def\!chrstopcenteralign{\!chrstopwidth\dimexpr(\hsize-\!chrwidth)/2\relax}%
+\!chrverif\def\!chrstopleftalign{\!chrstopwidth\z@}%
+\!chrverif\def\!chrstoprightalign{\!chrstopwidth\dimexpr\hsize-\!chrwidth\relax}%
+%
+\!chrverif\def\stopchronology{\goodbreak
+\ifcsname !chrstop\!chr@align align\endcsname
+ \csname !chrstop\!chr@align align\endcsname
+\else\!chrstopwidth\z@
+\fi
+\vskip\!chrskipbefore
+\moveright\!chrstopwidth\box\!chrflechebox
+\vskip\!chrskipafter
+\endgroup\bigskip}%
+%
\!chr@verif\newif\if!chrverifdefines
-\!chrverif\def\!chrverifdefines{\ifcsname chrono\@@string@a\endcsname \!chrverifdefinesfalse \immediate\write16{Attention : macro \expandafter\noexpand\csname chrono\@@string@a\endcsname deja definie.}\expandafter\!gobble \else\!chrverifdefinestrue\expandafter\!chrverifdefines@ux\fi}
-\!chrverif\def\!chrverifdefines@ux{\expandafter\def\csname chrono\@@string@a\endcsname}
-
+\!chrverif\def\!chrverifdefines{%
+ \ifcsname chrono\@@string@a\endcsname
+ \!chrverifdefinesfalse \immediate\write16{Attention : macro \expandafter\noexpand\csname chrono\@@string@a\endcsname deja definie.}%
+ \expandafter\!gobble
+ \else
+ \!chrverifdefinestrue
+ \expandafter\!chrverifdefines@ux
+ \fi}%
+\!chrverif\def\!chrverifdefines@ux{\expandafter\def\csname chrono\@@string@a\endcsname}%
+%
+%
+%DEFINECHRONOEVENT
+%
+%
\!chrverif\def\definechronoevent#1{%
\def\@@string@a{#1}%
\!chrverifdefines{%
\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter\expandafter\expandafter{\csname !chr#1defaultoptions\endcsname}{!chr@event}%
\!chrtraiteoneargument\dochronoevent}%
\if!chrverifdefines
-\expandafter\def\csname !chr#1defaultoptions\endcsname{barre=true, icon=\relax,
-markdepth=10pt, textstyle=\relax, mark=true,
-date=true, datesseparation=\space, conversionmonth=true,
-datestyle=\relax, datesstyle=\relax, year=true,
-iconheight=0.5\!chrheight, ifcolorbox=true, colorbox=white,
-textwidth=\relax}\fi
-\ifnexttoken[{\!chr@defineorsetupoptions}{}}
-
+ \expandafter\def\csname !chr#1defaultoptions\endcsname{barre=true, icon=\relax,%
+ markdepth=10pt, textstyle=\relax, mark=true,%
+ date=true, datesseparation=\space, conversionmonth=true,%
+ datestyle=\relax, datesstyle=\relax, year=true,%
+ iconheight=0.5\!chrheight, ifcolorbox=true, colorbox=white,%
+ textwidth=\relax}%
+\fi
+\ifnexttoken[{\!chr@defineorsetupoptions}{}}%
+%
+%
+%DEFINECHRONOPERIODE
+%
+%
\!chrverif\def\definechronoperiode#1{%
\def\@@string@a{#1}%
\!chrverifdefines{%
\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter\expandafter\expandafter{\csname !chr#1defaultoptions\endcsname}{!chr@period}%
\!chrtraiteoneargument\dochronoperiode}%
\if!chrverifdefines
-\expandafter\def\csname !chr#1defaultoptions\endcsname{textdepth=15pt, dates=true,
-color=\!chrperiodedef@ultcolor, datesstyle=\relax,
-startdate=true, stopdate=true, textstyle=\relax,
-dateselevation=0pt, ifcolorbox=true,
-colorbox=white, bottomdepth=0pt, topheight=\!chrheight, box=false}\fi
-\ifnexttoken[{\!chr@defineorsetupoptions}{}}
-
+ \expandafter\def\csname !chr#1defaultoptions\endcsname{textdepth=15pt, dates=true,%
+ color=\!chrperiodedef@ultcolor, datesstyle=\relax,%
+ startdate=true, stopdate=true, textstyle=\relax,%
+ dateselevation=0pt, ifcolorbox=true,%
+ colorbox=white, bottomdepth=0pt, topheight=\!chrheight, box=false,%
+ textwidth=\relax}%
+\fi
+\ifnexttoken[{\!chr@defineorsetupoptions}{}}%
+%
+%pour modifier les valeurs par d\'efaut
+%
\!chrverif\def\!chr@defineorsetupoptions[#1]{%
\!chr@parcoursoptions#1,\end
-}
-
-\!chrverif\def\!chr@parcoursoptions#1,{\!chr@replaceoptions#1,=\end,\ifnexttoken\end\!gobble\!chr@parcoursoptions}
-\!chrverif\def\!chr@replaceoptions#1=#2,{\ifx#2\end\relax\else
-\def\@@string@f{}%
-\def\@@string@c{#1}\def\@@string@d{#2}%
-\expandafter\let\expandafter\@@string@@b\csname !chr\@@string@a defaultoptions\endcsname
-\expandafter\!chr@replaceoptionsaux\@@string@@b,\end%
-\expandafter\let\csname !chr\@@string@a defaultoptions\endcsname\@@string@f
-\expandafter\!gobblethree\fi}
-
-\!chrverif\def\!chr@replaceoptionsaux#1,{\!chr@replaceoptions@ux#1,=\end, \ifnexttoken\end\!gobble\!chr@replaceoptionsaux}
+}%
+%
+\!chrverif\def\!chr@parcoursoptions#1,{\!chr@replaceoptions#1,=\end,\ifnexttoken\end \!gobble \!chr@parcoursoptions}%
+\!chrverif\def\!chr@replaceoptions#1=#2,{%
+\ifx#2\end\relax
+\else
+ \def\@@string@f{}%
+ \def\@@string@c{#1}\def\@@string@d{#2}%
+ \expandafter\let\expandafter\@@string@@b\csname !chr\@@string@a defaultoptions\endcsname
+ \expandafter\!chr@replaceoptionsaux\@@string@@b,\end%
+ \expandafter\let\csname !chr\@@string@a defaultoptions\endcsname\@@string@f
+ \expandafter\!gobblethree
+\fi}%
+%
+\!chrverif\def\!chr@replaceoptionsaux#1,{\!chr@replaceoptions@ux#1,=\end,\ifnexttoken\end\!gobble\!chr@replaceoptionsaux}%
\!chrverif\def\!chr@replaceoptions@ux#1=#2,{%
-\ifx#2\end\relax\else
-\def\@@string@e{#1} \ifx\@@string@c\@@string@e
-\expandafter\def\expandafter\@@string@f\expandafter{\@@string@f , #1=}%
-\expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\@@string@f\expandafter\expandafter\expandafter{\expandafter\@@string@f\@@string@d}%
-\else \expandafter\def\expandafter\@@string@f\expandafter{\@@string@f , #1=#2}\fi\expandafter\!gobblethree\fi
-}
-
-
+\ifx#2\end\relax
+\else
+ \def\@@string@e{#1}%
+ \ifx\@@string@c\@@string@e
+ \expandafter\def\expandafter\@@string@f\expandafter{\@@string@f , #1=}%
+ \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\@@string@f\expandafter\expandafter\expandafter{\expandafter\@@string@f\@@string@d}%
+ \else
+ \expandafter\def\expandafter\@@string@f\expandafter{\@@string@f , #1=#2}%
+ \fi
+ \expandafter\!gobblethree
+\fi
+}%
+%
+%
\!chr@verif\newcount\!chrgraduationcount
\!chr@verif\newcount\!chrgraduationcount@ux
\newif\if!chrgradu@tionevent \!chrgradu@tioneventtrue
-\!chrverif\def\chronograduation{\!chrtraitetwoargument\dochronograduation}
+\!chrverif\def\chronograduation{\!chrtraitetwoargument\dochronograduation}%
\!chrverif\def\dochronograduation[#1][#2]#3{%
\if!chrtwoarg
-\def\@@string@a{#2}%
-\def\@@string@b{#1}\def\@@string@c{event}\def\@@string@d{periode}%
-\ifx\@@string@b\@@string@c \!chrgradu@tioneventtrue \else
-\ifx\@@string@b\@@string@d \!chrgradu@tioneventfalse\else \immediate\write16{chronosys : style #1 non défini}\fi\fi
-\else \def\@@string@a{#1}\fi
+ \def\@@string@a{#2}%
+ \def\@@string@b{#1}\def\@@string@c{event}%
+ \def\@@string@d{periode}%
+ \ifx\@@string@b\@@string@c
+ \!chrgradu@tioneventtrue
+ \else
+ \ifx\@@string@b\@@string@d
+ \!chrgradu@tioneventfalse
+ \else
+ \def\@@string@e{}\unless\ifx\@@string@b\@@string@e\immediate\write16{chronosys : style #1 non défini ligne \number\inputlineno}\fi
+ \fi
+ \fi
+\else \def\@@string@a{#1}%
+\fi
\!chrgraduationcount\!chrstartyear
\if!chrgradu@tionevent
-\loop \advance\!chrgraduationcount#3\ifnum\!chrgraduationcount<\!chrstopyear \expandafter\chrono!!eventgradu@tion\expandafter[\@@string@a]{\number\!chrgraduationcount}{}\repeat
-\else \def\@@string@e{startdate=true,}%
-\expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\@@string@e\expandafter\expandafter\expandafter{\expandafter\@@string@e\@@string@a}%
-\expandafter\chrono!!periodegradu@tion\expandafter[\@@string@e]{\number\!chrgraduationcount}{#3}{}\restartchronoperiodecolor
-\loop \advance\!chrgraduationcount#3\ifnum\!chrgraduationcount<\!chrstopyear \!chrgraduationcount@ux\numexpr\!chrgraduationcount-#3\relax \expandafter\chrono!!periodegradu@tion\expandafter[\@@string@a]{\number\!chrgraduationcount@ux}{\number\!chrgraduationcount}{}\repeat
-\fi}
-
-\!chrverif\def\setupchronograduation{\!chrtraiteoneargument\dosetupchronograduation}
+ \loop
+ \advance\!chrgraduationcount#3%
+ \ifnum\!chrgraduationcount<\!chrstopyear
+ \expandafter\chrono!!eventgradu@tion
+ \expandafter[\@@string@a]{\number\!chrgraduationcount}{}%
+ \repeat
+\else
+ \def\@@string@e{startdate=true,}%
+ \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\@@string@e\expandafter\expandafter\expandafter{\expandafter\@@string@e\@@string@a}%
+ \expandafter\chrono!!periodegradu@tion\expandafter[\@@string@e]{\number\!chrgraduationcount}{#3}{}%
+ \restartchronoperiodecolor
+ \loop
+ \advance\!chrgraduationcount#3%
+ \ifnum\!chrgraduationcount<\!chrstopyear
+ \!chrgraduationcount@ux\numexpr\!chrgraduationcount-#3\relax \expandafter\chrono!!periodegradu@tion\expandafter[\@@string@a]{\number\!chrgraduationcount@ux}{\number\!chrgraduationcount}{}%
+ \repeat
+\fi}%
+%
+\!chrverif\def\setupchronograduation{\!chrtraiteoneargument\dosetupchronograduation}%
\!chrverif\def\dosetupchronograduation[#1]{%
\if!chronearg
-\def\@@string@b{#1}\def\@@string@c{event}\def\@@string@d{periode}%
-\ifx\@@string@b\@@string@c \!chrgradu@tioneventtrue \else
-\ifx\@@string@b\@@string@d \!chrgradu@tioneventfalse\fi\fi \fi
-\if!chrgradu@tionevent \def\@@string@a{[!!eventgradu@tion]}\else\def\@@string@a{[!!periodegradu@tion]}\fi
-\expandafter\setupchronoevent\@@string@a}
-
-\definechronoevent{event}
-\definechronoevent{!!eventgradu@tion}[markdepth=5pt,barre=false, ifcolorbox=false]
-\definechronoperiode{periode}
-\definechronoperiode{!!periodegradu@tion}[dateselevation=-10pt,
-startdate=false, ifcolorbox=false]
+ \def\@@string@b{#1}\def\@@string@c{event}\def\@@string@d{periode}%
+ \ifx\@@string@b\@@string@c
+ \!chrgradu@tioneventtrue
+ \else
+ \ifx\@@string@b\@@string@d
+ \!chrgradu@tioneventfalse
+ \fi
+ \fi
+\fi
+\if!chrgradu@tionevent
+ \def\@@string@a{[!!eventgradu@tion]}%
+\else \def\@@string@a{[!!periodegradu@tion]}%
+\fi
+\expandafter\setupchronoevent\@@string@a}%
+%
+\definechronoevent{event}%
+\definechronoevent{!!eventgradu@tion}[markdepth=5pt,barre=false, ifcolorbox=false]%
+\definechronoperiode{periode}%
+\definechronoperiode{!!periodegradu@tion}[dateselevation=-10pt,%
+startdate=false, ifcolorbox=false]%
+%
+\endinput
+%
+% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex b/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex
index db9456b2527..0e647c91738 100644
--- a/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex
+++ b/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex
@@ -23,41 +23,57 @@
%
% The Current Maintainer of this work is Mathieu Long.
%
-\usemodule[tikz]
-\catcode`\@=11
-\catcode`\!=11
-\def\!chr@verif#1#2{\ifdefined#2\error!message \fi #1#2} %
-\defineframed[chreventframedcolorbox][background=color,backgroundcolor=\!chr@eventcolorbox,frame=off,backgroundoffset=\z@,location=low]
-\defineframed[chrperiodframedcolorbox][background=color,backgroundcolor=\!chr@periodcolorbox,frame=off,backgroundoffset=\z@,location=low]
+% % % %
+%
+%Charger Tikz si MKII ou non si MKIV
+\startnotmode[mkiv]%
+\usemodule[tikz]%
+\stopnotmode
+%
+%CHANGEMENT DES CATCODES
+\catcode`\@=11%
+\catcode`\!=11%
+%
+%DEFINITION DE \!CHR@VERIF
+\def\!chr@verif#1#2{\ifdefined#2\error!message \fi #1#2}%
+%
+%DEFINITION DES SYSTEMES DE COLORISATION DU FOND DES EVENEMENTS ET PERIODE
+\defineframed[chreventframedcolorbox][background=color,backgroundcolor=\!chr@eventcolorbox,frame=off,backgroundoffset=\z@,location=low]%
+\defineframed[chrperiodframedcolorbox][background=color,backgroundcolor=\!chr@periodcolorbox,frame=off,backgroundoffset=\z@,location=low]%
\let\!chreventcolorbox\chreventframedcolorbox
\let\!chrperiodcolorbox\chrperiodframedcolorbox
-\input chronosyschr.tex
-
-\def\setupchronology{\dosingleempty\dosetupchronology}
-\def\dosetupchronology[#1]{\iffirstargument \!chrtraitingargvirgule{#1}{!chrdefault}\fi}
-
-\def\setupchronoevent{\def\@@string@a{event}\dodoubleempty\dosetupchronoeventandperiode}
+%
+%CHARGER CHRONOSYSCHR
+\input chronosyschr.tex%
+%
+%READAPTER LA SYNTAXE A CELLE DE CONTEXT
+%
+\def\setupchronology{\dosingleempty\dosetupchronology}%
+\def\dosetupchronology[#1]{\iffirstargument \!chrtraitingargvirgule{#1}{!chrdefault}\fi}%
+%
+\def\setupchronoevent{\def\@@string@a{event}\dodoubleempty\dosetupchronoeventandperiode}%
\def\dosetupchronoeventandperiode[#1][#2]{\iffirstargument
\ifsecondargument
-\def\@@string@a{#1}\def\@@string@b{#2}\else\def\@@string@b{#1}\fi \expandafter\!chr@parcoursoptions\@@string@b,\end\fi}
-
-\def\setupchronoperiode{\def\@@string@a{periode}\dodoubleempty\dosetupchronoeventandperiode}
-\def\definechronoperiode{\dosingleempty\dodefinechronoperiode}
-\!chrverif\def\dodefinechronoperiode[#1]{%
+\def\@@string@a{#1}\def\@@string@b{#2}\else\def\@@string@b{#1}\fi \expandafter\!chr@parcoursoptions\@@string@b,\end\fi}%
+%
+\def\setupchronoperiode{\def\@@string@a{periode}\dodoubleempty\dosetupchronoeventandperiode}%
+\def\definechronoperiode{\dosingleempty\dodefinechronoperiode}%
+\def\dodefinechronoperiode[#1]{%
\iffirstargument
\def\@@string@a{#1}%
\!chrverifdefines{%
\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter\expandafter\expandafter{\csname !chr#1defaultoptions\endcsname}{!chr@period}%
\!chrtraiteoneargument\dochronoperiode}%
\if!chrverifdefines
-\expandafter\def\csname !chr#1defaultoptions\endcsname{textdepth=15pt, dates=true,
-color=\!chrperiodedef@ultcolor, datesstyle=\relax,
-startdate=true, stopdate=true, textstyle=\relax,
-dateselevation=0pt, ifcolorbox=true,
-colorbox=white, bottomdepth=0pt, topheight=\!chrheight}\fi\fi
-\ifnexttoken[{\!chr@defineorsetupoptions}{}}
-
-\def\definechronoevent{\dosingleempty\dodefinechronoevent}
+\expandafter\def\csname !chr#1defaultoptions\endcsname{textdepth=15pt, dates=true,%
+ color=\!chrperiodedef@ultcolor, datesstyle=\relax,%
+ startdate=true, stopdate=true, textstyle=\relax,%
+ dateselevation=0pt, ifcolorbox=true,%
+ colorbox=white, bottomdepth=0pt, topheight=\!chrheight, box=false,%
+ textwidth=\relax}\fi\fi
+\ifnexttoken[{\!chr@defineorsetupoptions}{}}%
+%
+\def\definechronoevent{\dosingleempty\dodefinechronoevent}%
\!chrverif\def\dodefinechronoevent[#1]{%
\iffirstargument
\def\@@string@a{#1}%
@@ -65,18 +81,47 @@ colorbox=white, bottomdepth=0pt, topheight=\!chrheight}\fi\fi
\expandafter\expandafter\expandafter\!chrtraitingargvirgule\expandafter\expandafter\expandafter{\csname !chr#1defaultoptions\endcsname}{!chr@event}%
\!chrtraiteoneargument\dochronoevent}%
\if!chrverifdefines
-\expandafter\def\csname !chr#1defaultoptions\endcsname{barre=true, icon=\relax,
-markdepth=10pt, textstyle=\relax, mark=true,
-date=true, datesseparation=\space, conversionmonth=true,
-datestyle=\relax, datesstyle=\relax, year=true,
-iconheight=0.5\!chrheight, ifcolorbox=true, colorbox=white,
+\expandafter\def\csname !chr#1defaultoptions\endcsname{barre=true, icon=\relax,%
+markdepth=10pt, textstyle=\relax, mark=true,%
+date=true, datesseparation=\space, conversionmonth=true,%
+datestyle=\relax, datesstyle=\relax, year=true,%
+iconheight=0.5\!chrheight, ifcolorbox=true, colorbox=white,%
textwidth=\relax}\fi\fi
-\ifnexttoken[{\!chr@defineorsetupoptions}{}}
-
-\setupchronoevent[!!eventgradu@tion][datesstyle=\tfxx]
-\setupchronoperiode[!!periodegradu@tion][datesstyle=\tfxx]
-
-
-\catcode`\@=12
-\catcode`\!=12
+\ifnexttoken[{\!chr@defineorsetupoptions}{}}%
+%
+\setupchronoevent[!!eventgradu@tion][datesstyle=\tfxx]%
+\setupchronoperiode[!!periodegradu@tion][datesstyle=\tfxx]%
+%
+%DEFINITION DE \!CHRUSECOLOR ET DES COULEURS A UTILISER NON EXISTANTES DANS LE FORMAT
+\def\!chrusecolor#1{\color[#1]}%
+\definecolor[purple][r=0.5, g=0, b=0.5]%
+\definecolor[violet][r=0.75, g=0, b=0.25]%
+%
+%SYSTEME DE CHANGEMENT DE MOTEUR DE DESSIN
+%
+\!chrverif\def\chronoswitchtomodeMP{\long\def\!chrstarttikzpicture##1\!chrstoptikzpicture{\begingroup\edef\@@string@d{##1}\edef\@@string@d{\@@string@d}\expandafter\startMPcode\@@string@d\stopMPcode\endgroup}%
+\def\!chrstoptikzpicture{\stopMPcode}%
+\def\!chrfill[color=##1]##2;{fill ##2 withcolor \MPcolor{##1};}%
+\def\!chrfilldraw[color=##1]##2;{filldraw ##2 withcolor \MPcolor{##1};}%
+\def\!chrdraw[color=##1]##2;{draw ##2 withcolor \MPcolor{##1};}}%
+%
+\!chrverif\def\chronoswitchtomodeTikz{%
+\unless\ifdefined\starttikzpicture
+ \usemodule[tikz]%
+\fi
+\let\!chrstarttikzpicture\starttikzpicture
+\let\!chrstoptikzpicture\stoptikzpicture
+\def\!chrfill{\fill}%
+\def\!chrfilldraw{\filldraw}%
+\def\!chrdraw{\draw}}%
+%
+\startmode[mkiv]%
+\chronoswitchtomodeMP
+\stopmode
+\startnotmode[mkiv]%
+\chronoswitchtomodeTikz
+\stopnotmode
+%
+\catcode`\@=12%
+\catcode`\!=12%
\endinput \ No newline at end of file