diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/generic/chronosys/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf | bin | 96408 -> 157018 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex | 401 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf | bin | 98117 -> 157640 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex | 388 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/chronosys/chronosys.sty | 3 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/chronosys/chronosys.tex | 21 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex | 124 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex | 6 |
9 files changed, 620 insertions, 325 deletions
diff --git a/Master/texmf-dist/doc/generic/chronosys/README b/Master/texmf-dist/doc/generic/chronosys/README index 166752c03d2..79fa31ae1ac 100644 --- a/Master/texmf-dist/doc/generic/chronosys/README +++ b/Master/texmf-dist/doc/generic/chronosys/README @@ -9,6 +9,8 @@ This package enables the commandes \startchronology, \stopchronology, \chronoeve It uses the package `tikz' for drawing. +You can use it in plain TeX, LaTeX and ConTeXt. + _____________________________________________________________ This material is subject to the LaTeX Project Public License. See diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf Binary files differindex f0f62696854..59e0db80b37 100644 --- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf +++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.pdf diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex index d4f3bc9e4a7..f20799416a1 100644 --- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex +++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_en.tex @@ -1,3 +1,5 @@ +% interface=en tex=xetex + % This is is the english code for the documentation of the `chronosys' package. % % The maintener of this work is Mathieu Long. @@ -23,61 +25,47 @@ % % The Current Maintainer of this work is Mathieu Long. % -\setupinteraction[title=Chronosys - Documentation] +\setupinteraction[title=Chronosys - Documentation, author=Mathieu Long, title=Chronosys documentation -english-, subtitle=Draw time-lines] +\setupcolors[state=start] +\beginXETEX +\definetypeface[myface][rm][Xserif][Calibri] +\definetypeface[myface][ss][Xsans][Calibri] +\definetypeface[myface][tt][Xmono][Courier New-Bold] +\setupbodyfont[myface] +\endXETEX +\unless\ifdefined\XeTeXpicfile \unless\ifdefined\directlua +\setupoutput[pdftex] +\fi\fi +\setupheadertexts% +[chapter][section] +\setupheader[text][style=\ss] +\enableregime[utf8] \mainlanguage[en] \setupbodyfont[14pt,regular] \setuppapersize[B4] -\setupinteraction[state=start,menu=on,color=middlered] -\setupinteractionmenu[right][state=start] +\setupinteraction[state=start,color=middlered] \setupcapitals[sc=yes] \setupindenting[yes,20pt] \setuppagenumbering[location={bottom,right},left=--~] -\startuniqueMPgraphic{LinearShade} -fill (-\the\hsize/2,\the\vsize/2)--(\the\hsize/2,\the\vsize/2)--(\the\hsize/2,-\the\vsize/2)--(-\the\hsize/2,-\the\vsize/2)--cycle withcolor 0.825white; - - -path p; -picture mypicture; -mypicture:=nullpicture; -p:=(-2.5cm,0)--(2.5cm,0)--(2.5cm,-0.75cm)--(-2.5cm,-0.75cm)--cycle; -color marron; marron:=(165/255,66/255,0); - -path sablier; sablier:= (-2.05cm,-0.75cm){down}..{dir -45}(-0.65cm,-4.25cm)..{down}(-0.35cm,-5.25cm)--(0.35cm,-5.25cm){up}..(0.65cm,-4.25cm){dir 45}..{up}(2.05cm,-0.75cm)--cycle; - -addto mypicture contour unitsquare scaled 3cm xscaled 2 shifted(-2cm,-6cm) withcolor yellow; -clip mypicture to sablier xscaled 0.99; addto currentpicture also mypicture; - -fill (-0.35cm,-5.25cm){dir -45}..(-0.05cm,-5.55cm){down}..{down}(-0.05cm,-8cm){dir 225}..(-1.85cm,-10.5cm)--(1.85cm,-10.5cm)..{dir 135}(0.05cm,-8cm){up}..{up}(0.05cm,-5.55cm)..{dir 45}(0.35cm,-5.25cm)--cycle withcolor yellow; -fill sablier--reverse sablier xscaled 0.85--cycle withcolor (96/255,204/255,1); -fill sablier--reverse sablier xscaled 0.85--cycle reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor (96/255,204/255,1); -draw sablier withcolor black; -draw sablier reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; -draw sablier xscaled 0.85 withcolor black; -draw sablier xscaled 0.85 reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; - -fill p withcolor marron; -fill p reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor marron; -draw p withcolor black; -draw p reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; - -\stopuniqueMPgraphic - - -\defineoverlay[shaded][\useMPgraphic{LinearShade}] -\setupbackgrounds[page][background={shaded}] +\definetyping[typingTEX][option=TEX] +\setuptyping[typingTEX][color=darkblue] +\starttext \placebookmarks[chapter,section,subsection][chapter,section] \usemodule[chronosys] -\startstandardmakeup\switchtobodyfont[16pt] +\startstandardmakeup\switchtobodyfont[myface,16pt] \midaligned{Chronosys} \midaligned{Draw time-lines diagrams !} \bigskip \startchronology[width=\hsize,height=7ex,stopyear=2050,startyear=1982,color=darkgreen] \chronoevent{2011}{\type{chronosys}'s creation} \stopchronology +\bigskip\bigskip +\midaligned{Mathieu \sc Long} +\midaligned{\color[darkgreen]mlong.tex@hotmail.fr} \stopstandardmakeup -\completecontent[alternative=c,interaction=all] +\completecontent[level=subsection,interaction=pagenumber] \def\HeadTitle#1#2% {\hbox to \hsize @@ -88,12 +76,12 @@ draw p reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; \parskip 1cm \chapter{Introduction} -\type{Chronosys} is distributed under the LaTeX Project Public License. It uses the \type{tikz} package for drawing the time-lines. +\type{Chronosys} is distributed under the LaTeX Project Public License.You may use it for drawing time-lines. It uses the \type{tikz} package for drawing. You need to have \ETEX\ to use it. \blank -This package is version {\unprotect\chron@sysversion\protect}, anothers versions might be created later. +This package is version {\unprotect\chron@sysversion\protect}, others versions might be created later. \bigskip -It is recommanded not to load the \type{color.tex} file if you use plain \TeX. +It is recommended not to load the \type{color.tex} file if you use plain \TeX. \bigskip You can load \type{chronosys} by~: @@ -103,16 +91,42 @@ You can load \type{chronosys} by~: \item \type{\input chronosys} in plain \TeX. \stopitemize +With the new version you can modify the alignment of the time-line on the page, the width of the labels of the events; it provides a better support +of the events placed over the time-line, the possibility of colour the background of the labels of the periods and events and corrects problems of compatibility. + +\blank + +\hairline +I wish to thank Gonçalo {\sc Pereira} for his idea about colouring in white the background of the labels of events and periods to avoid them to be mixed with other vertical straights. +\blank +\hrule + \chapter{First use} -\section{Main fonction: \type{\startchronology}} +\section{Main function: \type{\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 \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. +\startalignment[middle] +\starttypingTEX +\startchronology[...=...] +\stoptypingTEX +\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 time-line. Let's have a look on the result~: -\starttyping +The next one is \type{\stopchronology}\index{stopchronology}\footnote{or \type{\end{chronology}}}, it ends the time-line. + +\startalignment[middle] +\starttypingTEX +\stopchronology +\stoptypingTEX +\stopalignment + + Let's have a look on the result~: +\starttypingTEX \startchronology -\stopchronology\stoptyping +\stopchronology +\stoptypingTEX \startchronology \stopchronology @@ -122,28 +136,40 @@ You can see the time-line is on all the page's width, furthermore it starts at { \section[event]{Events: \type{\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 see further to see another way of specifying the date} and the second is the label of this event. +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. + +\startalignment[middle] +\starttypingTEX +\chronoevent[...=...]{1.}{2.} +\stoptypingTEX +\stopalignment + +\starttabulate[|l|l|] +\NC \color[darkblue]\tt...=...\NC options (see \in[eventoptions])\NC\NR +\NC \color[darkblue]1. \NC date ({\em number})\NC\NR +\NC \color[darkblue]2. \NC label \NC\NR +\stoptabulate \blank[small] For example: -\starttyping +\starttypingTEX \startchronology \chronoevent{1977}{\TeX's creation} \stopchronology -\stoptyping +\stoptypingTEX \startchronology \chronoevent{1977}{\TeX's creation} \stopchronology \bigskip The event appears between {\os 0} et {\os\the\year}, proportionally with his gap with {\os0}. You can also give several events: -\starttyping +\starttypingTEX \startchronology \chronoevent{476}{Fall of the Roman empire} \chronoevent{1492}{Discovery of America} \chronoevent{1969}{first steps on the Moon} \stopchronology -\stoptyping +\stoptypingTEX \switchtobodyfont[9pt] \startchronology @@ -161,13 +187,25 @@ the time-line, especially the starting year and ending year, will be seen furthe 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}. -\starttyping +\startalignment[middle] +\starttypingTEX +\chronoperiode[...=...]{1.}{2.}{3.} +\stoptypingTEX +\stopalignment +\starttabulate[|l|l|] +\NC \tt\color[darkblue]...=...\NC options (see \in[periodoptions])\NC\NR +\NC \color[darkblue]1. \NC date of the beginning ({\em number})\NC\NR +\NC \color[darkblue]2. \NC date of the end ({\em number}) \NC\NR +\NC\color[darkblue]3. \NC label \NC\NR +\stoptabulate + +\starttypingTEX \startchronology \chronoperiode{1000}{1999}{2\high{nd} Millennium} \chronoperiode{476}{1453}{Eastern Roman Empire} \chronoevent{1969}{first steps on the Moon} \stopchronology -\stoptyping +\stoptypingTEX \switchtobodyfont[9pt] \startchronology \chronoperiode{1000}{1999}{2\high{nd} Millennium} @@ -185,13 +223,15 @@ The period appears automatically with colour, and the dates are also visible (se \section{\type{\startchronology}} \subsection{Example} \type{\startchronology} can have an optional argument in brackets. -For example: -\starttyping +For example: + +\starttypingTEX \startchronology -[startyear=-800,stopyear=500,color=darkblue,height=7ex,width=\hsize] -\chronoevent{-753}{Rome's foundation} +[startyear=–800,stopyear=500, +color=darkblue,height=7ex,width=\hsize] +\chronoevent{–753}{Rome's foundation} \stopchronology -\stoptyping +\stoptypingTEX \startchronology [startyear=-800,stopyear=500,color=darkblue,height=7ex,width=\hsize] \chronoevent{-753}{Rome's foundation} @@ -211,11 +251,12 @@ The different options of \type{\startchronology}\index{startchronology} are: \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. \head \type{stopdate}\index{stopdate} :\par boolean which indicate if the ending year has to be placed. It must be either \type{true} or \type{false} and it is \type{true} by default. \head \type{dates}\index{dates} :\par boolean which indicate if both dates have to be placed. It must be either \type{true} or \type{false} and it is \type{true} by default. -\head\type{arrow}\index{arrow} :boolean which indicate if an arrowhead has to be placed. It must be either \type{true} or \type{false} and it is \type{true} by default. +\head\type{arrow}\index{arrow} :\par boolean which indicate if an arrowhead has to be placed. It must be either \type{true} or \type{false} and it is \type{true} by default. \head \type{arrowheight}\index{arrowheight} :\par height of the arrowhead. It must be a valid \type{dimen} and it is identical to the height of the time-line by default. -\head \type{arrowwidth}\index{arrowwidth} :\par width of the arrowhead. It encroaches on the entire (\type{height}) width of the frieze It must be a valid \type{dimen} and it is 1/10 of the entire width of the time-line (\type{width}) by default. +\head \type{arrowwidth}\index{arrowwidth} :\par width of the arrowhead. It encroaches on the entire (\type{height}) width of the frieze. It must be a valid \type{dimen} and it is 1/10 of the entire width of the time-line (\type{width}) by default. \head \type{arrowcolor}\index{arrowcolor} :\par colour of the arrowhead. It must be a \type{colour} recognized by the \type{tikz} package. It is identical to the colour of the frieze by default. \head \type{box}\index{box} :\par boolean which indicates if the time-line should be passed back with a black line. It must be either \type{true} or \type{false} and it is \type{false} by default. +\head \type{align}\index{align} :\par alignment of the time-line on the page. You can choose between \type{right}, \type{center} and \type{left}. It is \type{center} by default. \stopitemize \subsection[startchronologyoptions]{Summary} @@ -236,27 +277,31 @@ The different options of \type{\startchronology}\index{startchronology} are: \VL \type{dateselevation} \NC=\NC\type{<dimen>}\VL\FR \VL -\type{startdate} \NC=\NC\type{<true>} \em or \type{<false>}\VL\FR -\VL\type{stopdate} \NC=\NC\type{<true>} \em or \type{<false>}\VL\FR -\VL\type{dates} \NC=\NC\type{<true>} \em or \type{<false>}\VL\FR -\VL\type{arrow} \NC=\NC\type{<true>} \em or \type{<false>}\VL\FR +\type{startdate} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{stopdate} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{dates} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{arrow} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\FR \VL\type{arrowheight} \NC=\NC\type{<dimen>}\VL\FR \VL\type{arrowwidth} \NC=\NC\type{<dimen>}\VL\FR \VL\type{arrowcolor} \NC=\NC\type{<colour>}\VL\FR -\VL\type{box} \NC=\NC\type{<true>} \em or \type{<false>}\VL\FR\HL +\VL\type{box} \NC=\NC\type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{align} \NC=\NC\type{<right>} {\em or} \type{<center>} {\em or} \type{<left>}\VL\FR\HL \stoptable +\page[yes] \section{\type{\chronoperiode}} \subsection{Example} \type{\chronoperiode} can have an optional argument for the options' customization. -\starttyping -\startchronology[startyear=-800,stopyear=500,color=darkgreen] -\chronoperiode[color=orange,stopdate=false,textstyle=\it] -{-753}{-509}{Roman Royal period} +\starttypingTEX +\startchronology[startyear=–800, +stopyear=500,color=darkgreen] +\chronoperiode[color=orange, +stopdate=false,textstyle=\it] +{–753}{–509}{Roman Royal period} \chronoperiode[color=cyan,textstyle=\bf,textdepth=35pt] -{-509}{-27}{Roman Republic} +{–509}{–27}{Roman Republic} \stopchronology -\stoptyping +\stoptypingTEX \startchronology[startyear=-800,stopyear=500,color=darkgreen] \chronoperiode[color=orange,stopdate=false,textstyle=\it] {-753}{-509}{Roman Royal period} @@ -264,7 +309,11 @@ The different options of \type{\startchronology}\index{startchronology} are: {-509}{-27}{Roman Republic} \stopchronology -\subsection{Different options} +\subsection{The colour of the background} + +\type{Chronosys} colours the background of the label in white to erase the eventual vertical straights. You can disable it or change the colour if you want (see \in[chronoperiodsoptions]). + +\subsection[chronoperiodsoptions]{Different options} The different options of \type{\chronoperiode}\index{chronoperiode} are: @@ -272,104 +321,147 @@ The different options of \type{\chronoperiode}\index{chronoperiode} are: \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. \head \type{stopdate}\index{stopdate} :\par boolean. It indicate if the ending year has to be placed, and must be either \type{true} or \type{false}. It is \type{true} by default. \head \type{dates}\type{true}\index{dates} :\par boolean. It indicate if both dates have to be placed, and must be either \type{true} or \type{false}. It is \type{true} by default. -\head \type{datesstyle}\index{datesstyle} : \par style to apply to the dates. It must be a \type{control sequence} ou \type{control sequence#1} and is empty by default. -\head \type{textstyle}\index{textstyle} : \par style to apply to the label. It must be a \type{control sequence} ou \type{control sequence#1} and is empty by default. +\head \type{datesstyle}\index{datesstyle} : \par style to apply to the dates. It must be a + +\noindent\type{control sequence} or \type{control sequence#1} and is empty by default. +\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{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{dateselevation}\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{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{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. +\stopitemize \subsection[periodoptions]{Summary} \placetable[here][fig:chronoperiodeoptions]{\type{chronoperiode}'s options} \starttable[|l|c|l|] \HL\VL\use{3}\ReFormat[cB]{\type{\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 -\VL\type{datesstyle} \NC=\NC\type{<control sequence>} \em or \type{<control sequence#1>}\VL\LR -\VL\type{textstyle} \NC=\NC\type{<control sequence>} \em or \type{<control sequence#1>}\VL\LR +\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 +\VL\type{datesstyle} \NC=\NC\type{<control sequence>} {\em or} \type{<control sequence#1>}\VL\LR +\VL\type{textstyle} \NC=\NC\type{<control sequence>} {\em or} \type{<control sequence#1>}\VL\LR \VL\type{color} \NC=\NC\type{<colour>}\VL\LR \VL\type{dateselevation} \NC=\NC\type{<dimen>}\VL\LR -\VL\type{textdeph} \NC=\NC\type{<dimen>}\VL\LR\HL +\VL\type{textdeph} \NC=\NC\type{<dimen>}\VL\LR +\VL\type{ifcolorbox}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{colorbox} \NC =\NC \type{<colour>} \VL\FR\HL \stoptable \section{\type{\chronoevent}} -\subsection[eventnewdate]{A new way for specifying the date} +\type{\chronoevent} can also have an optional argument for customization. -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 -the month and the day. You have to type \type{<day number>/<number of the month>/year}, only specifying the year is compulsory. +\subsection{Example} -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: -\starttyping -\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} -\stoptyping +\starttypingTEX +\def\MyIcon{{\starttikzpicture \filldraw +[color=orange](0,0)––(0,5pt)––(5pt,5pt) +––(5pt,0)––cycle;\stoptikzpicture}} -To change the language, you only need to redefine the control sequence, for example for english as: -\starttyping -\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 - October\or November\or December\fi} -\stoptyping -\bigskip -For example, -\starttyping \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 - October\or November\or December\fi} -\startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex] -\chronoevent{15/03/-44}{Assassination of Caesar} + March\or April\or May\or June\or July\or August\or + September\or October\or November\or December\fi} + +\startchronology[startyear=–800,stopyear=500, +color=darkgreen,height=7ex] +\chronoevent[textstyle={\switchtobodyfont[sansserif]}, +datesstyle=\os,datesseparation=/,conversionmonth=false, +icon=\MyIcon,year=false]{15/3/–44} +{\vbox{\hbox{\qquad ides of March;}% +\hbox{assassination of Caesar}}} \stopchronology -\stoptyping +\stoptypingTEX +\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}} \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 October\or November\or December\fi} -\startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex] -\chronoevent{15/03/-44}{Assassination of Caesar} +\startchronology[startyear=-800,stopyear=500,color=darkgreen,height=7ex] +\chronoevent[textstyle={\switchtobodyfont[sansserif]},datesstyle=\os,datesseparation=/,conversionmonth=false,icon=\MyIcon,year=false]{15/3/-44} +{\vbox{\hbox{\qquad ides of March;}\hbox{assassination of Caesar}}} \stopchronology -\blank -Furthermore, \type{\chronoevent} can also have an optional argument for customization. -\subsection{Example} -\starttyping -\def\MyIcon{{\starttikzpicture \filldraw -[color=orange](0,0)--(0,5pt)--(5pt,5pt) ---(5pt,0)--cycle;\stoptikzpicture}} +\subsection{Specificities} +\subsubsection{The colour box of the text} +As for the periods, to avoid vertical straight to overlap the others labels, as you can see there, if you wanted to type : +\starttypingTEX +\startchronology +\chronoevent{1500}{Label A} +\chronoevent{1525}{Label B} +\stopchronology +\stoptypingTEX +\startchronology +\chronoevent{1500}{Label A} +\chronoevent[markdepth=70pt,ifcolorbox=false]{1525}{Label B} +\stopchronology +\type{chronosys} place a white colour box behind the text, so that you can have + +\startchronology +\chronoevent[markdepth=70pt]{1525}{Label B} +\chronoevent{1500}{Label A} +\stopchronology + +You should type the events from the one you want to place from the farthest to the nearest from the time-line. 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 +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: +\starttypingTEX +\def\chron@selectmonth#1{\ifcase#1\or janvier\or f\'evrier\or + mars\or avril\or mai\or juin\or juillet\or ao\^ut\or + septembre\or octobre\or novembre\or d\'ecembre\fi} +\stoptypingTEX + +To change the language, you only need to redefine the control sequence, for example for English as: +\starttypingTEX +\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 + October\or November\or December\fi} +\stoptypingTEX +\bigskip +For example, +\starttypingTEX \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 + March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi} - -\startchronology[startyear=-800,stopyear=500, -color=darkgreen,height=7ex] -\chronoevent[textstyle={\switchtobodyfont[sansserif]}, -datesstyle=\os,datesseparation=/,conversionmonth=false, -icon=\MyIcon,year=false]{15/3/-44} -{\vbox{\hbox{\qquad ides of March;}\hbox{assassination of Caesar}}} +\startchronology[startyear=–44, +stopyear=–43,color=darkgreen,height=7ex] +\chronoevent{15/03/–44}{Assassination of Caesar} \stopchronology -\stoptyping -\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}} +\stoptypingTEX \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 October\or November\or December\fi} -\startchronology[startyear=-800,stopyear=500,color=darkgreen,height=7ex] -\chronoevent[textstyle={\switchtobodyfont[sansserif]},datesstyle=\os,datesseparation=/,conversionmonth=false,icon=\MyIcon,year=false]{15/3/-44} -{\vbox{\hbox{\qquad ides of March;}\hbox{assassination of Caesar}}} +\startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex] +\chronoevent{15/03/-44}{Assassination of Caesar} \stopchronology +\blank -\subsection{Different options} +\subsection[chronoeventsoptions]{Different options} Here are the different possible options\index{chronoevent}. -\startitemize +\startitemize[1] \head \type{barre}\index{barre} :\par boolean which indicate if a vertical straight has to be placed on the frieze at the event position. It must be either \type{true} or \type{false}. It is \type{true} by default. \head \type{date}\index{date} :\par boolean which indicate if the date of the event has to be placed. It must be either \type{true} or \type{false}. It is \type{true} by default. \head \type{conversionmonth}\index{conversionmonth} :\par boolean which indicate if the number of the month has to be converted to the name month. It must be either \type{true} or \type{false}. It is \type{true} by default. @@ -378,10 +470,17 @@ Here are the different possible options\index{chronoevent}. \head \type{icon}\index{icon} :\par symbol to add on the frieze at the event position. It can be a control sequence or some text, and it is empty by default. \head \type{markdepth}\index{markdepth} : \par depth of the label of the event and of the vertical straight under the frieze. It must be a valid \type{dimen} and it is \type{10pt} by default. \head \type{iconheight}\index{iconheight} :\par height of the icon on the time-line. It must be a valid \type{dimen} and it is half of the height of the frieze by default. -\head \type{textstyle}\index{textstyle} :\par style to apply to the label. It must be a \type{control sequence} or \type{control sequence#1}. +\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}. \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{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. +It must be a valid \type{dimen}. \stopitemize \subsection[eventoptions]{Summary} @@ -389,32 +488,38 @@ Here are the different possible options\index{chronoevent}. \placetable[here][fig:chronoeventoptions]{\type{chronoevent}'s options} \starttable[|l|c|l|] \HL\VL\use{3}\ReFormat[cB]{\type{\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 -\VL\type{mark}\NC=\NC \type{<true>} \em or \type{<false>}\VL\FR -\VL\type{icon}\NC=\NC \type{<text>} \em or \type{<control sequence>} \bf\dots\VL\FR -\VL\type{datesseparation}\NC=\NC \type{<text>} \em or \type{<control sequence>} \bf\dots\VL\FR +\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 +\VL\type{mark}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{icon}\NC=\NC \type{<text>} {\em or} \type{<control sequence>} \bf\dots\VL\FR +\VL\type{datesseparation}\NC=\NC \type{<text>} {\em or} \type{<control sequence>} \bf\dots\VL\FR \VL\type{markdepth}\NC=\NC \type{<dimen>}\VL\FR \VL\type{iconheight}\NC=\NC \type{<dimen>}\VL\FR -\VL\type{textstyle}\NC=\NC \type{<control sequence>} \em or \type{<control sequence#1>}\VL\FR -\VL\type{datestyle}\NC=\NC \type{<control sequence>} \em or \type{<control sequence#1>}\VL\FR -\VL\type{datesstyle}\NC=\NC \type{<control sequence>} \em or \type{<control sequence#1>}\VL\FR\HL +\VL\type{textstyle}\NC=\NC \type{<control sequence>} {\em or} \type{<control sequence#1>}\VL\FR +\VL\type{datestyle}\NC=\NC \type{<control sequence>} {\em or} \type{<control sequence#1>}\VL\FR +\VL\type{datesstyle}\NC=\NC \type{<control sequence>} {\em or} \type{<control sequence#1>}\VL\FR +\VL\type{ifcolorbox}\NC=\NC \type{<true>} {\em or} \type{<false>}\VL\FR +\VL\type{colorbox} \NC =\NC \type{<colour>} \VL\FR +\VL\type{textwidth} \NC =\NC \type{<dimen>}\VL\FR\HL \stoptable \page[yes] -\section{Permanent changes} +\section[[permanentchanges]{Permanent changes} You can apply changes on default values with using \type{\setupchronology}, \type{\setupchronoevent} and \type{\setupchronoperiode}. \index{setupchronology}\index{setupchronoevent} \index{setupchronoperiode} -You use the same name for each option you want to change. For example, \starttyping +You use the same name for each option you want to change. The only exception is \type{textwidth} of \type{\chronoevent} (see \in[nosetuptextwidthexplanation]). +For example, + +\starttypingTEX \setupchronology{startyear=1000,color=darkblue,stopdate=false} \setupchronoperiode{color=darkgreen} \setupchronoevent{textstyle=\it} \startchronology \chronoperiode{1050}{1450}{Anything you want} \chronoevent{1600}{Anything else} -\chronoperiode{1800}{1899}{XIX\high{th} century} +\chronoperiode{1800}{1899}{19\high{th} century} \stopchronology -\stoptyping +\stoptypingTEX \setupchronology{startyear=1000,color=darkblue,stopdate=false} \setupchronoperiode{color=darkgreen} @@ -422,14 +527,20 @@ You use the same name for each option you want to change. For example, \starttyp \startchronology \chronoperiode{1050}{1450}{Anything you want} \chronoevent{1600}{Anything else} +\chronoperiode{1800}{1899}{19\high{th} century} \stopchronology\bigskip \bigskip N.B.: if you want to reapply the automatic colour's alternation of the periods, use -\noindent\type{\setupchronoperiode{color=\chron@periodcolor}} +\startalignment[middle] +\starttypingTEX +\setupchronoperiode{color=\chron@periodcolor} +\stoptypingTEX +\stopalignment + \setupchronoperiode{color=\chron@periodcolor} \startchronology \chronoperiode{1050}{1450}{Anything you want} -\chronoperiode{1800}{1899}{XIX\high{th} century} +\chronoperiode{1800}{1899}{19\high{th} century} \chronoevent{1600}{Anything else} \stopchronology diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf Binary files differindex b30bd2bd424..46d71ff4945 100644 --- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf +++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.pdf diff --git a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex index 8a0a7e87c4e..5e4198129c4 100644 --- a/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex +++ b/Master/texmf-dist/doc/generic/chronosys/docchronosys_fr.tex @@ -1,3 +1,5 @@ +% interface=en tex=xetex output=pdftex + % This is is the french code for the documentation of the `chronosys' package. % % The maintener of this work is Mathieu Long. @@ -23,72 +25,63 @@ % % The Current Maintainer of this work is Mathieu Long. % -\setupinteraction[title=Chronosys - Documentation] + +\starttext +\enableregime[utf8] +\setupinteraction[title=Chronosys - Documentation, author=Mathieu Long, title=Documentation de chronosys -français-, + subtitle=Dessinez des frises chronologiques] +\setupcolors[state=start] +\beginXETEX +\definetypeface[myface][rm][Xserif][Calibri] +\definetypeface[myface][ss][Xsans][Calibri] +\definetypeface[myface][tt][Xmono][Courier New-Bold] +\setupbodyfont[myface] +\endXETEX +\unless\ifdefined\XeTeXpicfile \unless\ifdefined\directlua +\setupoutput[pdftex] +\fi\fi +\setupheadertexts% +[chapter][section] +\setupheader[text][style=\ss] \mainlanguage[fr] \setupbodyfont[14pt,regular] \setuppapersize[B4] -\setupinteraction[state=start,menu=on,color=middlered] -\setupinteractionmenu[right][state=start] +\setupinteraction[state=start,color=middlered] \setupcapitals[sc=yes] \setupindenting[yes,20pt] \setuppagenumbering[location={bottom,right},left=--~] +\definetyping[typingTEX][option=TEX] +\setuptyping[typingTEX][color=darkblue] -\startuniqueMPgraphic{LinearShade} -fill (-\the\hsize/2,\the\vsize/2)--(\the\hsize/2,\the\vsize/2)--(\the\hsize/2,-\the\vsize/2)--(-\the\hsize/2,-\the\vsize/2)--cycle withcolor 0.825white; - - -path p; -picture mypicture; -mypicture:=nullpicture; -p:=(-2.5cm,0)--(2.5cm,0)--(2.5cm,-0.75cm)--(-2.5cm,-0.75cm)--cycle; -color marron; marron:=(165/255,66/255,0); - -path sablier; sablier:= (-2.05cm,-0.75cm){down}..{dir -45}(-0.65cm,-4.25cm)..{down}(-0.35cm,-5.25cm)--(0.35cm,-5.25cm){up}..(0.65cm,-4.25cm){dir 45}..{up}(2.05cm,-0.75cm)--cycle; - -addto mypicture contour unitsquare scaled 3cm xscaled 2 shifted(-2cm,-6cm) withcolor yellow; -clip mypicture to sablier xscaled 0.99; addto currentpicture also mypicture; - -fill (-0.35cm,-5.25cm){dir -45}..(-0.05cm,-5.55cm){down}..{down}(-0.05cm,-8cm){dir 225}..(-1.85cm,-10.5cm)--(1.85cm,-10.5cm)..{dir 135}(0.05cm,-8cm){up}..{up}(0.05cm,-5.55cm)..{dir 45}(0.35cm,-5.25cm)--cycle withcolor yellow; -fill sablier--reverse sablier xscaled 0.85--cycle withcolor (96/255,204/255,1); -fill sablier--reverse sablier xscaled 0.85--cycle reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor (96/255,204/255,1); -draw sablier withcolor black; -draw sablier reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; -draw sablier xscaled 0.85 withcolor black; -draw sablier xscaled 0.85 reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; - -fill p withcolor marron; -fill p reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor marron; -draw p withcolor black; -draw p reflectedabout ((-5cm,-5.25cm),(5cm,-5.25cm)) withcolor black; - -\stopuniqueMPgraphic - - -\defineoverlay[shaded][\useMPgraphic{LinearShade}] -\setupbackgrounds[page][background={shaded}] - +\unprotect \placebookmarks[chapter,section,subsection][chapter,section] \usemodule[chronosys] -\startstandardmakeup\switchtobodyfont[16pt] +\startstandardmakeup +\switchtobodyfont[myface,16pt] \midaligned{Chronosys} \midaligned{Réalisez des frises chronologiques !} \bigskip \startchronology[width=\hsize,height=7ex,stopyear=2050,startyear=1982,color=darkgreen] -\chronoevent{2011}{Création de \type{chronosys}} +\chronoevent[textwidth=7cm]{2011}{Création de \type{chronosys}} \stopchronology +\bigskip\bigskip +\midaligned{Mathieu \sc Long} +\midaligned{\color[darkgreen]mlong.tex@hotmail.fr} \stopstandardmakeup -\completecontent[alternative=c,interaction=all] + +\completecontent[level=subsection,interaction=pagenumber] + \def\HeadTitle#1#2% {\hbox to \hsize -{ \vbox{\hrule\par\noindent\vrule height1.15cm depth0pt\leaders\hrule\hskip10pt \lower5pt\vbox{\hbox{#1\hskip10pt#2 }}\leaders\hrule\hfill\vrule height1.15cm depth0pt} +{ \vbox{\hrule\par\noindent\vrule height1.15cm depth0pt\leaders\hrule\hskip10pt \lower5pt\vbox{\hbox{ #1\hskip10pt#2 }}\leaders\hrule\hfill\vrule height1.15cm depth0pt} }} \setuphead[chapter][command=\HeadTitle] -\setupbodyfont[14pt] + \parskip 1cm \chapter{Introduction} -\type{Chronosys} est distribué sous license LaTeX Project Public License. Il utilise l'extension \type{tikz} pour réaliser les dessins de frises. +\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. \blank Le fichier est actuellement en version {\unprotect\chron@sysversion\protect}, d'autres versions seront susceptibles de venir par la suite. @@ -103,74 +96,128 @@ Il est recommandé de ne pas charger le fichier \type{color.tex} lors de son uti \item \type{\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 +et corrige quelques problèmes de compatibilité. + +\blank + +\hairline +Je tiens à remercier Gonçalo {\sc Pereira} pour son idée de colorer l'arrière-fond des textes des périodes et événements en blanc, afin qu'il ne soit pas mélangés avec d'autres éléments de la frise, tels des traits verticaux. +\blank +\hrule + \chapter{Première utilisation} \section{Fonction principale : \type{\startchronology}} -La macro \type{\startchronology}\index{startchronology} est la première fonction à retenir\footnote{Il existe aussi \type{\begin{chronology}} et \type{\end{chronology}} pour \LaTeX}~: elle prépare la frise chronologique. +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 : + + + +\startalignment[middle] +\starttypingTEX +\startchronology[...=...] +\stoptypingTEX +\stopalignment +\leftaligned{\switchtobodyfont[12.4pt] On se reportera à \in[startchronologyoptions] pour connaître les différentes options} \blank[small] -La suivante à retenir est \type{\stopchronology}\index{stopchronology}\footnote{ou \type{\end{chronology}}}, elle termine le tout. Voyons maintenant le résultat~: -\starttyping +\noindent La suivante à retenir est \type{\stopchronology}\index{stopchronology}\footnote{ou \type{\end{chronology}}}, elle termine le tout : + +\startalignment[middle] +\starttypingTEX +\stopchronology +\stoptypingTEX +\stopalignment + Voyons maintenant le résultat~: + +\starttypingTEX \startchronology -\stopchronology\stoptyping +\stopchronology +\stoptypingTEX \startchronology \stopchronology \bigskip -Une première observation~: par défaut, d'une part la frise occupe toute la largeur de la page, d'autre part elle place au début et à la fin l'année 0 et +Une première observation~: par défaut, d'une part la frise occupe toute la largeur de la page, d'autre part elle place au début et à la fin l'année {\os 0} et l'année courante ({\os\number\year} lors de la compilation de ce document). Ces dates sont les dates de début et de fin de la frise, dates par rapport auxquelles \type{chronosys} comparera les événements et périodes donnés (voir \in[event] et \in[period]). -\blank[small] Maintenant voyons un peu comment rajouter des événements sur la frise. +\blank[small] Maintenant voyons comment rajouter des événements sur la frise. \section[event]{Les événements : \type{\chronoevent}} -Il est possible de rajouter des événements sur la frise chronologique via \type{\chronoevent}\index{chronoevent}. Cette commande prend deux arguments~: le premier est la date\footnote{voir après pour plus de détails sur la façon de spécifier la date} et le second est le texte relatif à cet événement. +Il est possible de rajouter des événements sur la frise chronologique via \type{\chronoevent}\index{chronoevent}~: + + +\startalignment[middle] +\starttypingTEX +\chronoevent[...=...]{1.}{2.} +\stoptypingTEX +\stopalignment + +\starttabulate[|l|l|] +\NC \color[darkblue]\tt...=...\NC arguments optionnels (voir \in[eventoptions])\NC\NR +\NC \color[darkblue]1. \NC date ({\em nombre})\NC\NR +\NC \color[darkblue]2. \NC commentaire \NC\NR +\stoptabulate + + Cette commande prend deux arguments~: le premier est la date\footnote{voir \in[eventnewdate] pour plus de détails sur la façon de spécifier la date} et le second est le texte relatif à cet événement. \blank[small] Voyons un exemple. -\starttyping +\starttypingTEX \startchronology \chronoevent{1977}{Création de \TeX} \stopchronology -\stoptyping +\stoptypingTEX \startchronology \chronoevent{1977}{Création de \TeX} \stopchronology \bigskip -L'événement a été placé entre {\os 0} et {\os\the\year}, proportionnellement en fonction de l'écart entre {\os0} et {\os1977}. Il est également possible de préciser plusieurs événements~: +L'événement a été placé entre {\os 0} et {\os\the\year}, proportionnellement en fonction de l'écart entre {\os0}, {\os1977} et {\os\the\year}. Il est également possible de préciser plusieurs événements~: -\starttyping +\starttypingTEX \startchronology \chronoevent{476}{Chute de l'empire romain} \chronoevent{1492}{Découverte de l'Amérique} \chronoevent{1969}{Premiers pas sur la Lune} \stopchronology -\stoptyping +\stoptypingTEX \switchtobodyfont[9pt] \startchronology \chronoevent{476}{Chute de l'empire romain} -\chronoevent{1492}{Découverte de l'Amérique\ } +\chronoevent{1492}{Découverte de l'Amérique} \chronoevent{1969}{\quad Premiers pas sur la Lune} \stopchronology \switchtobodyfont[14pt] -\bigskip Note : la taille d'écriture a été réduite lorq de la création de cette frise afin que les textes ne se chevauchent pas~; une meilleure méthode sera donnée plus loin (voir \in[eventoptions]).\blank +\bigskip Note : la taille d'écriture a été réduite lors de la création de cette frise afin que les textes ne se chevauchent pas~; une meilleure méthode sera donnée plus loin (voir \in[eventoptions]).\blank -\type{Chronosys} ne produira pas d'erreur si un événement a une date en dehors de l'intervalle de la frise, mais il sera ignoré. La personnalisation des frises pour étendre -(ou raccourcir) les dates de début et de fin de frise sera vue plus loin (voir \in[startchronologyoptions]). +\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}} -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}. - -\starttyping +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} : + +\startalignment[middle] +\starttypingTEX +\chronoperiode[...=...]{1.}{2.}{3.} +\stoptypingTEX +\stopalignment +\starttabulate[|l|l|] +\NC \tt\color[darkblue]...=...\NC options (voir \in[periodoptions])\NC\NR +\NC \color[darkblue]1. \NC date de début ({\em nombre})\NC\NR +\NC \color[darkblue]2. \NC date de fin ({\em nombre}) \NC\NR +\NC\color[darkblue]3. \NC commentaire \NC\NR +\stoptabulate + +\starttypingTEX \startchronology -\chronoperiode{1000}{1999}{2\high{è} millénaire} +\chronoperiode{1000}{1999}{2$^{\rm è}$ millénaire} \chronoperiode{192}{476}{Bas-Empire romain} -\chronoevent{1492}{Découverte de l'Amérique\ } \chronoevent{1969}{Premiers pas sur la Lune} \stopchronology -\stoptyping +\stoptypingTEX \switchtobodyfont[9pt] \startchronology \chronoperiode{1000}{1999}{2\high{è} millénaire} @@ -189,14 +236,16 @@ ce cas cette couleur est ignorée. Il est également possible de spécifier la c \section{\type{\startchronology}} \subsection{Exemple} -\type{\startchronology} accepte un argument optionnel spécifié entre crochets. +\type{\startchronology} accepte des arguments optionnels spécifié entre crochets. Voyons un exemple : -\starttyping + +\starttypingTEX \startchronology -[startyear=-800,stopyear=500,color=darkblue,height=7ex,width=\hsize] -\chronoevent{-753}{Fondation de Rome} +[startyear=–800,stopyear=500, +color=darkblue,height=7ex,width=\hsize] +\chronoevent{–753}{Fondation de Rome} \stopchronology -\stoptyping +\stoptypingTEX \startchronology [startyear=-800,stopyear=500,color=darkblue,height=7ex,width=\hsize] \chronoevent{-753}{Fondation de Rome} @@ -205,7 +254,7 @@ Voyons un exemple : 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~: -\startitemize +\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. @@ -221,6 +270,7 @@ Les différentes options de \type{\startchronology}\index{startchronology} sont \head \type{arrowwidth}\index{arrowwidth} :\par largeur de la pointe de la flèche. Elle empiète sur la largeur totale (\type{width}) de la frise. Elle doit être une \type{dimension} valide et vaut 1/10\high{è} de la largeur totale (\type{width}) par défaut. \head \type{arrowcolor}\index{arrowcolor} :\par couleur de la pointe de la flèche. Elle doit être une \type{couleur} reconnue par l'extension tikz. Elle est identique à la couleur de la frise par défaut. \head \type{box}\index{box} :\par valeur booléenne qui indique si la frise doit être repassée d'un trait noir. Elle doit être soit \type{true} soit \type{false} et vaut \type{false} par défaut. +\head \type{align} \index{align} :\par alignement de la frise sur la page. Il peut être soit \type{center} pour centré, soit \type{left} pour aligné à gauche soit \type{right} pour aligné à droite. Il vaut \type{center} par défaut. \stopitemize \subsection[startchronologyoptions]{Résumé} @@ -241,37 +291,44 @@ Les différentes options de \type{\startchronology}\index{startchronology} sont \VL \type{dateselevation} \NC=\NC\type{<dimension>}\VL\FR \VL -\type{startdate} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{stopdate} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{dates} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{arrow} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{arrowheight} \NC=\NC\type{<dimension>}\VL\FR +\type{startdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{stopdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{dates} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{arrow} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{arrowheight} \NC=\NC\type{<dimension>}\VL\FR \VL\type{arrowwidth} \NC=\NC\type{<dimension>}\VL\FR \VL\type{arrowcolor} \NC=\NC\type{<couleur>}\VL\FR -\VL\type{box} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\FR\HL +\VL\type{box} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{align} \NC =\NC \type{<right>} {\em ou} \type{<center>} {\em ou} \type{<left>} \VL\FR\HL \stoptable +\page[yes] \section{\type{\chronoperiode}} \subsection{Exemple} -Tout comme \type{\startchronology}, \type{\chronoperiode} admet un argument optionnel contenant les options de personnalisation de la période. -\starttyping -\startchronology[startyear=-800,stopyear=500,color=darkgreen] -\chronoperiode[color=orange,stopdate=false,textstyle=\it] -{-753}{-509}{Période royale romaine} +Tout comme \type{\startchronology}, \type{\chronoperiode} admet des arguments optionnels pour la personnalisation de la période. +\starttypingTEX +\startchronology[startyear=–800,stopyear=500, +color=darkgreen] +\chronoperiode[color=orange,stopdate=false, +textstyle=\it] +{–753}{–509}{Période royale romaine} \chronoperiode[color=cyan,textstyle=\bf,textdepth=35pt] -{-509}{-27}{République romaine} +{–509}{–27}{République romaine} \stopchronology -\stoptyping +\stoptypingTEX \startchronology[startyear=-800,stopyear=500,color=darkgreen] \chronoperiode[color=orange,stopdate=false,textstyle=\it]{-753}{-509}{Période royale romaine} \chronoperiode[color=cyan,textstyle=\bf,textdepth=35pt]{-509}{-27}{République romaine} \stopchronology -\subsection{Différentes options} +\subsection{Couleur d'arrière-plan} +Afin d'éviter que d'éventuels traits verticaux soit superposés avec le texte des périodes sur la frise, \type{chronosys} colorie l'arrière-plan du texte de commentaire en +blanc par défaut. Il est possible de changer cette couleur ou de désactiver cette colorisation (voir \in[chronoperiodsoptions]). +\subsection[chronoperiodsoptions]{Différentes options} Les différentes options de \type{\chronoperiode}\index{chronoperiode} sont listées ici~: -\startitemize +\startitemize[2] \head \type{startdate}\index{startdate} :\par valeur booléenne. Elle indique si la date de départ doit être affichée, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut. \head \type{stopdate}\index{stopdate} :\par valeur booléenne. Elle indique si la date de fin doit être affichée, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut. \head \type{dates}\index{dates} :\par valeur booléenne. Elle indique si les dates de début et de fin doivent être affichées, et doit être soit \type{true} soit \type{false}. Elle vaut \type{true} par défaut. @@ -280,73 +337,114 @@ Les différentes options de \type{\chronoperiode}\index{chronoperiode} sont list \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{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. +\stopitemize \subsection[periodoptions]{Résumé} \placetable[here][fig:chronoperiodeoptions]{Options de \type{chronoperiode}} \starttable[|l|c|l|] \HL\VL\use{3}\ReFormat[cB]{\type{\chronoperiode[}\em ...=...\type{]{...}{...}{...}}}\VL\SR -\VL\type{startdate} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\LR -\VL\type{stopdate} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\LR -\VL\type{dates} \NC=\NC\type{<true>} \em ou \type{<false>}\VL\LR -\VL\type{datesstyle} \NC=\NC\type{<commande>} \em ou \type{<commande#1>}\VL\LR -\VL\type{textstyle} \NC=\NC\type{<commande>} \em ou \type{<commande#1>}\VL\LR +\VL\type{startdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR +\VL\type{stopdate} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR +\VL\type{dates} \NC=\NC\type{<true>} {\em ou} \type{<false>}\VL\LR +\VL\type{datesstyle} \NC=\NC\type{<commande>} {\em ou} \type{<commande#1>}\VL\LR +\VL\type{textstyle} \NC=\NC\type{<commande>} {\em ou} \type{<commande#1>}\VL\LR \VL\type{color} \NC=\NC\type{<couleur>}\VL\LR \VL\type{dateselevation} \NC=\NC\type{<dimension>}\VL\LR -\VL\type{textdeph} \NC=\NC\type{<dimension>}\VL\LR\HL +\VL\type{textdeph} \NC=\NC\type{<dimension>}\VL\LR +\VL\type{ifcolorbox} \NC =\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{colorbox} \NC =\NC \type{<couleur>}\VL\FR\HL \stoptable \section{\type{\chronoevent}} -\subsection[eventnewdate]{Une nouvelle façon d'exprimer la date} + +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. +\subsection{Exemple} + +\starttypingTEX +\def\MyIcon{{\tikzpicture \filldraw +[color=orange](0,0)––(0,5pt)––(5pt,5pt) +––(5pt,0)––cycle;\endtikzpicture}} +\startchronology[startyear=–800,stopyear=500, +color=darkgreen,height=7ex] +\chronoevent[textstyle=\bf, +datesstyle=\it,datesseparation=/,conversionmonth=false, +icon=\MyIcon,year=false]{15/3/–44} +{\vbox{\hbox{\qquad Ides de mars~;}\hbox +{assassinat de Jules César}}} +\stopchronology +\stoptypingTEX +\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}} +\startchronology[startyear=-800,stopyear=500,color=darkgreen,height=7ex] +\chronoevent[textstyle=\bf,datesstyle=\it,datesseparation=/,conversionmonth=false,icon=\MyIcon,year=false]{15/3/-44}{\vbox{\hbox{\qquad Ides de mars~;}\hbox{assassinat de Jules César}}} +\stopchronology + +\subsection{Spécificités} +\subsubsection{Couleur d'arrière-plan} +De même que pour les périodes, \type{chronosys} colorie le fond des textes et dates des événements en blanc, afin de ne pas obtenir ceci : +\starttypingTEX +\startchronology +\chronoevent{1500}{Texte A} +\chronoevent{1525}{Texte B} +\stopchronology +\stoptypingTEX +\startchronology +\chronoevent{1500}{Texte A} +\chronoevent[markdepth=70pt,ifcolorbox=false]{1525}{Texte B} +\stopchronology +mais bien ceci : +\startchronology +\chronoevent[markdepth=70pt]{1525}{Texte B} +\chronoevent{1500}{Texte A} +\stopchronology + +Vous devez placer les événements dans l'ordre du plus éloigné de la frise au plus proche. Vous pouvez bien sûr changer la couleur par défaut ou désactiver ceci (voir \in[chronoeventsoptions]). +\subsubsection[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 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 : -\starttyping +\starttypingTEX \def\chron@selectmonth#1{\ifcase#1\or janvier\or f\'evrier\or - mars\or avril\or mai\or juin\or juillet\or ao\^ut\or septembre\or - octobre\or novembre\or d\'ecembre\fi} -\stoptyping +mars\or avril\or mai\or juin\or juillet\or +ao\^ut\or septembre\or octobre\or novembre\or +d\'ecembre\fi} +\stoptypingTEX Pour changer la langue, il suffit de redéfinir la commande suivant le même modèle. \bigskip Voyons un exemple : -\starttyping -\startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex] -\chronoevent{15/03/-44}{Assassinat de César} +\starttypingTEX +\startchronology[startyear=–44, +stopyear=–43,color=darkgreen,height=7ex] +\chronoevent{15/03/–44} +{Assassinat de César} \stopchronology -\stoptyping +\stoptypingTEX \startchronology[startyear=-44,stopyear=-43,color=darkgreen,height=7ex] \chronoevent{15/03/-44}{Assassinat de César} \stopchronology \blank -En outre, \type{\chronoevent} accepte lui-aussi un argument optionnel entre crochets qui contient les options de personnalisation. -\subsection{Exemple} - -\starttyping -\def\MyIcon{{\starttikzpicture \filldraw -[color=orange](0,0)--(0,5pt)--(5pt,5pt) ---(5pt,0)--cycle;\stoptikzpicture}} -\startchronology[startyear=-800,stopyear=500, -color=darkgreen,height=7ex] -\chronoevent[textstyle={\switchtobodyfont[sansserif]}, -datesstyle=\os,datesseparation=/,conversionmonth=false, -icon=\MyIcon,year=false]{15/3/-44} -{\vbox{\hbox{\qquad Ides de mars~;}\hbox{assassinat de Jules César}}} -\stopchronology -\stoptyping -\def\MyIcon{{\starttikzpicture \filldraw[color=orange](0,0)--(0,5pt)--(5pt,5pt)--(5pt,0)--cycle;\stoptikzpicture}} -\startchronology[startyear=-800,stopyear=500,color=darkgreen,height=7ex] -\chronoevent[textstyle={\switchtobodyfont[sansserif]},datesstyle=\os,datesseparation=/,conversionmonth=false,icon=\MyIcon,year=false]{15/3/-44}{\vbox{\hbox{\qquad Ides de mars~;}\hbox{assassinat de Jules César}}} -\stopchronology -\subsection{Options possibles} +\subsection[chronoeventsoptions]{Options possibles} Voici la liste des options possibles\index{chronoevent}. -\startitemize +\startitemize[2] \head \type{barre}\index{barre} :\par valeur booléenne qui indique si une barre noire verticale doit être placée sur la frise à l'endroit de l'événement. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut. \head \type{date}\index{date} :\par valeur booléenne qui indique si la date de l'événement doit être placée. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut. \head \type{conversionmonth}\index{conversionmonth} :\par valeur booléenne qui indique si le mois de l'événement doit être transformé en nom de mois. Elle doit valeur \type{true} ou \type{false} et vaut \type{true} par défaut. @@ -361,6 +459,11 @@ Voici la liste des options possibles\index{chronoevent}. \head \type{datestyle}\index{datestyle} :\par style à appliquer à l'ensemble de la date, symboles de séparation compris. Ce doit être une \type{commande} ou \type{commande#1}. Elle est vide par défaut. \head \type{datesstyle}\index{datesstyle} :\par style à appliquer à chaque élément de la date séparément, symbole de séparations exclus. Ce doit être une \type{commande} ou \type{commande#1}. Elle est vide par défaut. +\head \type{ifcolorbox} \index{ifcolorbox}: \par valeur booléenne qui indique si le fond du texte de commentaire et de la date de l'événement doivent être coloriés. Elle doit valoir soit \type{true} soit \type{false} et vaut \type{true} par défaut. +\head \type{colorbox}\index{colorbox} : \par couleur du fond du commentaire et de la date. Ce doit être une \type{couleur} reconnue par \type{tikz} 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. \stopitemize \subsection[eventoptions]{Résumé} @@ -368,33 +471,37 @@ Elle est vide par défaut. \placetable[here][fig:chronoeventoptions]{Options de \type{chronoevent}} \starttable[|l|c|l|] \HL\VL\use{3}\ReFormat[cB]{\type{\chronoevent[}\em ...=...\type{]{...}{...}}}\VL\SR -\VL\type{barre}\NC=\NC \type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{date}\NC=\NC \type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{conversionmonth}\NC=\NC \type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{mark}\NC=\NC \type{<true>} \em ou \type{<false>}\VL\FR -\VL\type{icon}\NC=\NC \type{<séquence de texte>} \em ou \type{<commande>} \bf\dots\VL\FR -\VL\type{datesseparation}\NC=\NC \type{<séquence de texte>} \em ou \type{<commande>} \bf\dots\VL\FR +\VL\type{barre}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{date}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{conversionmonth}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{mark}\NC=\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{icon}\NC=\NC \type{<séquence de texte>} {\em ou} \type{<commande>} \bf\dots\VL\FR +\VL\type{datesseparation}\NC=\NC \type{<séquence de texte>} {\em ou} \type{<commande>} \bf\dots\VL\FR \VL\type{markdepth}\NC=\NC \type{<dimension>}\VL\FR \VL\type{iconheight}\NC=\NC \type{<dimension>}\VL\FR -\VL\type{textstyle}\NC=\NC \type{<commande>} \em ou \type{<commande#1>}\VL\FR -\VL\type{datestyle}\NC=\NC \type{<commande>} \em ou \type{<commande#1>}\VL\FR -\VL\type{datesstyle}\NC=\NC \type{<commande>} \em ou \type{<commande#1>}\VL\FR\HL +\VL\type{textstyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR +\VL\type{datestyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR +\VL\type{datesstyle}\NC=\NC \type{<commande>} {\em ou} \type{<commande#1>}\VL\FR +\VL\type{ifcolorbox} \NC =\NC \type{<true>} {\em ou} \type{<false>}\VL\FR +\VL\type{colorbox} \NC =\NC \type{<couleur>}\VL\FR +\VL\type{textwidth} \NC =\NC \type{<dimension>}\VL\FR\HL \stoptable \page[yes] -\section{Changements permanents} -Il est également possible de changer les valeurs par défaut de chaque option en utilisant \type{\setupchronology}, \type{\setupchronoevent} et \type{\setupchronoperiode}.\index{setupchronology}\index{setupchronoperiode} \index{setupchronoevent} Chacune de ces commandes prennent les mêmes options que nous avons vu auparavant respectivement. +\section[permanentchanges]{Changements permanents} +Il est également possible de changer les valeurs par défaut de chaque option 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]). Ainsi, on peut avoir : -\starttyping -\setupchronology{startyear=1000,color=darkblue,stopdate=false} +\starttypingTEX +\setupchronology{startyear=1000,color=darkblue, +stopdate=false} \setupchronoperiode{color=darkgreen} \setupchronoevent{textstyle=\it} \startchronology \chronoperiode{1050}{1450}{Quelque chose} \chronoevent{1600}{autre chose} \stopchronology -\stoptyping +\stoptypingTEX \setupchronology{startyear=1000,color=darkblue,stopdate=false} \setupchronoperiode{color=darkgreen} @@ -407,8 +514,12 @@ Ainsi, on peut avoir : Si vous souhaitez reprendre l'alternance automatique des couleurs des périodes, utilisez -\noindent\type{\setupchronoperiode{color=\chron@periodcolor}} - +\startalignment[middle] +\starttypingTEX +\setupchronoperiode{color=\chron@periodcolor} +\stoptypingTEX +\stopalignment +\catcode`\@=11 Ainsi, on réobtient \setupchronoperiode{color=\chron@periodcolor} \startchronology @@ -416,7 +527,6 @@ Ainsi, on réobtient \chronoevent{1600}{autre chose} \chronoperiode{1800}{1899}{XVIII\high{è} siècle} \stopchronology - \completeindex \midaligned{\button{Aller à la table des matières}[content]} \midaligned{\button{Quitter}[ExitViewer]} diff --git a/Master/texmf-dist/tex/generic/chronosys/chronosys.sty b/Master/texmf-dist/tex/generic/chronosys/chronosys.sty index a77bf8a08d3..184a7703427 100644 --- a/Master/texmf-dist/tex/generic/chronosys/chronosys.sty +++ b/Master/texmf-dist/tex/generic/chronosys/chronosys.sty @@ -35,6 +35,9 @@ \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} \makeatother +\catcode`\!=12 \endinput diff --git a/Master/texmf-dist/tex/generic/chronosys/chronosys.tex b/Master/texmf-dist/tex/generic/chronosys/chronosys.tex index 8ef38106963..817f068b8ae 100644 --- a/Master/texmf-dist/tex/generic/chronosys/chronosys.tex +++ b/Master/texmf-dist/tex/generic/chronosys/chronosys.tex @@ -25,11 +25,30 @@ % \catcode`\@=11 \unless\ifdefined\tikzpicture -\catcode`\!=12\input tikz.tex \relax \usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}\fi +\catcode`\!=12\input tikz.tex \relax\fi %\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}\fi \catcode`\!=11 \let\!chr@verif\relax \def\starttikzpicture{\tikzpicture} \def\stoptikzpicture{\endtikzpicture} +\def\!chrperiodcolorbox#1{% +\setbox\z@ \hbox{\kern2pt#1\kern2pt}% +\dimen@i\ht\z@\advance\dimen@i 2pt\ht\z@\dimen@i +\dimen@i\dp\z@\advance\dimen@i 2pt\dp\z@\dimen@i +\advance\dimen@i\ht\z@ +\dimen@ii\wd\z@ +\setbox\z@\hbox{\tikzpicture\fill[color=\!chr@periodcolorbox]% +(\z@,\z@)--(\dimen@ii,\z@)--(\dimen@ii,\dimen@i)--(\z@,\dimen@i);\endtikzpicture +\kern-\wd\z@\raise2pt\box\z@}\vbox to\z@{\box\z@\vss}} +\def\!chreventcolorbox#1{% +\setbox\z@ \hbox{\kern2pt#1\kern2pt}% +\dimen@i\ht\z@\advance\dimen@i 2pt\ht\z@\dimen@i +\dimen@i\dp\z@\advance\dimen@i 2pt\dp\z@\dimen@i +\advance\dimen@i\ht\z@ +\dimen@ii\wd\z@ +\setbox\z@\hbox{\tikzpicture\fill[color=\!chr@eventcolorbox]% +(\z@,\z@)--(\dimen@ii,\z@)--(\dimen@ii,\dimen@i)--(\z@,\dimen@i);\endtikzpicture +\kern-\wd\z@\raise2pt\box\z@}\vbox to\z@{\box\z@\vss}} \input chronosyschr.tex \catcode`\!=12 +\catcode`\@=12 \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 d5ab80b6375..d6af427d142 100644 --- a/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex +++ b/Master/texmf-dist/tex/generic/chronosys/chronosyschr.tex @@ -23,21 +23,23 @@ % % The Current Maintainer of this work is Mathieu Long. % -\expandafter\ifx\csname chronosys @\endcsname\relax\else\immediate\write16{Le fichier a d\'ej`a \'et\'e charg\'e}\endinput\fi -\ifx\numexpr\UNDEFINED\immediate\write16{D\'esol\'e, mais ce fichier utilise les primitives E-TeX, vous ne pouvez pas utiliser le moteur TeX.}\endinput\fi +\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.01} +\def\chron@sysversion{1.10} \catcode`\@=11 \catcode`\!=11 -\def\error!message{\errmessage{La commande a d\'ej\`a \'et\'e d\'efinie.}} % +\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\error!message \fi #1#2} % +\def\!chrverif#1#2{\ifdefined#2\expandafter\error!message \fi #1#2} % % \!chrverif\def\!gobblethree#1#2#3{} \!chrverif\def\!gobble#1{} -\ifdefined\@ifnextchar \def\:{\let\ifnexttoken=\@ifnextchar\let\!gobble=\@gobble}\expandafter\:\else -\ifdefined\doifnextcharelse \def\:{\let\ifnexttoken=\doifnextcharelse}\expandafter\:\else +\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}% @@ -60,26 +62,26 @@ \let\ifnexttoken\@ifnextchar \fi\fi -\newif\ifonearg \newif\iftwoarg -\!chrverif\def\traiteoneargument#1{\ifnexttoken[{\oneargtrue#1}{\oneargfalse#1[]}} +\newif\if!chronearg \newif\if!chrtwoarg +\!chrverif\def\!chrtraiteoneargument#1{\ifnexttoken[{\!chroneargtrue#1}{\!chroneargfalse#1[]}} -\!chrverif\def\traitetwoargument#1{\let\todoafterarg#1% -\ifnexttoken[{\oneargtrue\savefirsttwoarg}{\oneargfalse\twoargfalse#1[][]}} -\!chrverif\def\savefirsttwoarg[#1]{\ifnexttoken[{\twoargtrue \todoafterarg[#1]}{\twoargfalse \todoafterarg[#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][]}} \!chr@verif\newif\ifarvirgule -\!chrverif\def\traitingargvirgule[#1]#2{\def\!tr@itintargvirgule{#2} \tr@itingargvirgule#1,\end} -\!chrverif\def\tr@itingargvirgule#1,{\ifnexttoken\end{\dotraiteargvirgule#1,=\end,\!gobble}{\dotraiteargvirgule#1,=\end,\tr@itingargvirgule}} -\!chrverif\def\dotraiteargvirgule#1=#2,{\ifx\end#2\else \dotr@iteargvirgule#1=#2,\expandafter\!gobblethree\fi} -\!chrverif\def\dotr@iteargvirgule#1=#2,{\ifcsname \!tr@itintargvirgule#1\endcsname \expandafter\def\csname \!tr@itintargvirgule#1\endcsname{#2}\fi } +\!chrverif\def\!chrtraitingargvirgule[#1]#2{\def\!tr@itintargvirgule{#2} \!chrtr@itingargvirgule#1,\end} +\!chrverif\def\!chrtr@itingargvirgule#1,{\ifnexttoken\end{\!chrdotraiteargvirgule#1,=\end,\!gobble}{\!chrdotraiteargvirgule#1,=\end,\!chrtr@itingargvirgule}} +\!chrverif\def\!chrdotraiteargvirgule#1=#2,{\ifx\end#2\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}\fi } -\!chrverif\def\startchronology{\traiteoneargument\dostartchronology} +\!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\!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 \!chrverif\def\!chr@color{black} \!chrverif\def\!chr@arrowcolor{\!chrdefaultarrowcolor} \!chr@verif\newdimen\!chr!realwidth \!chrverif\def\!chr@datesstyle{} \!chr@verif\newdimen\!chr!unitperyear @@ -92,8 +94,8 @@ \def\!chr@arrow{\!chrdefaultarrow}\def\!chr@arrowwidth{\!chrdefaultarrowwidth}\def\!chr@arrowheight{\!chrdefaultarrowheight}\def\!chr@color{\!chrdefaultcolor}% \def\!chr@arrowcolor{\!chrdefaultarrowcolor}\def\!chr@datesstyle{\!chrdefaultdatesstyle}\def\!chr@startdate{\!chrdefaultstartdate}% \def\!chr@stopdate{\!chrdefaultstopdate}\def\!chr@dateselevation{\!chrdefaultdateselevation}% -\def\!chr@box{\!chrdefaultbox}% -\ifonearg \traitingargvirgule[#1]{!chr@}\fi \!chrheight\!chr@height \!chrstartyear\!chr@startyear \!chrstopyear\!chr@stopyear \!chrwidth\!chr@width % +\def\!chr@box{\!chrdefaultbox}\def\!chr@align{\!chrdefaultalign}% +\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% @@ -115,13 +117,16 @@ \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{\traitingargvirgule[#1]{!chrdefault}} +\!chrverif\def\setupchronology#1{\!chrtraitingargvirgule[#1]{!chrdefault}} \!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\newif\if!chrperioddates \!chrverif\def\!chrperiodedefaultdates{true} -\!chr@verif\newif\if!chrperiodstartdate \!chr@verif\newif\if!chrperiodstopdate \!chrverif\def\!chrperiodedefaultstartdate{true} \!chrverif\def\!chrperiodedefaultstopdate{true} +\!chr@verif\newif\if!chrperiodstartdate \!chr@verif\newif\if!chrperiodstopdate \!chrverif\def\!chrperiodedefaultstartdate{true} +\!chr@verif\newif\if!chrperiodifcolorbox \!chrverif\def\!chrperiodedefaultifcolorbox{true} +\!chrverif\def\!chrperiodedefaultstopdate{true} \!chrverif\def\!chrperiodedefaultcolorbox{white} \!chr@verif\newdimen\!chrperioddateselevation \!chrverif\def\!chrperiodedefaultdateselevation{0pt} +\!chr@verif\newdimen\!chrperiodeventtextwidth %\!chrverif\def\!chr!periodec@lor{\ifcase\!chr!periodecolornum blue\or red\or cyan\or purple\or yellow\fi} @@ -136,36 +141,49 @@ \!chrverif\def\!chr!periodecoloradvance{\global\advance\!chr!periodecolornum\@ne\relax\ifnum\!chr!periodecolornum=5\relax\global\!chr!periodecolornum\z@\fi} \!chrverif\def\!chrperiodedefaultdatesstyle{} \!chrverif\def\!chrperiodedefaulttextstyle{} -\!chrverif\def\chronoperiode{\traiteoneargument\dochronoperiode} +\!chrverif\def\chronoperiode{\!chrtraiteoneargument\dochronoperiode} \!chrverif\def\dochronoperiode[#1]#2#3#4{\def\!chr@periodtextdepth{\!chrperiodedefaulttextdepth}\def\!chr@perioddates{\!chrperiodedefaultdates}% \def\!chr@periodcolor{\!chrperiodedef@ultcolor}\def\!chr@perioddatesstyle{\!chrperiodedefaultdatesstyle}% \def\!chr@periodstartdate{\!chrperiodedefaultstartdate}\def\!chr@periodstopdate{\!chrperiodedefaultstopdate}% \def\!chr@periodtextstyle{\!chrperiodedefaulttextstyle}\def\!chr@perioddates{\!chrperiodedefaultdates}% \def\!chr@perioddateselevation{\!chrperiodedefaultdateselevation}% +\def\!chr@periodifcolorbox{\!chrperiodedefaultifcolorbox}\def\!chr@periodcolorbox{\!chrperiodedefaultcolorbox}% \!chr!periodecolor % -\ifonearg -\traitingargvirgule[#1]{!chr@period}\fi\!chrperiodtextdepth\!chr@periodtextdepth +\if!chronearg +\!chrtraitingargvirgule[#1]{!chr@period}\fi\!chrperiodtextdepth\!chr@periodtextdepth \csname !chrperioddates\!chr@perioddates\endcsname \csname !chrperiodstartdate\!chr@periodstartdate\endcsname \csname !chrperiodstopdate\!chr@periodstopdate\endcsname +\csname !chrperiodifcolorbox\!chr@periodifcolorbox\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 \!chr!starttingtraitement\numexpr#2-\!chrstartyear\relax\dimen@\dimexpr\count@\!chr!unitperyear\relax \!chr!dimentraitement\dimexpr\!chr!starttingtraitement\!chr!unitperyear\relax % % \dimen@i\wd\!chrflechebox -\setbox\!chrflechebox\hbox{\unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement\lower\!chrperiodtextdepth\hbox to\z@{\hbox to\dimen@{\hss\!chr@periodtextstyle{#4}\hss}\hss}% -\if!chrperioddates\if!chrperiodstartdate\raise\!chrperioddateselevation\hbox to\z@{\hss\!chr@perioddatesstyle{#2}\hss}\fi\fi \starttikzpicture\filldraw[color=\!chr@periodcolor](0,0)--(\dimen@,0)--(\dimen@,\!chrheight)--(0,\!chrheight)--cycle;\draw[color=\!chr!periodeschwarzodergr@u](0,0)--(0,\!chrheight);\draw [color=\!chr!periodeschwarzodergr@u](\dimen@,0)--(\dimen@,\!chrheight);\if!chrbox\draw[color=black](0,-0.2pt)--(\dimen@,-0.2pt)\fi\stoptikzpicture -\if!chrperioddates\if!chrperiodstopdate\raise\!chrperioddateselevation \hbox to\z@{\hss\!chr@perioddatesstyle{#3}\hss}\fi\fi}\!chr!periodecoloradvance\fi\fi\fi\fi\fi} - -\!chrverif\def\setupchronoperiode#1{\traitingargvirgule[#1]{!chrperiodedefault}} - -\!chrverif\def\chronoevent{\traiteoneargument\dochronoevent} +\setbox\!chrflechebox\hbox{\unhbox\!chrflechebox\kern-\dimen@i\kern\!chr!dimentraitement\lower\!chrperiodtextdepth\hbox to\z@ +{\hbox to\dimen@ +{\hss \if!chrperiodifcolorbox\expandafter\!chrperiodcolorbox\fi{\!chr@periodtextstyle{#4}}\hss}\hss}% +\if!chrperioddates\if!chrperiodstartdate\raise\!chrperioddateselevation +\hbox to\z@{\hss\!chr@perioddatesstyle{#2}\hss}\fi\fi +\starttikzpicture \filldraw [color=\!chr@periodcolor](\z@,\z@)--(\dimen@,\z@)--(\dimen@,\!chrheight)--(\z@,\!chrheight)--cycle;\draw[color=\!chr!periodeschwarzodergr@u](\z@,\z@)--(\z@,\!chrheight);% +\draw [color=\!chr!periodeschwarzodergr@u](\dimen@,\z@)--(\dimen@,\!chrheight);% +\if!chrbox\draw[color=black](\z@,-0.2pt)--(\dimen@,-0.2pt)\fi +\stoptikzpicture +\if!chrperioddates\if!chrperiodstopdate\raise\!chrperioddateselevation \hbox to\z@ +{\hss \!chr@perioddatesstyle{#3}\hss}\fi\fi}\!chr!periodecoloradvance\fi\fi\fi\fi\fi} + +\!chrverif\def\setupchronoperiode#1{\!chrtraitingargvirgule[#1]{!chrperiodedefault}} + +\!chrverif\def\chronoevent{\!chrtraiteoneargument\dochronoevent} \!chr@verif\newif\if!chreventspecifiedday\!chr@verif\newif\if!chreventspecifiedmonth \!chr@verif\newif\if!chreventbarre \!chrverif\def\!chreventdefaultbarre{true} -\!chrverif\def\!chreventdefaulticon{} \!chr@verif\newdimen\!chreventmarkdepth \!chrverif\def\!chreventdefaultmarkdepth{10pt} +\!chrverif\def\!chreventdefaulticon{} \!chr@verif\newdimen\!chreventmarkdepth +\!chrverif\def\!chreventdefaultmarkdepth{10pt} \!chrverif\def\!chreventdefaulttextstyle{} \!chr@verif\newif\if!chreventmark \!chrverif\def\!chreventdefaultmark{true} \!chr@verif\newif\if!chreventdate \!chrverif\def\!chreventdefaultdate{true} \!chr@verif\let\!chreventdefaultdatesseparation\space \!chr@verif\newif\if!chreventconversionmonth \!chrverif\def\!chreventdefaultconversionmonth{true} -\!chrverif\def\!chreventdefaultdatestyle{} \!chrverif\def\!chreventdefaultdatesstyle{} \!chr@verif\newif\if!chreventyear \!chrverif\def\!chreventdefaultyear{true} +\!chr@verif\newif\if!chreventifcolorbox \!chrverif\def\!chreventdefaultifcolorbox{true} +\!chrverif\def\!chreventdefaultdatestyle{} \!chrverif\def\!chreventdefaultdatesstyle{} \!chr@verif\newif\if!chreventyear \!chrverif\def\!chreventdefaultyear{true} \!chrverif\def\!chreventdefaulttesttextwidth{\relax} \!chrverif\def\!chreventdefaulticonheight{0.5\!chrheight} \!chr@verif\newdimen\!chreventiconheight +\!chrverif\def\!chreventdefaultcolorbox{white} \!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}} @@ -178,10 +196,15 @@ \def\!chr@eventdate{\!chreventdefaultdate}\def\!chr@eventdatesseparation{\!chreventdefaultdatesseparation}% \def\!chr@eventconversionmonth{\!chreventdefaultconversionmonth}\def\!chr@eventdatestyle{\!chreventdefaultdatestyle}% \def\!chr@eventdatesstyle{\!chreventdefaultdatesstyle}\def\!chr@eventyear{\!chreventdefaultyear}\def\!chr@eventiconheight{\!chreventdefaulticonheight}% -\ifonearg \traitingargvirgule[#1]{!chr@event}\fi +\def\!chr@eventifcolorbox{\!chreventdefaultifcolorbox}\def\!chr@eventcolorbox{\!chreventdefaultcolorbox}%. +\def\!chr@eventtextwidth{\relax}% +\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 +%\def\!chr@eventtextwidth{\relax}% \!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 % @@ -194,13 +217,34 @@ \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\!chr@eventdatestyle{\if!chreventspecifiedday % +\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\hbox to\z@{\hss\!chr@eventtextstyle{#3}\hss}\ifdim\!chreventmarkdepth>0pt\relax\vss\fi}}\if!chreventmark\vrule height0pt depth\!chreventmarkdepth\fi \setbox0\vbox{\if!chreventdate\hbox{#2}\fi\hbox{#3}}\lower\dimexpr\dp0+\ht0+\!chreventmarkdepth+2pt\relax\hbox{}} +}}\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@ \vtop {\hsize\!chrperiodeventtextwidth #3} +\else #3\fi }}\lower\dimexpr\dp0+\ht0+\!chreventmarkdepth+2pt\relax\hbox{} +} \fi\fi\fi} -\!chrverif\def\setupchronoevent#1{\traitingargvirgule[#1]{!chreventdefault}} -\!chrverif\def\stopchronology{\goodbreak\box\!chrflechebox\endgroup\bigskip} +\!chrverif\def\setupchronoevent#1{\!chrtraitingargvirgule[#1]{!chreventdefault}} + +\!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} -\catcode`\!=11
\ No newline at end of file +\!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} diff --git a/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex b/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex index d4745992c59..d8e0561d706 100644 --- a/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex +++ b/Master/texmf-dist/tex/generic/chronosys/x-chronosys.tex @@ -27,5 +27,11 @@ \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=-1pt,location=low] +\let\!chreventcolorbox\chreventframedcolorbox +\let\!chrperiodcolorbox\chrperiodframedcolorbox \input chronosyschr.tex +\catcode`\@=12 +\catcode`\!=12 \endinput
\ No newline at end of file |