diff options
author | Norbert Preining <norbert@preining.info> | 2020-04-07 03:02:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-04-07 03:02:57 +0000 |
commit | 1d7a1c697696d66a97b64894f8553a61717928d9 (patch) | |
tree | b50205ab031614b7d3393e85e42f35a207014219 /macros/latex/contrib/tkz-doc/latex | |
parent | 937315c7f95870724a86e99576effd7945092dae (diff) |
CTAN sync 202004070302
Diffstat (limited to 'macros/latex/contrib/tkz-doc/latex')
-rw-r--r-- | macros/latex/contrib/tkz-doc/latex/couverture.tex | 98 | ||||
-rw-r--r-- | macros/latex/contrib/tkz-doc/latex/tkz-doc.cfg | 88 | ||||
-rw-r--r-- | macros/latex/contrib/tkz-doc/latex/tkz-doc.cls | 314 | ||||
-rw-r--r-- | macros/latex/contrib/tkz-doc/latex/tkzexample.sty | 505 |
4 files changed, 1005 insertions, 0 deletions
diff --git a/macros/latex/contrib/tkz-doc/latex/couverture.tex b/macros/latex/contrib/tkz-doc/latex/couverture.tex new file mode 100644 index 0000000000..ade0ca4551 --- /dev/null +++ b/macros/latex/contrib/tkz-doc/latex/couverture.tex @@ -0,0 +1,98 @@ +% encoding: utf8 +% Copyright 2020 Alain Matthes +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status “maintained”. +% +% The Current Maintainer of this work is Alain Matthes. + +%<--------- Couverture des documentations -------------------------------- +\def\fileversion{1.4c} +\def\filedate{2020/03/20} +\typeout{2020/03/20 1.4c couverture.tex} +%<------------------ Make Title ------------------------------------------ + +\renewcommand\maketitle{% +\null +\AddToShipoutPicture*{% +\setlength\unitlength{1mm} +\put(0,0){% + \makebox(0,0)[lb]{% + \color{myblue!10}\rule{\paperwidth}{\paperheight}% + }% + }% +\put(0,0){% + \makebox(0,0)[lb]{% + \color{myblue}\rule{40mm}{\paperheight}% + }% + }% +\put(20,270){% 270 en portrait 180 + \rotatebox{90}{% + \makebox(0,0)[r]{% + \fontsize{30}{30}\color{myblue!50!white}% + \bfseries + \selectfont{\@title\ \tkzversionofpack}\hfill% + }% + }% + }% +\put(60,60){% +\begin{pgfpicture} +\pgfsys@transformxyscale{.5}{.5} +\pgfmathdeclarerandomlist{color}{{myblue}{DarkBlue}{SteelBlue}{blue}{MidnightBlue}} + \foreach \a in {1,...,5}{% + \pgfmathrandominteger{\x}{1}{300}% + \pgfmathrandominteger{\y}{1}{200}% + \pgfmathrandominteger{\r}{20}{100}% + \pgfmathrandominteger{\s}{5}{95}% + \pgfmathrandominteger{\o}{50}{80}% + \pgfmathrandomitem{\c}{color}% + \pgfdeclareradialshading{ballshading}{% + \pgfpoint{-10bp}{10bp}}% + {% + color(0bp)=(\c!15!white); + color(9bp)=(\c!75!white); + color(18bp)=(\c!70!black); + color(25bp)=(\c!50!black); + color(50bp)=(black)% + }% + \pgfsetfillopacity{\o/100}% + \pgfpathcircle{\pgfpoint{+\x pt}{+\y pt}}{+\r pt} + \pgfshadepath{ballshading}{\s}% + \pgfusepath{}% + }% + \end{pgfpicture}} + +\put(60,250){% 60,250 en portait 120,180 + \makebox(0,0)[l]{% + \begin{tikzpicture} + \nodeshadowedone(2,-1.25){\fontsize{60}{60} + \selectfont{\tkznamecollection}} + \end{tikzpicture} + }% + }% +\put(120,40){% + \makebox(0,0)[l]{% + \fontsize{17}{21} + \textcolor{sectioncolor}{\selectfont{\tkzauthorofpack}}% + }% + }% +\put(120,20){% + \makebox(0,0)[l]{% + \textcolor{sectioncolor}{\url{\tkzurlauthorcom}}% + }% + }% +\put(120,30){% + \makebox(0,0)[l]{% + \textcolor{sectioncolor}{\today \ \ Documentation V.\tkzversionofdoc}}% + }% + }% +\setcounter{footnote}{0}% +}% +%<----------------------- End Couverture ----------------------------> +\endinput diff --git a/macros/latex/contrib/tkz-doc/latex/tkz-doc.cfg b/macros/latex/contrib/tkz-doc/latex/tkz-doc.cfg new file mode 100644 index 0000000000..9ab589fc50 --- /dev/null +++ b/macros/latex/contrib/tkz-doc/latex/tkz-doc.cfg @@ -0,0 +1,88 @@ +% Copyright 2020 Alain Matthes +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status “maintained”. +% +% The Current Maintainer of this work is Alain Matthes. + +% original tkz-doc.cfg +% +% If you modify this original file, YOUR CHANGES WILL BE LOST when it is +% updated. Instead, put your changes in the entire copy of tkz-base.cfg +% and save the file in a directory part of your TEXINPUTS environment +% variable. +%=============================================================================== + +\def\fileversion{1.4c} +\def\filedate{2020/03/20} +\typeout{2020/03/20 1.4c tkz-doc.cfg} + +% ============= colors ========================================================= + +% \definecolor [⟨type⟩]{⟨name⟩}{⟨model-list⟩}{⟨spec-list⟩} +% \providecolor [⟨type⟩]{⟨name⟩}{⟨model-list⟩}{⟨spec-list⟩} +% \colorlet [⟨type⟩]{⟨name⟩}[⟨num model⟩]{⟨color⟩} +\definecolor{myblue}{RGB}{020,120,180} +\definecolor{fondpaille}{cmyk}{0,0,0.1,0} +\definecolor{bistre}{rgb}{.75,.50,.30} +\definecolor{textcolor}{RGB}{0, 0, 0} +\providecolor{bistre}{rgb}{.75,.50,.30} +\definecolor{mygray}{gray}{0.1} + +\colorlet{sectioncolor}{MidnightBlue} +\colorlet{titlecolorbox}{gray!10} +\colorlet{pdflinkcolor}{myblue} +\colorlet{pdfurlcolor}{MidnightBlue} +\colorlet{pdffilecolor}{Peach} +\colorlet{stringcolor}{myblue!40!black!100} +\colorlet{commencolor}{blue!0!black!100} + +\colorlet{graphicbackground}{white} +\colorlet{codebackground}{lightgray!30} +\colorlet{codeonlybackground}{lightgray!30} +\colorlet{numbackground}{white} +\colorlet{textcodecolor}{darkgray} +\colorlet{numcolor}{MidnightBlue} + +\definecolor{Salmon}{RGB}{178,51,51} +\definecolor{BrickRed}{RGB}{233,49,16} +\definecolor{TealBlue}{RGB}{16,83,165} +\definecolor{ForestGreen}{RGB}{10,112,43} +\definecolor{Tangerine}{RGB}{244,176,108} +\definecolor{DarkBrown}{RGB}{130,65,0} +\definecolor{blueGrey}{rgb}{0.4,0.48,0.53} +\def\tkzred{\color{red}} +\def\tkzblue{\color{blue}} +%--------------- mots importants et macros --------------------------------- +\newcommand*{\BS}{\texttt{\char92}} +\newcommand*{\tkz}{T{\em k}Z} +\newcommand*{\PGF}{\tkzname{PGF}} +\newcommand*{\TIKZ}{Ti\textsl{k}Z} +\newcommand*{\pdf}{\textsc{pdf}} +\newcommand*{\pgfname}{\textsc{pgf}} +\newcommand*{\tikzname}{Ti{\em k}Z} +\newcommand*{\tkzdft}[1]{{\texttt{#1}}} +\newcommand*{\tkzAttention}[3]{\ \\\llap{\textcolor{#3}{#1\hskip #2}}} +\newcommand*{\tkzHand}{\ \\\llap{\textcolor{red}{\lefthand\hskip1em}}} +\newcommand*{\tkzBomb}{\ \\\llap{\textcolor{red}{\bomb\hskip1em}}} +\newcommand*{\tkzTwoBomb}{\ \\\llap{\textcolor{red}{\bomb\ \bomb\hskip1em}}} +\newcommand*{\tkzname}[1]{\textbf{\texttt{\textcolor{MidnightBlue}{#1}}}} +\newcommand*{\tkzimp}[1]{\textbf{#1}} +\newcommand*{\tkzHandBomb}{\ \\\llap{\textcolor{red}{\lefthand\ \bomb\hskip1em}}} +\providecommand\LaTeX{L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em\TeX} +\providecommand\LATEX{\LaTeX} +\renewcommand\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\spacefactor1000} +\providecommand\TEX{\TeX} +%------------------------------------------------------------------------------- +\def\tkz@background@color{white} +\def\tkz@text@color{black} +\global\edef\tkz@suc@bkc{\tkz@background@color} +\global\edef\tkz@suc@txt{\tkz@text@color} +%------------------------------------------------------------------------------- +\endinput diff --git a/macros/latex/contrib/tkz-doc/latex/tkz-doc.cls b/macros/latex/contrib/tkz-doc/latex/tkz-doc.cls new file mode 100644 index 0000000000..b78883f11c --- /dev/null +++ b/macros/latex/contrib/tkz-doc/latex/tkz-doc.cls @@ -0,0 +1,314 @@ +% tkz-doc.cls +% encoding: utf8 +% Copyright 2020 Alain Matthes +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status “maintained”. +% +% The Current Maintainer of this work is Alain Matthes. +% +% tkz-doc class for use with the tkz documentation +% ( AlterMundus Collection ). +% +%% Objet : Classe LaTeX et Styles pour créer des documentations. +%<-------------- Définitions relatives au package ---------------------------> +\newcommand*{\PackageName}{tkz-doc} +\newcommand*{\PackageVersion}{1.4c} +\newcommand*{\filedate}{2020/03/20} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} + +%<---------------------- Identification Part --------------------------------> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{\PackageName}[% + \filedate\space Version:\space\PackageVersion\space % + tkz documentation class based on scrartcl] +\newif\if@tkzcadre +\@tkzcadrefalse +\DeclareOption{cadre}{\@tkzcadretrue} +\ProcessOptions\relax +\LoadClass[titlepage,a4paper]{scrartcl} +%<----------------- loading some packages ----------------------------------> +% dvipsnames loads a set of 68 cmyk colors as defined in the dvips driver. +% svgnames loads a set of 151 rgb color names +% obsolete usenames +\PassOptionsToPackage{dvipsnames,svgnames}{xcolor} +%<-------------------------------------------------------------------------->- +\KOMAoptions{twoside=false} +%<-------------------------------------------------------------------------->- +\RequirePackage{framed,eso-pic} +\RequirePackage[bottom,stable,ragged]{footmisc} +\RequirePackage[automark,markcase=ignoreuppercase]{scrlayer-scrpage} +%<------------- define important words ----------------------------------> +\InputIfFileExists{tkz-doc.cfg}{\typeout{Local configuration file tkz-doc.cfg found and used}}{\typeout{tkz-doc.cfg not found}} + %<-------------------------------------------------------------------------->- +\pagestyle{scrheadings} +\clearscrheadings +\clearscrplain +\ohead{\textcolor{sectioncolor}{\pagemark}} +\ihead{\textcolor{sectioncolor}{\headmark}} +\rofoot{\textcolor{sectioncolor}{\tkznamecollection}} +\lofoot{\textcolor{sectioncolor}{\tkznameofpack}} + +\automark[subsection]{section} +\KOMAoptions{headsepline=.4pt} +\addtokomafont{headsepline}{\color{sectioncolor}} + +\KOMAoptions{footsepline=.4pt} +\addtokomafont{footsepline}{\color{sectioncolor}} + +\setheadwidth[0pt]{text} +\setfootwidth[0pt]{text} +\renewcommand{\footnoterule}{\vspace*{-3pt}{% + \color{sectioncolor}\hrule width 2in height 0.4pt}\vspace*{2.6pt}} +\deffootnote{1.5em}{1em}{\makebox[1.5em][l]{\thefootnotemark}} +\addtolength{\skip\footins}{\baselineskip}% +%<------------------– En-tête et pied de page ------------------------------ +\pagenumbering{arabic} +\newcommand\SectionFontStyle{\ttfamily} +\setkomafont{sectioning}{\bfseries\SectionFontStyle} +\setkomafont{pagenumber}{\bfseries\SectionFontStyle} +\setkomafont{pagehead}{\small\ttfamily} +\setkomafont{pagefoot}{\small\ttfamily} +\setkomafont{descriptionlabel}{\itshape} +\addtokomafont{sectioning}{\color{sectioncolor}} +\renewcommand*{\raggedsection}{\raggedright} +%<--------------------------------------------------------------------------- +\newcounter{cnt}\setcounter{cnt}{1} +\setcounter{secnumdepth}{3}% +\setcounter{tocdepth}{3} +\color{blue} +%<------------------ Éxécution et chargement ----------------------------- + + +\RequirePackage{tikz} +\usetikzlibrary{babel, + decorations.shapes, + decorations.text, + decorations.pathreplacing, + decorations.pathmorphing, + decorations.markings, + shadows} +\RequirePackage{tabularx,ragged2e} +\RequirePackage[bottom,stable,ragged]{footmisc} +\raggedbottom +\newbox\tkzbox +%<--------------- some macros -------------------------------------------- +\def\nodeshadowedone(#1,#2)#3{% +\node[myblue,above,inner sep=0pt]{\global\setbox\tkzbox=\hbox{#3}\copy\tkzbox}; +\node[above,yscale=#2,inner sep=0pt,xslant=#1,myblue!60]{\box\tkzbox}; +}% + % some of the macros below are absolete +\def\nameoffile#1{\gdef\@nameoffile{#1}} +\def\@nameoffile{\@latex@warning@no@line{No \noexpand\nameoffile given}} +\long\def\defoffile#1{\protected@xdef\@defoffile{\@defoffile{#1}}} +\let\@defoffile\@empty +%<------------------------------------------------------------------------- +\newcommand*{\addbs}[1]{\texttt{\textbackslash#1}} +\newcommand*{\@CellCode}[1]{} +\newcommand*{\thead}{\noalign{\iffalse}\fi\@thead} +\newcommand*{\@thead}[1][\em\ttfamily]{\gdef\@CellCode{#1}\iffalse{\fi}} +\newcommand*{\tbody}{\noalign{\gdef\@CellCode{}}} +\newcolumntype{I}{>{\@CellCode}} +%<-------------------------- NewMacroBox -----------------------------------> +\newcommand*{\ActivBoxName}{} +\newenvironment{NewMacroBox}[2]{% +\parindent=0pt +\renewcommand*{\ActivBoxName}{#1} +\def\FrameCommand{\color{myblue}{\vrule width 1pt\hspace{3pt}}}% +\MakeFramed{\advance\hsize-\width}% +\noindent +\makebox[0pt][l]{% + \hspace{-4pt}% + \setlength{\fboxrule}{1pt}% + \setlength{\fboxsep}{3pt}% + \fcolorbox{sectioncolor}{titlecolorbox}{% + \rule{6pt}{0pt}% + \makebox[\width+6pt][l]{\tkzcname{#1#2}}% + }% +}\\*[.5\baselineskip]% +\noindent +% \ignorespaces\tkzcname{#1#3} +\Imacro{#1}% +}% +{% +\par\noindent% +\makebox[0pt][l]{% +\hspace{-6pt}% +\rule{6pt}{1pt}% +\rule{\textwidth}{1pt}% +\hspace{-1pt}% +\rule{1pt}{10pt}% +}% +\endMakeFramed +\noindent +\ignorespacesafterend +\par\medskip +}% +%<----------------- end NewMacroBox -----------------------------------------> + +%<----------------------------- NewEnvBox -----------------------------------> +\let\fram@d=\MakeFramed \let\endfram@d=\endMakeFramed + +\newenvironment{NewEnvBox}[1]{% +\parindent=0pt +\renewcommand*{\ActivBoxName}{#1} +%\gdef\tkzEnvMacro{#1} +\def\FrameCommand{\color{sectioncolor}{\vrule width 1pt\hspace{3pt}}}% +\MakeFramed{\advance\hsize-\width}% +\noindent +\makebox[0pt][l]{% +\hspace{-4pt}% +\setlength{\fboxrule}{1pt}% +\setlength{\fboxsep}{3pt}% +\fcolorbox{sectioncolor}{titlecolorbox}{% +\rule{6pt}{0pt}% +\makebox[\width+6pt][l]{% + \tkzcname{\textcolor{sectioncolor}{begin}\{\ActivBoxName\}}{\oarg{options}}% + \hspace*{.25cm}\meta{environment contents}\hspace*{.25cm}% + \tkzcname{\textcolor{sectioncolor}{end}\{\ActivBoxName\}}}% +}% +}\\*[.5\baselineskip]% +\noindent +% \ignorespaces\tkzcname{#1#3} +\Ienv{#1} +\color{myblue}}{% +\par\noindent% +\makebox[0pt][l]{% +\hspace{-6pt}% +\rule{6pt}{1pt}% +\rule{\textwidth}{1pt}% +\hspace{-1pt}% +\rule{1pt}{10pt}% +}% +\endMakeFramed +\noindent +\ignorespacesafterend +\par\medskip +} +%<------------------- end NewEnvBox -----------------------------------------> +%<----------------------------- def macro arg opt----------------------------> +\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}} +\def\cmd@to@cs#1#2{\char\number`#2\relax} +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\providecommand\marg[1]{{\ttfamily\char`\{}\opt{\meta{#1}}{\ttfamily\char`\}}} +\providecommand\oarg[1]{{\ttfamily[}\opt{\meta{#1}}{\ttfamily]}} +\providecommand\parg[1]{{\ttfamily(}\opt{\meta{#1}}{\ttfamily)}} +\newcommand\opt[1]{{\color{myblue}#1}} +\newcommand\ooarg[1]{{\ttfamily[}\meta{#1}{\ttfamily]}} +\newcommand*{\var}[1]{\{\opt{\meta{#1}}\}} +\newcommand*{\varp}[1]{\big(\opt{\meta{#1}}\big)} +\newcommand*{\vara}[1]{\{#1\}} +% -- Macros pour indexation ------------------------------------------------- +\newcommand*{\tkzNamePack}[1]{\NamePack{#1}} +\newcommand*{\tkzNameMacro}[1]{\tkzcname{#1}\Imacro{#1}} +\newcommand*{\tkzNameEnv}[1]{\tkzname{#1}\Ienv{#1}} +\newcommand*{\Ilib}[1]{\index{Library_1@\texttt{Library}!\texttt{#1}}} +\newcommand*{\Ienv}[1]{\index{Environment_1@\texttt{Environment}!\texttt{#1}}} +\newcommand*{\IargEnv}[2]{\index{#1_2@\texttt{#1: arguments}!\texttt{#2}}} +\newcommand*{\IargNameEnv}[2]{\texttt{#2}\index{#1_2@\texttt{#1: arguments}!\texttt{#2}}} +\newcommand*{\IoptEnv}[2]{\index{#1_3@\texttt{#1: options}!\texttt{#2}}} +\newcommand*{\IoptNameEnv}[2]{\texttt{#2}\index{#1_3@\texttt{#1: options}!\texttt{#2}}} +\newcommand*{\Imacro}[1]{\index{#1_1@\texttt{\textbackslash#1}}}%n +\newcommand*{\Iarg}[2]{\index{#1_2@\texttt{\textbackslash#1: arguments}!\texttt{#2}}} +\newcommand*{\IargName}[2]{\texttt{#2}\index{#1_2@\texttt{\textbackslash#1: arguments}!\texttt{#2}}} +\newcommand*{\IoptName}[2]{\texttt{#2}\index{#1_3@\texttt{\textbackslash#1: options}!\texttt{#2}}} +\newcommand*{\Iopt}[2]{\index{#1_3@\texttt{\textbackslash#1: options}!\texttt{#2}}} +\newcommand*{\Istyle}[2]{\index{#1_3@\texttt{\textbackslash#1: styles}!\texttt{#2}}} +\newcommand*{\IstyleEnv}[2]{\index{#1_3@\texttt{#1: styles}!\texttt{#2}}} +\newcommand*{\Iaccent}[2]{\index{#1@\texttt{#2}}} +\newcommand*{\NameLib}[1]{\texttt{\textcolor{MidnightBlue}{#1}}\index{Ti\emph{k}Z Library !#1@\texttt{#1}}} +\newcommand*{\NameSys}[1]{\texttt{#1}\index{Operating System !#1@\texttt{#1}}} +\newcommand*{\NameDist}[1]{\texttt{\textcolor{MidnightBlue}{#1}}\index{TeX Distributions !#1@\texttt{#1}}} +\newcommand*{\NameFonct}[1]{\texttt{\textcolor{MidnightBlue}{#1}}\index{Functions !#1@\texttt{#1}}} +\newcommand*{\NamePack}[1]{\texttt{\textcolor{MidnightBlue}{#1}}\index{Package !#1@\texttt{#1}}} +\newcommand*{\TOenvline}[3]{\IoptNameEnv{\ActivBoxName}{#1}&\tkzdft{#2}&\ttfamily #3\\} +\newcommand*{\TOline}[3]{\IoptName{\ActivBoxName}{#1}&\tkzdft{#2}&\ttfamily #3\\} +\newcommand*{\TAline}[3]{\IargName{\ActivBoxName}{#1}&\tkzdft{#2}&\ttfamily #3\\} +\newcommand*{\TMline}[3]{\tkzcname{#1}\index{#1_1@\texttt{\textbackslash#1}}&\tkzdft{#2}&\ttfamily #3\\} +\newcommand*{\tkzcname}[1]{\Imacro{#1}\textbf{\texttt{\textcolor{MidnightBlue}{% + \textbackslash#1}}}} +\newcommand*{\tkzhname}[1]{\textbf{\texttt{\textcolor{MidnightBlue}{% + \textbackslash#1}}}} + +\DeclareRobustCommand\meta[1]{% +\ensuremath\langle + \ifmmode \expandafter \nfss@text \fi + {% + \meta@font@select + \edef\meta@hyphen@restore + {\hyphenchar\the\font\the\hyphenchar\font}% + \hyphenchar\font\m@ne + \language\l@nohyphenation + \/#1\/% + \meta@hyphen@restore + }\ensuremath\rangle +} +\def\meta@font@select{} + +\renewcommand*{\idx@heading}{% + \idx@@heading{\indexname}% +} +\renewenvironment{theindex}{% + \@restonecoltrue + \columnseprule \z@ + \columnsep 35\p@ + \idx@heading% + \index@preamble\par\nobreak + \thispagestyle{\indexpagestyle}\parindent\z@ + \setlength{\parskip}{\z@ \@plus .3\p@}% + \setlength{\parfillskip}{\z@ \@plus 1fil}% + \let\item\@idxitem +}{% + \if@restonecol\onecolumn\else\clearpage\fi +} +%<----------- set colors of the document -------------------------- +\pgfkeys{/tkzsetupcolor/.cd, + background/.code = {\global\edef\tkz@suc@bkc{#1}}, + text/.code = {\global\edef\tkz@suc@txt{#1}}} +\def\tkzSetUpColors{\pgfutil@ifnextchar[{\tkz@SetUpColors}{% + \tkz@SetUpColors[]}} +\def\tkz@SetUpColors[#1]{% +\begingroup + \pgfkeys{tkzsetupcolor/.cd, + background = \tkz@background@color, + text = \tkz@text@color} + \pgfqkeys{/tkzsetupcolor}{#1} + \pagecolor{\tkz@suc@bkc} + \color{\tkz@suc@txt} +\endgroup} + +%<--------------------------------------------------------------------- +\input{couverture} +%<--------- presentation première page ---------------------------------> +\newcommand\presentation{% + \thispagestyle{empty}% + \par\vspace*{3 cm} + \begin{center} + {\textcolor{myblue}{\Huge \@nameoffile}} + \end{center} + \par\vspace*{3 cm} + \noindent + \newlength{\tkz@lx}\settowidth{\tkz@lx}{\huge \tkznamecollection}% + \advance\tkz@lx3em\quad + \href{\tkzurlauthor}{% + \rotatebox{90}{\hspace*{1.5em}{% + \textcolor{sectioncolor}{\Huge \tkznamecollection}}}} + \textcolor{sectioncolor}{\rule{2pt}{\tkz@lx}}\quad% + \begin{minipage}[b]{.90\textwidth} + {% + \noindent\hfill + \raggedleft\Large + \href{mailto:al.ma@mac.com}{\textcolor{sectioncolor}{\tkzauthorofpack}}\par + }% + {\@defoffile} + \par + \end{minipage} +} +\endinput diff --git a/macros/latex/contrib/tkz-doc/latex/tkzexample.sty b/macros/latex/contrib/tkz-doc/latex/tkzexample.sty new file mode 100644 index 0000000000..1aa7fbefb5 --- /dev/null +++ b/macros/latex/contrib/tkz-doc/latex/tkzexample.sty @@ -0,0 +1,505 @@ +% H I G H L Y E X P E R I M E N T A L +% +% encoding : utf8 +% Documentation of tkz-euclide +% Copyright 2020 Alain Matthes +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status “maintained”. +% +% The Current Maintainer of this work is Alain Matthes. + +% +% The author of the original code +% of the environment 'codeexample' is Till Tantau +% from the file pgfmanual-en-macros.tex +% (Copyright 2006 by Till Tantau) +% See the file doc/generic/pgf/licenses/LICENSE for more details. +% +%<---------------------------------------------------------------------------> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tkzexample}[2011/06/04 v1.1c (code and graphic ) ] +\RequirePackage{calc,mdframed,fancyvrb} +\newif\iftkzcodesaved +\DeclareOption{saved}{\tkzcodesavedtrue} +\ProcessOptions\relax +%<---------------------------------------------------------------------------> +\colorlet{graphicbackground}{white} +\colorlet{codebackground}{white} +\colorlet{codeonlybackground}{white} +\colorlet{numbackground}{white} +\colorlet{textcodecolor}{black} +\colorlet{numcolor}{gray} +%<---------------------------------------------------------------------------> +\def\code@style{\small\ttfamily} +\makeatletter +\newcounter{code@cnt}% + +\ifx\scantokens\@undefined + \PackageError{tkzexample}{You need to use extended latex + (elatex) or (pdfelatex) to use this package}{} +\fi + +% Define \find@tkzexample such that it doesn't destroy catcodes: +\begingroup +\catcode`|=0 +\catcode`[= 1 +\catcode`]=2 +\catcode`\{=12 +\catcode `\}=12 +\catcode`\\=12 |gdef|find@tkzexample#1\end{tkzexample}[|endoftkzexample[#1]] +|endgroup + +\begingroup +\catcode`|=0 +\catcode`[= 1 +\catcode`]=2 +\catcode`\{=12 +\catcode `\}=12 +\catcode`\\=12 |gdef|find@tkzltxexample#1\end{tkzltxexample}[|endoftkzltxexample[#1]] +|endgroup + +% define \returntospace. +% +% It should define NEWLINE as {}, spaces and tabs as \space. +\begingroup +\catcode`\^=7 +\catcode`\^^M=13 +\catcode`\^^I=13 +\catcode`\ =13% +\gdef\returntospace{\catcode`\ =13\def {\space}\catcode`\^^I=13\def^^I{\space}\catcode`\^^M=13\def^^M{}}% +\endgroup + +\begingroup +\catcode`\%=13 +\catcode`\^^M=13 +\gdef\commenthandler{\catcode`\%=13\def%{\@gobble@till@return}} +\gdef\@gobble@till@return#1^^M{} +\gdef\@gobble@till@return@ignore#1^^M{\ignorespaces} +\gdef\typesetcomment{\catcode`\%=13\def%{\@typeset@till@return}} +\gdef\@typeset@till@return#1^^M{{\def%{\char`\%}\textsl{\char`\%#1}}\par} +\gdef\typesetcommentnum{\catcode`\%=13\def%{\@typeset@till@return@num}} +\gdef\@typeset@till@return@num#1^^M{{\def%{\char`\%}\textsl{\char`\%#1}} \@@par} +\endgroup + +\let\tkz@frameset\colorbox +\let\tkz@frameltxset\colorbox +\newwrite\fileexample +\newdimen\tkzexamplewidth +\newdimen\tkz@hsep +\tkz@hsep=0pt +\newif\ifcode@execute +\newif\ifcode@saved\code@savedfalse +\newif\ifnum@show \num@showfalse +\newif\ifcode@overhang +\newbox\tkzexamplebox +\newif\ifcode@vbox \code@vboxfalse + +\pgfqkeys{/tkzexample}{% + execute code/.is if = code@execute, + show num/.is if = num@show, + overhang/.is if = code@overhang, + code only/.code = {\code@executefalse}, + width/.code = {\setlength\tkzexamplewidth{#1}}, + code/.code = {\colorlet{codebackground}{#1}}, + graphic/.code = {\colorlet{graphicbackground}{#1}}, + overhang/.code = {\code@overhangtrue}, + num/.code = {\num@showtrue\setcounter{code@cnt}{1}}, + numcolor/.code = {\colorlet{numcolor}{#1}}, + numbkgcolor/.code = {\colorlet{numbackground}{#1}}, + global num/.code = {\num@showtrue}, + code style/.code = {\def\code@style{#1}}, + normal/.code = {\def\code@size{\normalsize}}, + small/.code = {\def\code@size{\small}}, + very small/.code = {\def\code@size{\footnotesize}}, + right margin/.code = {\def\tkz@rightmargin{#1}}, + left margin/.code = {\def\tkz@leftmargin{#1}}, + inner left margin/.code = {\def\tkz@innerleftmargin{#1}}, + inner right margin/.code = {\def\tkz@innerrightmargin{#1}}, + inner top margin/.code = {\def\tkz@innertopmargin{#1}}, + inner bottom margin/.code = {\def\tkz@innerbottommargin{#1}}, + line frame width/.code = {\def\tkz@linewidth{#1}}, + frame code/.code = {\def\tkz@frameset{\fcolorbox{#1}}}, + frame tex/.code = {\def\tkz@frameltxset{\fcolorbox{#1}}}, + above skip/.code = {\def\tkz@above{#1}}, + below skip/.code = {\def\tkz@below{#1}}, + hsep/.code = {\setlength\tkz@hsep{#1}}, + pre/.code = {\def\code@pre{#1}}, + post/.code = {\def\code@post{#1}}, + latex/.code = {\setlength\tkzexamplewidth{#1}% + \def\code@preadd{\begin{minipage}{#1}}% + \def\code@postadd{\end{minipage}}}, + vbox/.code = {\code@vboxtrue + \def\code@preadd{\noindent + \vbox\bgroup + \setlength{\hsize}{\linewidth-6pt}% + }% + \def\code@postadd{\egroup}}, + every tkzexample/.style={width=6cm}, +}% +\def\code@size{}% +\def\code@pre{}% +\def\code@post{}% +\def\code@preadd{}% +\def\code@postadd{}% +\def\tkz@above{\par}% +\def\tkz@below{\par}% + +% execution du code +\def\tkz@result{% + \begin{minipage}[t]{\wd\tkzexamplebox}% + \hrule width0pt + \code@size + \box\tkzexamplebox + \leavevmode + \end{minipage}% +}% + +\newcommand\tkz@code[1]{% +\begin{minipage}[t]{\code@width}{% +\color{textcodecolor}% +\parskip=\z@ +\hrule width\z@ +\vskip-.25em +\let\do\@makeother +\dospecials +\frenchspacing +\code@style\code@size +\obeylines +\@vobeyspaces +\@tempswafalse +\ifnum@show + \typesetcommentnum + \def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty + \everypar{\setlength\fboxsep{1pt}% + \noindent\parskip=0pt% + \llap{\colorbox{numbackground}{\textcolor{numcolor}{% + \footnotesize\number\value{code@cnt}}}\enspace}% + \stepcounter{code@cnt}}% + \else + \@tempswatrue + \ifhmode\@@par\penalty\interlinepenalty\fi% + \fi + }% + \everypar{\setlength\fboxsep{1pt}% + \noindent\parskip=0pt% + \llap{\colorbox{numbackground}{\textcolor{numcolor}{% + \footnotesize\number\value{code@cnt}}}\enspace}% + \stepcounter{code@cnt}% + }% +\else + \typesetcomment + \def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty% + \else + \@tempswatrue + \ifhmode\@@par\penalty\interlinepenalty\fi% + \fi + }% +\fi +\obeylines +\ifcode@saved\input{#1}\else#1\fi% +}% end of content for the minipage +\end{minipage}% +}% + +\newcommand\tkz@codesplit[1]{% +\begin{mdframed}[linewidth = \tkz@linewidth, + leftmargin = \tkz@leftmargin, + rightmargin = \tkz@rightmargin, + backgroundcolor = codeonlybackground, + innerleftmargin = \tkz@innerleftmargin, + innertopmargin = \tkz@innertopmargin] +\begingroup +\color{textcodecolor}% +\parskip=\z@ +\hrule width0pt +\let\do\@makeother +\dospecials +\frenchspacing +\code@style\code@size +\obeylines +\@vobeyspaces +\@tempswafalse +\ifnum@show +\typesetcommentnum +\def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty + \everypar{\setlength\fboxsep{1pt}% + \noindent\parskip=0pt% + \llap{\colorbox{numbackground}{\textcolor{numcolor}{% + \footnotesize\number\value{code@cnt}}}\enspace}% + \stepcounter{code@cnt}}% + \else + \@tempswatrue + \ifhmode\@@par\penalty\interlinepenalty\fi + \fi +}% +\everypar{\setlength\fboxsep{1pt}% + \noindent\parskip=0pt% + \llap{\colorbox{numbackground}{\textcolor{numcolor}{% + \footnotesize\number\value{code@cnt}}}\enspace}% + \stepcounter{code@cnt}% + }% +\else +\typesetcomment% +\def\par{% + \if@tempswa + \leavevmode\null\@@par\penalty\interlinepenalty% + \else + \@tempswatrue + \ifhmode\@@par\penalty\interlinepenalty\fi% + \fi +}% +\fi +\obeylines +\ifcode@saved\input{#1}\else #1\fi +\endgroup +\end{mdframed}% +}% + + +\def\tkzref{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}}% +\def\tkzFileSavedPrefix{tkzFile}% +\def\tkz@File@Saved@Name{\tkzFileSavedPrefix-\tkzref}% + +\iftkzcodesaved +\def\tkzexample[#1]{% +\code@executetrue +\normalsize +\pgfkeys{/tkzexample/.cd, + right margin = 0pt, + left margin = 0pt, + line frame width = 0, + inner left margin = 0 pt, + inner right margin = 0 pt, + inner top margin = 6 pt, + inner bottom margin = 0 pt} +\pgfqkeys{/tkzexample}{every tkzexample,#1}% +\parindent0pt +\bgroup +\VerbatimEnvironment +\killienc\begin{VerbatimOut}{\tkz@File@Saved@Name.tex}}% +\def\endtkzexample{\end{VerbatimOut}% +\egroup +\ifcode@execute +\setbox\tkzexamplebox=\hbox{\input{\tkz@File@Saved@Name.tex}}% +\ifdim\wd\tkzexamplebox>\tkzexamplewidth% + \gdef\code@mid{\parskip2pt\par}% +% \hrule + %\def\code@mid{\hfill}% + \gdef\code@width{\linewidth}% +\else + \ifdim\tkz@hsep=0pt + \gdef\code@mid{\hfill}% + \else + \gdef\code@mid{\hskip\tkz@hsep}% + \fi + \gdef\code@width{\linewidth-1.5em-\tkz@hsep-\tkzexamplewidth}% + \fi + \par\noindent + \code@savedtrue + \ifcode@overhang + \tkz@frameset{codebackground}{\tkz@code{\tkz@File@Saved@Name.tex}}% + \else + \tkz@frameltxset{graphicbackground}{\tkz@result}% + \fi + \else% pas de code pas clair + \gdef\code@mid{\hfill}% + \gdef\code@width{\linewidth}% + \gdef\code@end{}% + \fi% fin pas de code + \code@mid + \ifcode@overhang\tkz@frameltxset{graphicbackground}{\tkz@result}% + \else + \tkz@frameset{codebackground}{\tkz@code{\tkz@File@Saved@Name.tex}}% + \fi +\tkz@below +}% +\else% end of code saved code et result ? +\def\tkzexample[#1]{% +\begingroup +\code@executetrue +\pgfkeys{/tkzexample/.cd, + right margin = 0pt, + left margin = 0pt, + line frame width = 0, + inner left margin = 0 pt, + inner right margin = 0 pt, + inner top margin = 6 pt, + inner bottom margin = 0 pt,} +\pgfqkeys{/tkzexample}{every tkzexample,#1}% +\parindent0pt +\begingroup +%\tkz@above +\let\do\@makeother +\dospecials +\obeylines +\@vobeyspaces +\catcode`\%=13 % +\catcode`\^^M=13 % +\find@tkzexample}% #1 est tout ce qui se trouve dans l'environnement +\def\endoftkzexample#1{% +\endgroup +\ifcode@execute % et \fcode@save ?? + \setbox\tkzexamplebox=\hbox{% + {\commenthandler + \protected@xdef\code@temp{#1}}% + \catcode`\^^M=9 % + {\ignorespaces\code@preadd\code@pre + \expandafter\scantokens\expandafter{\code@temp\ignorespaces}% + \code@post\code@postadd\ignorespaces}% + }% + \ifdim\wd\tkzexamplebox>\tkzexamplewidth + \def\code@mid{\par}% + \def\code@width{\linewidth-6pt}% + \else + \ifdim\tkz@hsep=0pt + \def\code@mid{\hfill}% + \else + \def\code@mid{\hskip\tkz@hsep}% + \fi% + \def\code@width{\linewidth-1.5em-\tkz@hsep-\tkzexamplewidth}% + \fi% + \par\noindent + \ifcode@overhang + \tkz@frameset{codebackground}{\tkz@code{#1}}% + \else + \tkz@frameltxset{graphicbackground}{\tkz@result}% + \fi +\else% pas de code execute + \def\code@mid{}% + \def\code@width{\linewidth-6pt}% + \def\code@end{}% + \fi% fin pas de code + \code@mid% + \ifcode@overhang% + \ifcode@execute\tkz@frameltxset{graphicbackground}{\tkz@result}\fi + \else% +\ifcode@execute\tkz@frameset{codebackground}{\tkz@code{#1}}\else + \par\vskip1em + \tkz@codesplit{#1} + %\tkz@frameset{codebackground}{\tkz@code{#1}}% +\fi + \fi + \tkz@below + \end{tkzexample}% +}% +\def\endtkzexample{\endgroup}% +\fi +%<---------------------------------------------------------------------------> +\pgfqkeys{/tkzltxexample}{% + width/.code = {\setlength\tkzltxexamplewidth{#1}}, + code/.code = {\colorlet{codeonlybackground}{#1}}, + show num/.is if = num@show, + num/.code = {\num@showtrue\setcounter{code@cnt}{1}}, + global num/.code = {\num@showtrue}, + numcolor/.code = {\colorlet{numcolor}{#1}}, + numbkgcolor/.code = {\colorlet{numbackground}{#1}}, + normal/.code = {\def\code@size{\normalsize}}, + small/.code = {\def\code@size{\small}}, + very small/.code = {\def\code@size{\footnotesize}}, + right margin/.code = {\def\tkz@rightmargin{#1}}, + left margin/.code = {\def\tkz@leftmargin{#1}}, + inner left margin/.code = {\def\tkz@innerleftmargin{#1}}, + inner right margin/.code = {\def\tkz@innerrightmargin{#1}}, + inner top margin/.code = {\def\tkz@innertopmargin{#1}}, + inner bottom margin/.code = {\def\tkz@innerbottommargin{#1}}, + line frame width/.code = {\def\tkz@linewidth{#1}}, + hsep/.code = {\def\tkz@hsep{#1}}, + typeset listing/.code = {#1}, + frame code/.code = {\def\tkz@frameset{\fcolorbox{#1}}}, + ignorespaces/.code = {\let\@gobble@till@return =% + \@gobble@till@return@ignore}, + leave comments/.code = {\def\code@catcode@hook{\catcode`\%=12}% + \let\commenthandler=\relax% + \let\typesetcomment=\relax}, + every tkzltxexample/.style = {width=8cm}, + vbox/.code = {\def\code@preadd{\noindent + \vbox\bgroup\setlength{\hsize}{\linewidth}}% + \def\code@postadd{\egroup}}% +} +\def\code@size{}% +% \def\code@pre{} +\def\code@post{}% +\def\code@pre{}% +\def\code@post{}% +\def\code@catcode@hook{}% + +\newdimen\tkzltxexamplewidth +\newbox\tkzltxexamplebox + +\def\tkzltxexample[#1]{% +\begingroup +\pgfkeys{/tkzltxexample/.cd, + right margin = 0pt, + left margin = 0pt, + line frame width = 0, + inner left margin = 0 pt, + inner right margin = 0 pt, + inner top margin = 6 pt, + inner bottom margin = 0 pt,} +\pgfqkeys{/tkzltxexample}{every tkzltxexample,#1}% +\parindent0pt +\begingroup% +\let\do\@makeother +\dospecials +\obeylines +\@vobeyspaces +\catcode`\%=13 % +\catcode`\^^M=13 % +\code@catcode@hook% +\relax% +\find@tkzltxexample} +\def\endoftkzltxexample#1{% +\endgroup% +\def\code@end{}% +\par\vskip1em +\tkz@codesplit{#1}% +\par +\code@post +\end{tkzltxexample}% +}% + +\def\endtkzltxexample{\endgroup} + + + +\newcommand\killienc{} +\@tempcnta128 +\@whilenum\@tempcnta<\@cclvi\do{% + \edef\killienc{\killienc\catcode\the\@tempcnta=12}% + \advance\@tempcnta\@ne} + +\def\tkz@ref{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}} +\def\tkz@File@Saved@Name{\tkzFileSavedPrefix-\tkz@ref} +\pgfkeys{ +/tkzsavedcode/.cd, + prefix/.code = {\def\tkzFileSavedPrefix{#1}}} + +\newcommand{\tkzSavedCode}[1][]{% +\pgfkeys{% +tkzsavedcode/.cd, + prefix = tkzFile} +\pgfqkeys{/tkzsavedcode}{#1} +\renewenvironment{tkzexample}[1][]{% +\killienc\VerbatimOut{\tkz@File@Saved@Name.tex}}{% +\endVerbatimOut}} + +% \renewenvironment{tkzexample}[1][]{% +% \killienc \VerbatimOut{tkzeuc-\tkzref.tex}% +% }{% +% \endVerbatimOut +% } +% \fi +\endinput |