<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% ==================== %
% == RESOURCES USED == %
% ==================== %


\begin{filecontents*}[overwrite]{gallery-showcase-bw.tex}
\documentclass[theme = bw]{tutodoc}

% -- FORDOC -- %

\usepackage[french]{babel}
\frenchsetup{StandardItemLabels=true}

\usepackage{multicol}
\usepackage{lastpage}

\makeatletter

\renewcommand*\pagemark{%
  	\usekomafont{pagenumber}{%
  		\thepage\kern1pt/\kern1pt\pageref*{LastPage}%
	}%
}

\makeatother


\newcommand\thisstyle{bw}


\newcommand\myexrmktext{
    \tdocversion{1.7.0}[2024-12-04]
    Dans le flot du texte, il est toujours utile de pouvoir indiquer des exemples et des remarques qui viennent complÃ©ter le contenu principal.
}


\newcommand\myadmotext{
    Suivant le contexte d'utilisation, il est parfois nÃ©cessaire de pouvoir mettre en avant des contenus en indiquant leur degrÃ© d'importance.
}

\newcommand\myhighlightedtextnonote{
    Que dire ?
    Je ne sais pas, mais c'est sympathique. Non ?
}

\newcommand\myhighlightedtext{
    Que dire\,%
    \footnote{
        N'oublions pas les notes de bas de page...
    }?
    Je ne sais pas, mais c'est sympathique. Non ?
}


\newcommand\mychgestext{
    Dans un journal de bord, il est important de bien visualiser les types de changements. Ceci rend plus efficace la lecture cÃ´tÃ© utilisateur !
}


\ExplSyntaxOn

\int_new:N \g__tutodoc_for_doc_int

\ExplSyntaxOff


\begin{document}

\textsf{\Huge\bfseries Le thÃ¨me \texttt{"\thisstyle"}}

\section{Liens}

{\Large\bfseries \href{https://github.com/bc-tools/for-latex/tree/main/tutodoc}{Un lien trÃ¨s gros}}, mais au moins on le voit.



\section{Des codes \LaTeX}

Taper du code \LaTeX\ en ligne comme \tdoclatexin{E = m c^2 \neq \pi \neq \frac{3}{14}} est utile, tout comme montrer des cas d'utilisation comme le suivant.

\begin{tdoclatex}
Du code \LaTeX\ mis en forme, c'est top : $E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}


On dispose aussi d'un mode cÃ´te-Ã&nbsp;-cÃ´te moins envahissant. Sympa ! Non ?

\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
Du code \LaTeX\ mis en forme, c'est top: \\
$E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}



\section{Mettre en avant, versionner et dater}

\subsection{tdocexa, tdocrem}

\myexrmktext

\ExplSyntaxOn

\seq_map_inline:Nn \g__tutodoc_focus_std_seq {
    \begin{tdoc#1}
        \myhighlightedtext
    \end{tdoc#1}
}

\ExplSyntaxOff



\subsection{tdocnote, tdoctip...}

\myadmotext

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\ifcsundef{g__tutodoc_focus_color_seq}{
    \prop_map_inline:Nn \g__tutodoc_focus_color_prop {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
} {
    \seq_map_inline:Nn \g__tutodoc_focus_color_seq {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
}

\ExplSyntaxOff



\subsection{tdocbreak, tdocfix...}

\tdocstartproj{Une nouvelle section dÃ©monstrative...}

\begin{tdoctodo}
	\item Une galerie serait bienvenue...
\end{tdoctodo}

\ifcsundef{g__tutodoc_topic_change_seq}{
 	\medskip
}{}

\mychgestext

\ifcsundef{g__tutodoc_topic_change_seq}{
	\medskip
}{}

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\begin{tabular}{%
	@{\hskip 0pt}p{.26\linewidth}%
	*{3}{@{\hskip 7pt}p{.23\linewidth}}@{\hskip 0pt}%
}
	\ifcsundef{g__tutodoc_topic_change_seq}{
    	\prop_map_inline:Nn \g__tutodoc_topic_change_prop {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-12pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}{
    	\seq_map_inline:Nn \g__tutodoc_topic_change_seq {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-5pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}
\end{tabular}

\ExplSyntaxOff

\end{document}

\end{filecontents*}

\begin{filecontents*}[overwrite]{gallery-showcase-color.tex}
\documentclass[theme = color]{tutodoc}

% -- FORDOC -- %

\usepackage[french]{babel}
\frenchsetup{StandardItemLabels=true}

\usepackage{multicol}
\usepackage{lastpage}

\makeatletter

\renewcommand*\pagemark{%
  	\usekomafont{pagenumber}{%
  		\thepage\kern1pt/\kern1pt\pageref*{LastPage}%
	}%
}

\makeatother


\newcommand\thisstyle{color}


\newcommand\myexrmktext{
    \tdocversion{1.7.0}[2024-12-04]
    Dans le flot du texte, il est toujours utile de pouvoir indiquer des exemples et des remarques qui viennent complÃ©ter le contenu principal.
}


\newcommand\myadmotext{
    Suivant le contexte d'utilisation, il est parfois nÃ©cessaire de pouvoir mettre en avant des contenus en indiquant leur degrÃ© d'importance.
}

\newcommand\myhighlightedtextnonote{
    Que dire ?
    Je ne sais pas, mais c'est sympathique. Non ?
}

\newcommand\myhighlightedtext{
    Que dire\,%
    \footnote{
        N'oublions pas les notes de bas de page...
    }?
    Je ne sais pas, mais c'est sympathique. Non ?
}


\newcommand\mychgestext{
    Dans un journal de bord, il est important de bien visualiser les types de changements. Ceci rend plus efficace la lecture cÃ´tÃ© utilisateur !
}


\ExplSyntaxOn

\int_new:N \g__tutodoc_for_doc_int

\ExplSyntaxOff


\begin{document}

\textsf{\Huge\bfseries Le thÃ¨me \texttt{"\thisstyle"}}

\section{Liens}

{\Large\bfseries \href{https://github.com/bc-tools/for-latex/tree/main/tutodoc}{Un lien trÃ¨s gros}}, mais au moins on le voit.



\section{Des codes \LaTeX}

Taper du code \LaTeX\ en ligne comme \tdoclatexin{E = m c^2 \neq \pi \neq \frac{3}{14}} est utile, tout comme montrer des cas d'utilisation comme le suivant.

\begin{tdoclatex}
Du code \LaTeX\ mis en forme, c'est top : $E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}


On dispose aussi d'un mode cÃ´te-Ã&nbsp;-cÃ´te moins envahissant. Sympa ! Non ?

\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
Du code \LaTeX\ mis en forme, c'est top: \\
$E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}



\section{Mettre en avant, versionner et dater}

\subsection{tdocexa, tdocrem}

\myexrmktext

\ExplSyntaxOn

\seq_map_inline:Nn \g__tutodoc_focus_std_seq {
    \begin{tdoc#1}
        \myhighlightedtext
    \end{tdoc#1}
}

\ExplSyntaxOff



\subsection{tdocnote, tdoctip...}

\myadmotext

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\ifcsundef{g__tutodoc_focus_color_seq}{
    \prop_map_inline:Nn \g__tutodoc_focus_color_prop {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
} {
    \seq_map_inline:Nn \g__tutodoc_focus_color_seq {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
}

\ExplSyntaxOff



\subsection{tdocbreak, tdocfix...}

\tdocstartproj{Une nouvelle section dÃ©monstrative...}

\begin{tdoctodo}
	\item Une galerie serait bienvenue...
\end{tdoctodo}

\ifcsundef{g__tutodoc_topic_change_seq}{
 	\medskip
}{}

\mychgestext

\ifcsundef{g__tutodoc_topic_change_seq}{
	\medskip
}{}

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\begin{tabular}{%
	@{\hskip 0pt}p{.26\linewidth}%
	*{3}{@{\hskip 7pt}p{.23\linewidth}}@{\hskip 0pt}%
}
	\ifcsundef{g__tutodoc_topic_change_seq}{
    	\prop_map_inline:Nn \g__tutodoc_topic_change_prop {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-12pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}{
    	\seq_map_inline:Nn \g__tutodoc_topic_change_seq {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-5pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}
\end{tabular}

\ExplSyntaxOff

\end{document}

\end{filecontents*}

\begin{filecontents*}[overwrite]{gallery-showcase-dark.tex}
\documentclass[theme = dark]{tutodoc}

% -- FORDOC -- %

\usepackage[french]{babel}
\frenchsetup{StandardItemLabels=true}

\usepackage{multicol}
\usepackage{lastpage}

\makeatletter

\renewcommand*\pagemark{%
  	\usekomafont{pagenumber}{%
  		\thepage\kern1pt/\kern1pt\pageref*{LastPage}%
	}%
}

\makeatother


\newcommand\thisstyle{dark}


\newcommand\myexrmktext{
    \tdocversion{1.7.0}[2024-12-04]
    Dans le flot du texte, il est toujours utile de pouvoir indiquer des exemples et des remarques qui viennent complÃ©ter le contenu principal.
}


\newcommand\myadmotext{
    Suivant le contexte d'utilisation, il est parfois nÃ©cessaire de pouvoir mettre en avant des contenus en indiquant leur degrÃ© d'importance.
}

\newcommand\myhighlightedtextnonote{
    Que dire ?
    Je ne sais pas, mais c'est sympathique. Non ?
}

\newcommand\myhighlightedtext{
    Que dire\,%
    \footnote{
        N'oublions pas les notes de bas de page...
    }?
    Je ne sais pas, mais c'est sympathique. Non ?
}


\newcommand\mychgestext{
    Dans un journal de bord, il est important de bien visualiser les types de changements. Ceci rend plus efficace la lecture cÃ´tÃ© utilisateur !
}


\ExplSyntaxOn

\int_new:N \g__tutodoc_for_doc_int

\ExplSyntaxOff


\begin{document}

\textsf{\Huge\bfseries Le thÃ¨me \texttt{"\thisstyle"}}

\section{Liens}

{\Large\bfseries \href{https://github.com/bc-tools/for-latex/tree/main/tutodoc}{Un lien trÃ¨s gros}}, mais au moins on le voit.



\section{Des codes \LaTeX}

Taper du code \LaTeX\ en ligne comme \tdoclatexin{E = m c^2 \neq \pi \neq \frac{3}{14}} est utile, tout comme montrer des cas d'utilisation comme le suivant.

\begin{tdoclatex}
Du code \LaTeX\ mis en forme, c'est top : $E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}


On dispose aussi d'un mode cÃ´te-Ã&nbsp;-cÃ´te moins envahissant. Sympa ! Non ?

\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
Du code \LaTeX\ mis en forme, c'est top: \\
$E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}



\section{Mettre en avant, versionner et dater}

\subsection{tdocexa, tdocrem}

\myexrmktext

\ExplSyntaxOn

\seq_map_inline:Nn \g__tutodoc_focus_std_seq {
    \begin{tdoc#1}
        \myhighlightedtext
    \end{tdoc#1}
}

\ExplSyntaxOff



\subsection{tdocnote, tdoctip...}

\myadmotext

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\ifcsundef{g__tutodoc_focus_color_seq}{
    \prop_map_inline:Nn \g__tutodoc_focus_color_prop {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
} {
    \seq_map_inline:Nn \g__tutodoc_focus_color_seq {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
}

\ExplSyntaxOff



\subsection{tdocbreak, tdocfix...}

\tdocstartproj{Une nouvelle section dÃ©monstrative...}

\begin{tdoctodo}
	\item Une galerie serait bienvenue...
\end{tdoctodo}

\ifcsundef{g__tutodoc_topic_change_seq}{
 	\medskip
}{}

\mychgestext

\ifcsundef{g__tutodoc_topic_change_seq}{
	\medskip
}{}

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\begin{tabular}{%
	@{\hskip 0pt}p{.26\linewidth}%
	*{3}{@{\hskip 7pt}p{.23\linewidth}}@{\hskip 0pt}%
}
	\ifcsundef{g__tutodoc_topic_change_seq}{
    	\prop_map_inline:Nn \g__tutodoc_topic_change_prop {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-12pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}{
    	\seq_map_inline:Nn \g__tutodoc_topic_change_seq {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-5pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}
\end{tabular}

\ExplSyntaxOff

\end{document}

\end{filecontents*}

\begin{filecontents*}[overwrite]{gallery-showcase-draft.tex}
\documentclass[theme = draft]{tutodoc}

% -- FORDOC -- %

\usepackage[french]{babel}
\frenchsetup{StandardItemLabels=true}

\usepackage{multicol}
\usepackage{lastpage}

\makeatletter

\renewcommand*\pagemark{%
  	\usekomafont{pagenumber}{%
  		\thepage\kern1pt/\kern1pt\pageref*{LastPage}%
	}%
}

\makeatother


\newcommand\thisstyle{draft}


\newcommand\myexrmktext{
    \tdocversion{1.7.0}[2024-12-04]
    Dans le flot du texte, il est toujours utile de pouvoir indiquer des exemples et des remarques qui viennent complÃ©ter le contenu principal.
}


\newcommand\myadmotext{
    Suivant le contexte d'utilisation, il est parfois nÃ©cessaire de pouvoir mettre en avant des contenus en indiquant leur degrÃ© d'importance.
}

\newcommand\myhighlightedtextnonote{
    Que dire ?
    Je ne sais pas, mais c'est sympathique. Non ?
}

\newcommand\myhighlightedtext{
    Que dire\,%
    \footnote{
        N'oublions pas les notes de bas de page...
    }?
    Je ne sais pas, mais c'est sympathique. Non ?
}


\newcommand\mychgestext{
    Dans un journal de bord, il est important de bien visualiser les types de changements. Ceci rend plus efficace la lecture cÃ´tÃ© utilisateur !
}


\ExplSyntaxOn

\int_new:N \g__tutodoc_for_doc_int

\ExplSyntaxOff


\begin{document}

\textsf{\Huge\bfseries Le thÃ¨me \texttt{"\thisstyle"}}

\section{Liens}

{\Large\bfseries \href{https://github.com/bc-tools/for-latex/tree/main/tutodoc}{Un lien trÃ¨s gros}}, mais au moins on le voit.



\section{Des codes \LaTeX}

Taper du code \LaTeX\ en ligne comme \tdoclatexin{E = m c^2 \neq \pi \neq \frac{3}{14}} est utile, tout comme montrer des cas d'utilisation comme le suivant.

\begin{tdoclatex}
Du code \LaTeX\ mis en forme, c'est top : $E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}


On dispose aussi d'un mode cÃ´te-Ã&nbsp;-cÃ´te moins envahissant. Sympa ! Non ?

\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
Du code \LaTeX\ mis en forme, c'est top: \\
$E = m c^2$ ou $\pi \neq \frac{3}{14}$.
\end{tdoclatex}



\section{Mettre en avant, versionner et dater}

\subsection{tdocexa, tdocrem}

\myexrmktext

\ExplSyntaxOn

\seq_map_inline:Nn \g__tutodoc_focus_std_seq {
    \begin{tdoc#1}
        \myhighlightedtext
    \end{tdoc#1}
}

\ExplSyntaxOff



\subsection{tdocnote, tdoctip...}

\myadmotext

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\ifcsundef{g__tutodoc_focus_color_seq}{
    \prop_map_inline:Nn \g__tutodoc_focus_color_prop {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
} {
    \seq_map_inline:Nn \g__tutodoc_focus_color_seq {
        \int_gincr:N \g__tutodoc_for_doc_int

        \begin{tdoc#1}
      	  	\int_compare:nTF
	    		{\g__tutodoc_for_doc_int = 1 }
	    		{ \myhighlightedtext }
	    		{ \myhighlightedtextnonote }
        \end{tdoc#1}
    }
}

\ExplSyntaxOff



\subsection{tdocbreak, tdocfix...}

\tdocstartproj{Une nouvelle section dÃ©monstrative...}

\begin{tdoctodo}
	\item Une galerie serait bienvenue...
\end{tdoctodo}

\ifcsundef{g__tutodoc_topic_change_seq}{
 	\medskip
}{}

\mychgestext

\ifcsundef{g__tutodoc_topic_change_seq}{
	\medskip
}{}

\ExplSyntaxOn

\int_set:Nn \g__tutodoc_for_doc_int { 0 }

\begin{tabular}{%
	@{\hskip 0pt}p{.26\linewidth}%
	*{3}{@{\hskip 7pt}p{.23\linewidth}}@{\hskip 0pt}%
}
	\ifcsundef{g__tutodoc_topic_change_seq}{
    	\prop_map_inline:Nn \g__tutodoc_topic_change_prop {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-12pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}{
    	\seq_map_inline:Nn \g__tutodoc_topic_change_seq {
          	\int_gincr:N \g__tutodoc_for_doc_int

          	\vspace{-5pt}

    	  	\begin{tdoc#1}
           		\item Infos...
    	  	\end{tdoc#1}

    	  	\int_compare:nTF
    	    	{\g__tutodoc_for_doc_int = 4 }
    	    	{ \\ }
    	    	{ &amp; }
    	}
	}
\end{tabular}

\ExplSyntaxOff

\end{document}

\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-tech.tex}
\begin{tdoctech}
    \item Info 1...
    \item Info 2...
\end{tdoctech}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-para-title.tex}
\paragraph{Un titre bien versionnÃ©.}
\tdocversion{1.2.3}[2024-11-23]
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...

Bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli...
Blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo...

\tdocdate{2024-11-23}
\paragraph{Un titre mal versionnÃ©.}
Blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu...
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-dating.tex}
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...

\medskip % ATTENTION ! Ceci Ã©vite le chevauchement.

\tdocdate{2023-09-24}
Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...

\medskip % ATTENTION ! Ceci Ã©vite le chevauchement.

\tdocdate[gray]{2020-05-08}
Bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli...

Blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo...

Blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu...
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-user-choice-icon.tex}
\begin{tdoctopic}{Ã€ cacher}&lt;\faEyeSlash&gt;
% Une icÃ´ne venant de fontawesome5.
    \item Info 1...
    \item Info 2...
\end{tdoctopic}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-user-choice.tex}
\begin{tdoctopic}{La fin des icÃ´nes}
    \item Info 1...
    \item Info 2...
\end{tdoctopic}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-versioning.tex}
\tdocversion[red]{10.2.0-beta}[2023-12-01]
Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...

\smallskip\bigskip % ATTENTION ! Ceci Ã©vite le chevauchement.

\tdocversion{10.2.0-alpha}
Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-pb.tex}
\begin{tdocprob}
    \item Info 1...
    \item Info 2...
\end{tdocprob}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-todo.tex}
\begin{tdoctodo}
    \item Info 1...
    \item Info 2...
\end{tdoctodo}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-update.tex}
\begin{tdocupdate}
    \item Info 1...
    \item Info 2...
\end{tdocupdate}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-what-n-when.tex}
\begin{tdoctech}[date      = 2024-10-29,
                 col-chges = red]
    \item Info...
\end{tdoctech}

\begin{tdocupdate}[version   = 1.2.3,
                   col-chges = ForestGreen,
                   col       = ForestGreen]
    \item Info...
\end{tdocupdate}

\begin{tdoctopic}{Ã€ cacher}&lt;\faEyeSlash&gt;%
                 [version = 4.5.6,
                  date    = 2025-11-30]
    \item Info...
\end{tdoctopic}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-new.tex}
\begin{tdocnew}
    \item Info 1...
    \item Info 2...
\end{tdocnew}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-manual-setting.tex}
VoilÃ&nbsp; ce que cela donne sans dÃ©placement vertical.

\paragraph{Un rÃ©glage maison.}%
\tdocversion{1.2.3}[2024-10-29]&lt;0pt&gt;

Blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo...
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-first.tex}
\tdocstartproj{PremiÃ¨re version du projet.}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-color-chges-first.tex}
\tdocstartproj[DarkOrchid]%
              {Version 1 chamarrÃ©e.}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-break.tex}
\begin{tdocbreak}
    \item Info 1...
    \item Info 2...
\end{tdocbreak}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-color-chges-fix.tex}
\begin{tdocfix}[col = CadetBlue]
    \item Info...
\end{tdocfix}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-version-n-change-chges-fix.tex}
\begin{tdocfix}
    \item Info 1...
    \item Info 2...
\end{tdocfix}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-exa-leavevmode.tex}
\begin{tdocexa}
    \leavevmode
    \begin{enumerate}
        \item Point 1.

        \item Point 2.
    \end{enumerate}
\end{tdocexa}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-important.tex}
\begin{tdocimp}
    Un truc important sans danger.
\end{tdocimp}

\begin{tdocimp}[Mini titre]
    Utile ?
\end{tdocimp}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-note.tex}
\begin{tdocnote}
    Un truc utile Ã&nbsp; vous dire...
\end{tdocnote}

\begin{tdocnote}[Mini titre]
    Utile ?
\end{tdocnote}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-caution.tex}
\begin{tdoccaut}
    Prudence, prudence...
\end{tdoccaut}

\begin{tdoccaut}[Mini titre]
    Utile ?
\end{tdoccaut}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-tip.tex}
\begin{tdoctip}
    Une astuce.
\end{tdoctip}

\begin{tdoctip}[Mini titre]
    Utile ?
\end{tdoctip}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-warn.tex}
\begin{tdocwarn}
    Evitez les dangers...
\end{tdocwarn}

\begin{tdocwarn}[Mini titre]
    Utile ?
\end{tdocwarn}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-exa.tex}
\begin{tdocexa}
    Un exemple...
\end{tdocexa}

\begin{tdocexa}[Mini titre]
    Utile ?
\end{tdocexa}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-leavevmode-items.tex}
\begin{tdoctip}[Peu Ã©lÃ©gant]
    \begin{enumerate}
        \item Point 1.
        \item Point 2.
    \end{enumerate}
\end{tdoctip}
VERSUS.
\begin{tdoctip}[Plus Ã©lÃ©gant]
    \begin{enumerate}[wide]
        \item Point 1.
        \item Point 2.
    \end{enumerate}
\end{tdoctip}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-admonitions-rmk.tex}
\begin{tdocrem}
    Juste une remarque...
\end{tdocrem}

\begin{tdocrem}[Mini titre]
    Utile ?
\end{tdocrem}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-hello-you.tex}
\NewDocumentCommand{\helloyou}{m}{%
    \IfBlankTF{#1}{%
        Ah, pas trÃ¨s bavard aujourd'hui !%
    }{%
        Bonjour #1.

        Ã‰patant ! En fait, pas du tout...%
    }%
}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-input-hello-you-hs.tex}
\tdoccodeinput{hs}{examples-listing-full-hello-you.hs}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-hello-you.hs}
main :: IO ()
main = do
  putStr "Qui Ãªtes-vous ? "
  name &lt;- getLine

  if name == ""
    then putStrLn "Ah, pas trÃ¨s bavard aujourd'hui !"
    else do
      putStrLn ("Bonjour " ++ name ++ ".")
      putStrLn "Ã‰patant ! En fait, pas du tout..."
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-hello-you-lua.tex}
\begin{tdoccode}[style = solarized-light, linenos]%
                &lt;leftrule = 22pt, colback = orange!5, colframe = red!35&gt;%
                {lua}
io.write("Qui Ãªtes-vous ? ")
local name = io.read()

if name == "" then
    print("Ah, pas trÃ¨s bavard aujourd'hui !")

else
    print("Bonjour " .. name .. ".")
    print("Ã‰patant ! En fait, pas du tout...")
end
\end{tdoccode}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-hello-you-perl.tex}
\begin{tdoccode}{pl}
print "Qui Ãªtes-vous ? ";
my $name = &lt;STDIN&gt;;

chomp($name);

if ($name eq "") {
    print "Ah, pas trÃ¨s bavard aujourd'hui !\n";

} else {
    print "Bonjour $name.\n";
    print "Ã‰patant ! En fait, pas du tout...\n";
}
\end{tdoccode}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-full-input-hello-you-tex.tex}
\tdoccodeinput[style = solarized-light, linenos]%
              &lt;leftrule = 22pt, colback = orange!5, colframe = red!35&gt;%
              {tex}{examples-listing-full-hello-you.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-hook.tex}
\begin{tdocshowcase}[]
    [Cela fonctionne...]
\end{tdocshowcase}

OU.

\begin{tdocshowcase}
    \string[Cela fonctionne aussi...]
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-rule.tex}
\begin{tdocshowcase}[style = rule]
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-stripe-custom.tex}
\begin{tdocshowcase}[style      = stripe,
                     col-stripe = green,
                     col-text   = purple,
                     before     = Mon dÃ©but,
                     after      = Ma fin Ã&nbsp; moi]
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-input-stripe.tex}
\tdocshowcaseinput[style      = stripe,
                   col-stripe = red,
                   col-text   = LightCoral]%
                  {examples-showcase-external.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-rule-custom.tex}
\begin{tdocshowcase}[style      = rule,
                     col-stripe = red,
                     col-text   = orange!75!black,
                     before     = Mon dÃ©but,
                     after      = Ma fin Ã&nbsp; moi]
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-external.tex}
Blablobli, blablobli, blablobli, blablobli, blablobli, blablobli...
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-default.tex}
\begin{tdocshowcase}
    \bfseries Un peu de code \LaTeX.

    \bigskip

    \emph{\large Fin de l'affreuse dÃ©mo.}
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-stripe.tex}
\begin{tdocshowcase}[style = stripe]
    Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
\end{tdocshowcase}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-input-default.tex}
\tdocshowcaseinput{examples-showcase-external.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-showcase-input-rule.tex}
\tdocshowcaseinput[style = rule]{examples-showcase-external.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-latexshow-options.tex}
\tdoclatexshow[style      = stripe,
               col-stripe = orange,
               col-text   = blue!70!black,
               before     = Rendu ci-aprÃ¨s.,
               explain    = Ce qui vient est colorÃ©...,
               after      = Rendu fini.,]
               {examples-listing-latex-xyz.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-ABC.tex}
\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
$A = B + C$
\end{tdoclatex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-xyz.tex}
% Juste une dÃ©mo.
$x y z = 1$
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-latexinput-option-std.tex}
\tdoclatexinput{examples-listing-latex-xyz.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-strange.tex}
\begin{tdoclatex}[]
[Ã‰trange... Ou pas !]
\end{tdoclatex}
OU.
\begin{tdoclatex}&lt;&gt;
&lt;Ã‰trange... Ou pas !&gt;
\end{tdoclatex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-ABC-custom.tex}
\begin{tdoclatex}%
    [linenos, style = igor, showspaces]%
    &lt;\tdoctcb{sbs},
     attach boxed title to top left = {yshift = -9pt}, 
     fonttitle                      = \bfseries,
     title                          = Modifications locales,
     top                            = 10pt&gt;
% Parfois utile, mais ne pas en abuser !
$A = B + C$
% Fin de cette dÃ©monstration.
\end{tdoclatex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-latexinput-option-sbs.tex}
\tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-listing-latex-xyz.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-latexinput-option-code.tex}
\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-listing-latex-xyz.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-latexinput-option-perso.tex}
\tdoclatexinput[style = igor, showspaces]%
               &lt;colframe = purple, colback = red!5&gt;%
               {examples-listing-latex-xyz.tex}
\end{filecontents*}


\begin{filecontents*}[overwrite]{examples-listing-latex-strange-bis.tex}
\begin{tdoclatex}
\string[Ã‰trange... Ou pas !]
\end{tdoclatex}
OU.
\begin{tdoclatex}
\string&lt;Ã‰trange... Ou pas !&gt;
\end{tdoclatex}
\end{filecontents*}


% ======================== %
% == SOURCE FOR THE DOC == %
% ======================== %

\documentclass{tutodoc}

% Community tools
\usepackage[T1]{fontenc}

\usepackage{enumitem}

\usepackage[french]{babel, varioref}
\frenchsetup{StandardItemLabels=true}

\usepackage{multicol}
\usepackage{tasks}

\usepackage{pdfpages}
\includepdfset{
    pages=-,
    fitpaper=true
}

% Some useful commands.
\newcommand\thisproj{\tdoccls{tutodoc}}
\newcommand\thisrepo{\url{https://github.com/bc-tools/for-latex/tree/tutodoc}}
\newcommand\thismonorepo{\url{https://github.com/bc-tools/for-latex}}

\NewDocumentCommand{\trademark}{m}{\texttt{#1}}

\newcommand\ctan{\href{https://ctan.org/}{\trademark{CTAN}}}
\newcommand\git{\trademark{git}}
\newcommand\pdf{\trademark{PDF}}

\newcommand\brainfuck{\trademark{Brainfuck}}
\newcommand\lua{\trademark{Lua}}
\newcommand\perl{\trademark{Perl}}
\newcommand\python{\trademark{Python}}

\newcommand\pygmentsREF{\href{https://pygments.org/}{\trademark{Pygments}}}


\NewDocumentCommand{\mailsubject}{m}%  &lt;-- Translate me!
  {sujet \tdocquote{\texttt{tutodoc - CONTRIB - #1}}}

% Source: https://tex.stackexchange.com/a/424061/6880

\newcommand{\FTdirO}{}
\def\FTdirO(#1,#2,#3){%
  \FTfile(#1,{\color{blue!40!black}\faFolderOpen\hspace{-.35pt}}{\hspace{0.2em}#3})
  (tmp.west)++(0.8em,-0.4em)node(#2){}
  (tmp.west)++(1.5em,0)
  ++(0,-1.3em)
}

\newcommand{\FTdirC}{}
\def\FTdirC(#1,#2,#3){%
  \FTfile(#1,{\color{blue!40!black}\faFolder\hspace{.75pt}}{\hspace{0.2em}#3})
  (tmp.west)++(0.8em,-0.4em)node(#2){}
  (tmp.west)++(1.5em,0)
  ++(0,-1.3em)
}

\newcommand{\FTfile}{}
\def\FTfile(#1,#2){%
  node(tmp){}
  (#1|-tmp)++(0.6em,0)
  node(tmp)[anchor=west,black]{\texttt{#2}}
  (#1)|-(tmp.west)
  ++(0,-1.2em)
}

\newcommand{\FTroot}{}
\def\FTroot{tmp.west}

\newcommand\contribtranslatedirtree{
  \begin{tikzpicture}%
    \draw[color=black, thick]
% en        : parent = \FTroot
% normal dir: (parentID, currentID, label)
% file      :       (parentID, label)
      \FTdirO(\FTroot,root,translate){
        \FTdirC(root,changes,changes){
        }
        \FTdirO(root,en,en) {
          \FTdirC(en,api,api) {
          }
          \FTdirC(en,doc,doc) {
          }
        }
        \FTdirC(root,fr,fr){
        }
        \FTdirC(root,status,status){
          \FTdirO(status,en,en) {
            \FTfile(en,api.yaml)
            \FTfile(en,manual.yaml)
          }
          \FTdirC(status,fr,fr){
          }
        }
        \FTfile(root,README.md)
        \FTfile(root,LICENSE.txt)
      };
  \end{tikzpicture}
}


\begin{document}


\title{La classe \texttt{tutodoc} \\ Documentation de type tutoriel}
\author{Christophe, BAL}
\date{18 dÃ©c. 2024 - Version 1.7.1}

\maketitle

\begin{abstract}
    La classe \thisproj{}\,%
    \footnote{
        Le nom vient de \tdocquote{\tdocprewhy{tuto.rial-type} \tdocprewhy{doc.umentation}} qui se traduit en \tdocquote{documentation de type tutoriel}.
    }
    est utilisÃ©e par son auteur pour produire de faÃ§on sÃ©mantique des documentations de packages et de classes \LaTeX\ dans un style de type tutoriel\,%
    \footnote{
        L'idÃ©e est de produire un fichier \texttt{PDF} efficace Ã&nbsp; parcourir pour des besoins ponctuels. C'est gÃ©nÃ©ralement ce que l'on attend d'une documentation liÃ©e au codage.
    }
    avec un rendu sobre pour une lecture sur Ã©cran.

    \smallskip

    \noindent
    \emph{\textbf{Remarque :} cette documentation est aussi disponible en anglais.}

    \smallskip
    \tdocsep
    \small
    \itshape
    \vspace{-5pt}
    \begin{center}
        \textbf{Abstract.}
    \end{center}

    The \thisproj{} class\,%
        \footnote{
            The name comes from \tdocquote{\tdocprewhy{tuto.rial-type} \tdocprewhy{doc.umentation}}.
        }
        is used by its author to semantically produce documentation of \LaTeX\ packages and classes in a tutorial style\,%
        \footnote{
            The idea is to produce an efficient \texttt{PDF} file that can be browsed for one-off needs. This is generally what is expected for a coding documentation.
        }
        with a sober rendering for reading on screen.
    
        \smallskip
    
        \noindent
        \emph{\textbf{Remark :} this documentation is also available in French.}
\end{abstract}

\tdocsep

{
\small

\bgroup
    \addtokomafont{subsection}{\centering}
    \subsection*{Derniers changements}
\egroup

\begin{tdocfix}
	\item Documentation: les rÃ©fÃ©rences aux outils pour indiquer des changements ont Ã©tÃ© incorrectement Ã©crites comme caractÃ©ristiques des contenus colorÃ©s mis en avant.
\end{tdocfix}


\begin{tdocbreak}
	\item La macro \tdocmacro{tdocenv} et sa version Ã©toilÃ©e ne proposent plus d'option.

	\item Cas d'utilisation \LaTeX: la prÃ©sentation par dÃ©faut est plus sobre, et des options permettent d'ajouter les lignes cadrantes, ou la bande colorÃ©e. Voir juste aprÃ¨s.
\end{tdocbreak}


\begin{tdocnew}
	\item Mise en forme de codes informatiques en plus de ceux spÃ©cifiquement en \LaTeX.
	%
	\begin{enumerate}
		\item CrÃ©ation de \tdocenv{tdoccode} et de \tdocmacro{tdoccodein}.

		\item Pour les macros pour du code en ligne, et les environnements pour des blocs de code, des options de type \tdocpack{minted} s'indiquent Ã&nbsp; l'intÃ©rieur de crochet de maniÃ¨re traditionnelle: \tdoclatexin{[options minted]}\,.

		\item Pour les environnements pour des blocs de code, des options de type \tdocpack{tcolorbox} s'indiquent Ã&nbsp; l'intÃ©rieur de chevrons: \tdoclatexin{&lt;options tcolorbox&gt;}\,.

		\item La nouvelle macro \tdocmacro{tdoctcb} permet d'utiliser des raccourcis pour les styles \tdocpack{tcolorbox} rÃ©guliÃ¨rement utilisÃ©s.
	\end{enumerate}

	\item Documentation: une nouvelle section prÃ©sente les outils de mise en forme de codes informatiques autres que les cas d'utilisation de \LaTeX.
\end{tdocnew}


\begin{tdocupdate}
	\item Les sous-sous-sections sont numÃ©rotÃ©es en lettres minuscules.

	\item ThÃ¨mes.
	%
	\begin{enumerate}
		\item Moins d'espace consommÃ©.

		\item Les ombres ont une meilleure coloration.

		\item Pour tous les thÃ¨mes sauf le \tdoclatexin{draft}, le rayon des arcs des coins des cadres passe de \tdoclatexin{.75mm} Ã&nbsp; \tdoclatexin{.2pt}\,.

 		\item Cas d'utilisation de \LaTeX: avec le thÃ¨me \tdoclatexin{color}, la couleur du fond passe de \tdoclatexin[bgcolor = yellow!4]{yellow!4} Ã&nbsp; \tdoclatexin{gray!5}.

		\item DerniÃ¨res modifications: avec le thÃ¨me \tdoclatexin{dark}, le texte \tdoclatexin{[Init]} produit par la macro \tdocmacro{tdocstartproj} utilise la mÃªme police que celle des titres des environnements pour indiquer des changements.
	\end{enumerate}
\end{tdocupdate}
}


\newpage
\tableofcontents
\newpage


\section{DÃ©pendances}

\thisproj\ admet les dÃ©pendances suivantes (les dates entre parenthÃ¨ses sont celles des versions utilisÃ©es lors des derniers tests).
%
\begin{tasks}[style=itemize](2)
    \task \texttt{scrartcl.cls}
    \hfill {\small (2024/10/24)}\kern10pt

    \task \texttt{clrstrip.sty}
    \hfill {\small (2021/08/28)}\kern10pt

    \task \texttt{csquotes.sty}
    \hfill {\small (2024/04/04)}\kern10pt

    \task \texttt{fontawesome5.sty}
    \hfill {\small (2022/05/02)}\kern10pt

    \task \texttt{geometry.sty}
    \hfill {\small (2020/01/02)}\kern10pt

    \task \texttt{hyperref.sty}
    \hfill {\small (2024/11/05)}\kern10pt

    \task \texttt{inputenc.sty}
    \hfill {\small (2024/02/08)}\kern10pt

    \task \texttt{keytheorems.sty}
    \hfill {\small (2024/11/11)}\kern10pt

    \task \texttt{marginnote.sty}
    \hfill {\small (2018/08/09)}\kern10pt

    \task \texttt{minted.sty}
    \hfill {\small (2024/11/17)}\kern10pt

    \task \texttt{tcolorbox.sty}
    \hfill {\small (2024/10/22)}\kern10pt
\end{tasks}


\section{RÃ©glages gÃ©nÃ©raux}

\subsection{Taille de la police et gÃ©omÃ©trie de la page}

La classe \tdoccls{scrartcl} est chargÃ©e via l'option \tdoclatexin{fontsize = 10pt}\,, et le package \tdocpack{geometry} gÃ¨re les dimensions de la page.


\begin{tdocwarn}
	Les macros pour dater et versionner prÃ©sentÃ©es dans la section \ref{tutodoc-changes} page \pageref{tutodoc-changes} ont besoin de rÃ©glages fixes pour la gÃ©omÃ©trie des pages et la taille de la police.
\end{tdocwarn}


\subsection{Titres et table des matiÃ¨res}

Les rÃ©glages choisis sont directement visibles dans cette documentation.


\subsection{Liens dynamiques}

Le package \tdocpack{hyperref} est importÃ©, si ce n'est pas fait, et les rÃ©glages choisis portent juste sur les couleurs des liens relatifs aux citations, aux fichiers, aux liens internes, et enfin aux \verb#url# (ces couleurs dÃ©pendent du thÃ¨me choisi).


\section{Quelle langue est utilisÃ©e par la classe \thisproj\ ?}

Cette documentation charge le package \tdocpack{babel} via \tdoclatexin|\usepackage[french]{babel}|\, un package que \thisproj\ ne charge pas.
En revanche, la classe \thisproj\ identifie \tdoclatexin|fr| comme la langue principale utilisÃ©e par \tdocpack{babel}.%
\footnote{
    Techniquement, on utilise \tdoclatexin|\BCPdata{language}| qui renvoie une langue au format court.
}
Comme cette langue fait partie de la liste des langues prises en compte, voir ci-dessous, la classe \thisproj\ produira les effets attendus.
\begin{tasks}[label=\small\textbullet](3)
    \task \tdoclatexin|en| : anglais.
        \task \tdoclatexin|es| : espagnol.
        \task \tdoclatexin|fr| : franÃ§ais.
\end{tasks}


\begin{tdocnote}
    Les packages \tdocpack{babel} et \tdocpack{polyglossia} sont pris en compte.
\end{tdocnote}


\begin{tdoccaut}
    Si le choix de la langue principale n'est pas faite dans le prÃ©ambule, le mÃ©canisme employÃ© Ã©chouera avec des effets de bord non voulus (voir l'avertissement qui suit).
\end{tdoccaut}


\begin{tdocwarn}
    Lorsqu'une langue n'est pas prise en compte par \thisproj, un message d'avertissement est Ã©mis, et l'anglais est alors choisi comme langue vis-Ã&nbsp;-vis de \thisproj.
\end{tdocwarn}


\section{Cela veut dire quoi en \tdocquote{anglais}}

Penser aux non-anglophones est bien, mÃªme si ces derniers se font de plus en plus rares.

\begin{tdoclatex}
Cool et top signifient \tdocinEN*{cool} et \tdocinEN{top}.
\end{tdoclatex}


La macro \tdocmacro{tdocinEN} et sa version Ã©toilÃ©e s'appuient sur \tdocmacro{tdocquote} : par exemple, \tdocquote{sÃ©mantique} s'obtient via \tdoclatexin|\tdocquote{sÃ©mantique}|\,.


\begin{tdocnote}
    Le texte \tdocquote{en anglais} est traduit dans la langue dÃ©tectÃ©e par \thisproj.
\end{tdocnote}


Dans le contenu entre guillemets, les rÃ¨gles linguistiques anglaises sont respectÃ©es comme le montre l'exemple suivant.

\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
          Test: \tdocquote{OK?}  \\
\tdocinEN{Test: \tdocquote{OK?}}
\end{tdoclatex}


\section{Choisir son thÃ¨me}

Pour modifier la mise en forme gÃ©nÃ©rale, la classe \thisproj\ propose l'option \tdoclatexin{theme = &lt;choix&gt;} oÃ¹ \tdoclatexin{&lt;choix&gt;} peut prendre les valeurs suivantes.

\begin{tasks}[style=itemize]
    \task \tdoclatexin{bw}:
          un thÃ¨me de type noir-et-blanc avec certaines nuances de gris.

    \task \tdoclatexin{color}:
          un thÃ¨me colorÃ© : c'est \emph{la valeur par dÃ©faut}.

    \task \tdoclatexin{dark}:
          un thÃ¨me sombre idÃ©al pour se reposer les yeux.

    \task \tdoclatexin{draft}:
          un thÃ¨me pour une impression papier Ã&nbsp; la recherche d'erreurs de contenu pas forcÃ©ment simples Ã&nbsp; dÃ©busquer devant un Ã©cran.
\end{tasks}


\begin{tdocnote}
    Ã€ la fin de ce document, aprÃ¨s l'historique des changements, vous trouverez une galerie de cas d'utilisation de ces diffÃ©rents thÃ¨mes : se rendre Ã&nbsp; l'annexe page \pageref{tutodoc-theme-gallery}.
\end{tdocnote}


% ----------------------------- %
% -- AT END DOCUMENT - START -- %
% ----------------------------- %

% The following AT-END-DOCUMENT lines of codes have been generated
% automatically. Don't judge their relative beauty...

\AtEndDocument{

% An annex page for a pretty doc.
\newpage

\bgroup
    \setkomafont{section}{\Huge\bfseries}
    \addtokomafont{section}{\centering}
    \phantomsection\section*{Annexe -- Galerie des thÃ¨mes}%
    \label{tutodoc-theme-gallery}
    \addcontentsline{toc}{section}{Annexe -- Galerie des thÃ¨mes}%
\egroup

\bigskip\bigskip

\begin{tdocnote}
    Chaque exemple est un \pdf\ directement insÃ©rÃ© dans ce document (ne soyez donc pas surpris par la numÃ©rotation des pages).
\end{tdocnote}

\newpage

% Let's build the PDFs.
\immediate\write18{SOURCE_DATE_EPOCH=0 FORCE_SOURCE_DATE=1 latexmk -shell-escape -pdflatex gallery-showcase-bw}

\immediate\write18{SOURCE_DATE_EPOCH=0 FORCE_SOURCE_DATE=1 latexmk -shell-escape -pdflatex gallery-showcase-color}

\immediate\write18{SOURCE_DATE_EPOCH=0 FORCE_SOURCE_DATE=1 latexmk -shell-escape -pdflatex gallery-showcase-dark}

\immediate\write18{SOURCE_DATE_EPOCH=0 FORCE_SOURCE_DATE=1 latexmk -shell-escape -pdflatex gallery-showcase-draft}

% The gallery starts here...
\includepdf{gallery-showcase-bw}

\includepdf{gallery-showcase-color}

\includepdf{gallery-showcase-dark}

\includepdf{gallery-showcase-draft}

}

% --------------------------- %
% -- AT END DOCUMENT - END -- %
% --------------------------- %

\section{Mettre en avant du contenu}

\begin{tdocnote}
    Les environnements prÃ©sentÃ©s dans cette section\,%
    \footnote{
        La mise en forme provient du package \tdocpack{keytheorems}.
    }
    ajoutent un court titre indiquant le type d'informations fournies.
    Ce court texte sera toujours traduit dans la langue repÃ©rÃ©e par la classe \thisproj.
\end{tdocnote}



\subsection{Du contenu dans le flot de la lecture}

\begin{tdocimp}
    Tous les environnements prÃ©sentÃ©s dans cette section partagent le mÃªme compteur qui sera remis Ã&nbsp; zÃ©ro dÃ¨s que \tdoclatexin|\section| est employÃ©e.
\end{tdocimp}



\subsubsection{Des exemples}

Des exemples numÃ©rotÃ©s s'indiquent via \tdocenv{tdocexa} qui propose un argument optionnel pour ajouter un mini-titre.
Voici deux usages possibles.

\tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-admonitions-exa.tex}


\begin{tdoctip}
    Il peut parfois Ãªtre utile de revenir Ã&nbsp; la ligne dÃ¨s le dÃ©but du contenu. Le code suivant montre comment faire (ce tour de passe-passe reste valable pour l'environnement \verb#tdocrem# prÃ©sentÃ© juste aprÃ¨s). Noter au passage que la numÃ©rotation suit celle de l'exemple prÃ©cÃ©dent comme souhaitÃ©.
\end{tdoctip}

\tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-admonitions-exa-leavevmode.tex}


%\subsection{Du contenu dans le flot de la lecture}

\subsubsection{Des remarques}

Tout se passe via \tdocenv{tdocrem} avec un fonctionnement identique Ã&nbsp; l'environnement \tdocenv*{tdocexa} comme le montre l'exemple suivant.


\tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-admonitions-rmk.tex}


\subsection{Du contenu tape-Ã&nbsp;-l'oeil}
\label{tutodoc-admonitions}

\begin{tdocnote}
    La mise en forme proposÃ©e ici est celle par dÃ©faut, mais d'autres sont possible en changeant de thÃ¨me : voir la galerie de cas d'utilisation dans l'annexe page \pageref{tutodoc-theme-gallery}.
    Quant aux icÃ´nes, elles sont obtenues via le package \tdocpack{fontawesome5} et la macro \tdocmacro{tdocicon} qui gÃ¨re l'espacement vis-Ã&nbsp;-vis du texte.%
    \footnote{
        Par exemple,
        \tdoclatexin|\fbox{\tdocicon{\faBed}{FatiguÃ©}}|
        produit\,
        \fbox{\tdocicon{\faBed}{FatiguÃ©}}\,.
    }
\end{tdocnote}



\subsubsection{Une astuce}

L'environnement \tdocenv*{tdoctip} sert Ã&nbsp; donner des astuces. Voici comment l'employer.

\tdoclatexinput&lt;\tdoctcb{sbs}, bottom = 3pt, top = 3pt&gt;{examples-admonitions-tip.tex}


\smallskip


\begin{tdoctip}
    Quelque fois, un contenu mis en avant peut se rÃ©duire Ã&nbsp; une liste. Dans ce cas, la mise en forme peut Ãªtre amÃ©liorÃ©e comme suit oÃ¹ nous utilisons l'option \tdoclatexin{wide} du package \tdocpack{enumitem} qui est importÃ© par cette documentation.

    \tdoclatexinput&lt;\tdoctcb{sbs}, bottom = 3pt, top = 3pt&gt;{examples-admonitions-leavevmode-items.tex}
\end{tdoctip}


\foreach \sectitle/\desc/\filename in {
    {Note informative}/% &lt;-- Translate me!
    {L'environnement \tdocenv*{tdocnote} sert Ã&nbsp; mettre en avant des informations utiles. Voici comment l'utiliser.}/% &lt;-- Translate me!
    note,
    %
    {Un truc important}/% &lt;-- Translate me!
    {L'environnement \tdocenv*{tdocimp} permet d'indiquer quelque chose d'important mais sans danger.}/% &lt;-- Translate me!
    important,
    %
    {Avertir d'un point trÃ¨s dÃ©licat}/% &lt;-- Translate me!
    {L'environnement \tdocenv*{tdoccaut} sert Ã&nbsp; pointer quelque chose de dÃ©licat. Voici comment l'employer.}/%&lt;-- Translate me!
    caution,
    %
    {Avertir d'un danger}/% &lt;-- Translate me!
    {L'environnement \tdocenv*{tdocwarn} permet d'avertir l'utilisateur d'un piÃ¨ge Ã&nbsp; Ã©viter. Voici comment l'employer.}/% &lt;-- Translate me!
    warn%
} {
    \subsubsection{\sectitle}

    \desc

    \tdoclatexinput&lt;\tdoctcb{sbs}, bottom = 3pt, top = 3pt&gt;{examples-admonitions-\filename.tex}
}


\section{Indiquer des packages, des classes, des macros ou des environnements}

Voici ce qu'il est possible de taper de faÃ§on sÃ©mantique.


\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
\tdoccls{maclasse} sert Ã&nbsp;...      \\
\tdocpack{monpackage} est pour... \\
\tdocmacro{unemacro} permet de... \\
\tdocenv{env} produit...          \\
Juste \tdocenv*{env}...
\end{tdoclatex}


\begin{tdocrem}
    Contrairement Ã&nbsp; \tdocmacro{tdoclatexin}, les macros \tdocmacro{tdocmacro}, \tdocmacro{tdocenv} et \tdocmacro{tdocenv*} ne colorent pas le texte produit.
    De plus, \tdoclatexin{\tdocenv{monenv}} produit \tdocenv{monenv} avec des espaces sÃ©cables afin d'autoriser des retours Ã&nbsp; la ligne si besoin.
\end{tdocrem}



\section{Origine d'un prÃ©fixe ou d'un suffixe}

Pour expliquer les noms retenus, rien de tel que d'indiquer et expliciter les courts prÃ©fixes et suffixes employÃ©s. Ceci se fait facilement comme suit.


\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
\tdocpre{sup} est relatif Ã&nbsp;...     \\
\tdocprewhy{sup.erbe} signifie...  \\
\emph{\tdocprewhy{sup.er} pour...}
\end{tdoclatex}


\begin{tdocrem}
    Le choix du point pour scinder un mot permet d'utiliser des mots avec un tiret comme dans \tdoclatexin+\tdocprewhy{ca.sse-brique}+ qui donne \tdocprewhy{ca.sse-brique}.
\end{tdocrem}


\section{Un rendu en situation rÃ©elle}
\label{tutodoc-showcase}

Il est parfois utile d'obtenir directement le rendu d'un code dans la documentation. Ceci nÃ©cessite que ce type de rendu soit dissociable du texte donnant des explications.



\subsection{Un rendu minimaliste par dÃ©faut}

\begin{tdocexa}
    Il peut Ãªtre utile de montrer un rendu rÃ©el directement dans un document.%
    \footnote{
        Typiquement lorsque l'on fait une dÃ©mo.
    }
    Ceci se tape via l'environnement \tdocenv*{tdocshowcase} comme suit.

    \tdoclatexshow[explain = {On obtient alors le rendu suivant qui est la combinaison d'un faible espacement vertical et d'une simple importation.}]{examples-showcase-default.tex}
\end{tdocexa}


\begin{tdocrem}
    La section \ref{tutodoc-listing-latexshow} page \pageref{tutodoc-listing-latexshow} explique comment obtenir, via la macro \tdocmacro{tdoclatexshow}, un code suivi de son rendu rÃ©el comme dans l'exemple prÃ©cÃ©dent.
\end{tdocrem}


\begin{tdocwarn}
    Avec les paramÃ¨tres par dÃ©faut, si le code Ã&nbsp; formater commence par un crochet ouvrant, il faut utiliser l'une des astuces suivantes.

    \tdoclatexshow[explain = {Ceci produira ce qui suit.}]{examples-showcase-hook.tex}
\end{tdocwarn}


\subsection{Avec des lignes cadrantes}

Pour rendre plus visible le code \LaTeX\ mis en forme, on peut faire appel au style \tdoclatexin{rule} comme dans les exemple suivants.


\begin{tdocexa}
	L'option \tdoclatexin{style = rule} permet d'obtenir ce qui suit ce qui suit oÃ¹ les textes ajoutÃ©s automatiquement s'adapteront Ã&nbsp; la langue repÃ©rÃ© par \thisproj.

	\input{examples-showcase-rule.tex}
\end{tdocexa}


\begin{tdocexa}[Du texte et des couleurs modifiables]
	On peut obtenir facilement l'horreur suivante.

	\input{examples-showcase-rule-custom.tex}

	Voici le code qui a Ã©tÃ© employÃ©.%
	\footnote{
		La section suivante va justifier le choix, a priori Ã©trange, de \tdoclatexin{col-stripe} au lieu de \tdoclatexin{col-rule}\,.
	}

	\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-showcase-rule-custom.tex}
\end{tdocexa}


\begin{tdocnote}
    Dans l'exemple prÃ©cÃ©dent, le texte utilise bien l'orange assombri proposÃ©. Par contre, le rouge sert de base pour obtenir les couleurs utilisÃ©es pour les lignes cadrantes: les transformations utilisÃ©es dÃ©pendent du thÃ¨me choisi.%
    \footnote{
        Par exemple, les thÃ¨mes \tdoclatexin{bw} et \tdoclatexin{draft} ne tiennent pas compte de la clÃ© \tdoclatexin{col-stripe} !
    }
    %
    Il faut Ã©galement savoir qu'en coulisse, la macro \tdocmacro{tdocruler} est employÃ©e, elle fonctionne comme suit.

    \begin{tdoclatex}&lt;\tdoctcb{std}&gt;
\tdocruler[red]{Un pseudo-titre dÃ©corÃ©}
    \end{tdoclatex}
\end{tdocnote}


\subsection{Avec une bande colorÃ©e}

Il est des situations oÃ¹ l'on doit pouvoir clairement identifier un exemple de code \LaTeX\ mis en forme. Ceci est faisable comme le montrent les exemples suivants.%
\footnote{
    En coulisse, les bandes sont crÃ©Ã©es sans effort grÃ¢ce au package \tdocpack{clrstrip}.
}


\begin{tdocexa}
	L'option \tdoclatexin{style = stripe} fournit ce qui suit.

	\input{examples-showcase-stripe.tex}
\end{tdocexa}


\begin{tdocexa}[Du texte et des couleurs modifiables]
	On peut produire facilement une belle horreur comme celle qui arrive.

	\input{examples-showcase-stripe-custom.tex}

	Voici le code qui a Ã©tÃ© employÃ©.%
	\footnote{
		On comprend maintenant le choix de \tdoclatexin{col-stripe} au lieu de \tdoclatexin{col-rule}\,.
	}

	\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-showcase-stripe-custom.tex}
\end{tdocexa}


\subsection{En important le code \LaTeX}

Pour obtenir des rendus en important le code depuis un fichier externe, au lieu de le taper, il suffit d'employer la macro \tdocmacro{tdocshowcaseinput} dont l'option reprend la syntaxe de celle de l'environnement \tdocenv*{tdocshowcase}, et l'argument obligatoire correspond au chemin du fichier. Voici des exemples d'utilisation.


\foreach \exatitle/\style in {
    {Usage standard}/%            &lt;-- Translate me!
    	{default},
    {Avec des lignes cadrantes}/% &lt;-- Translate me!
    	{rule},
    {Une bande colorÃ©e}/%         &lt;-- Translate me!
    	{stripe}%
}{
	\begin{tdocexa}[\exatitle]
		\leavevmode
		\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-showcase-input-\style.tex}

		Ceci donne:

		\smallskip

		\input{examples-showcase-input-\style.tex}
	\end{tdocexa}
}


\section{Cas d'utilisation en \LaTeX}
\label{tutodoc-listing-latex}

Documenter un package, ou une classe, se fait efficacement via des cas d'utilisation montrant Ã&nbsp; la fois du code et le rÃ©sultat correspondant.%
\footnote{
    La mise en forme des codes se fait via les packages \tdocpack{minted} et  \tdocpack{tcolorbox}.
}



\subsection{Codes \tdocquote{en ligne}}
\label{tutodoc-listing-latex-inline}

\begin{tdocexa}[Usage standard]
    La macro \tdocmacro{tdoclatexin}\,%
    \footnote{
        Le nom de la macro \tdocmacro{tdoclatexin} vient de \tdocquote{\tdocprewhy{in.line} \LaTeX} soit \tdocinEN{\LaTeX\ en ligne}.
    }
    permet de taper du code en ligne via un usage similaire Ã&nbsp; \tdocmacro{verb}, ou bien comme une macro standard (voir la gestion des accolades dans le dernier cas ci-dessous).
    Voici des exemples d'utilisation.%
    \footnote{
    	Une couleur de fond est volontairement utilisÃ©e pour subtilement faire ressortir les codes \tdoclatexin{\LaTeX}\,.
    }

    \begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
1: \tdoclatexin|$a^b = c$|               \\
2: \tdoclatexin+\tdoclatexin|$a^b = c$|+ \\
3: \tdoclatexin{\tdoclatexin{$a^b = c$}}
	\end{tdoclatex}
\end{tdocexa}


\begin{tdocexa}[Des options possibles]
    Comme la macro \tdocmacro{tdoclatexin} s'appuie sur \tdocpack{minted}, on peut utiliser toutes les options prises en compte par \tdocpack{minted}.
    Voici des exemples d'utilisation.

    \begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
1: \tdoclatexin[style = bw]{$a^b = c$} \\
2: \tdoclatexin[style = igor,
                showspaces]{$a^b = c$}
	\end{tdoclatex}
\end{tdocexa}


\begin{tdocnote}
    La macro \tdocmacro{tdoclatexin} est utilisable dans une note de pied de page comme ci-dessous.%
    \footnote{
        \tdoclatexin+$minted = TOP$+ a Ã©tÃ© tapÃ© \tdoclatexin|\tdoclatexin+$minted = TOP$+| dans cette note de bas de page.
    }
\end{tdocnote}



\subsection{Codes tapÃ©s directement}
\label{tutodoc-listing-latex-direct}

\begin{tdocexa}[Face Ã&nbsp; face]
    Afficher un code et son rendu cÃ´te Ã&nbsp; cÃ´te se fait comme suit oÃ¹ la macro \tdocmacro{tdoctcb} permet de juste taper \tdoclatexin{\tdoctcb{sbs}} au lieu de \tdoclatexin{listing side text} (\tdoclatexin#sbs# est pour \tdocquote{\tdocprewhy{s.ide} \tdocprewhy{b.y} \tdocprewhy{s.ide}}\,, soit \tdocinEN{cÃ´te Ã&nbsp; cÃ´te}, tandis que \tdoclatexin#tcb# est l'abrÃ©viation standard de \texttt{tcolorbox}). Bien noter l'emploi de chevrons, et non de crochets (nous revenons sur ceci un plus bas).

    \tdoclatexshow{examples-listing-latex-ABC.tex}
\end{tdocexa}


\begin{tdocexa}[Ã€ la suite]
    \tdocenv{tdoclatex} produit le rÃ©sultat suivant (ce rÃ©glage par dÃ©faut s'obtient aussi via l'emploi de \tdoclatexin#\tdoctcb{std}#).%
    \footnote{
        \tdoclatexin{std} fait rÃ©fÃ©rence au comportement \tdocquote{standard} de \tdocpack{tcolorbox} vis Ã&nbsp; vis de la librairie \tdocpack{minted}.
    }

    \begin{tdoclatex}
$A = B + C$
    \end{tdoclatex}
\end{tdocexa}


\begin{tdocexa}[Juste le code]
    Via \tdoclatexin#\tdoctcb{code}#, on aura juste le code comme ci-aprÃ¨s.

    \begin{tdoclatex}&lt;\tdoctcb{code}&gt;
$A = B + C$
    \end{tdoclatex}
\end{tdocexa}


\begin{tdocexa}[Personnaliser]
	L'environnement \tdocenv*{tdoclatex} accepte deux types d'argument optionnel.
	%
	\begin{enumerate}
		\item Entre de classiques crochets, on peut employer toute option prise en compte par \tdocpack{minted}.

        \item Entre des chevrons, on peut employer toute option prise en compte par les environnements obtenus via \tdocpack{tcolorbox}.
	\end{enumerate}

	Par exemple, on peut faire les modifications suivantes si besoin.%
	\footnote{
		Cette documentation utilise les options entre chevrons pour obtenir des rendus corrects de codes \LaTeX\ produisant des cadres ombrÃ©s : voir la section \ref{tutodoc-admonitions} page \pageref{tutodoc-admonitions}.
	}

    \tdoclatexshow{examples-listing-latex-ABC-custom.tex}
\end{tdocexa}

\medskip

\begin{tdocwarn}
    Pour obtenir la mise en forme par dÃ©faut d'un code commenÃ§ant par un crochet, ou un chevron, il faudra bidouiller un peu comme ci-dessous.
    \tdoclatexshow{examples-listing-latex-strange.tex}

    \smallskip

    Une autre mÃ©thode consiste Ã&nbsp; utiliser la primitive \tdocmacro{string} comme ci-aprÃ¨s.
    \tdoclatexshow{examples-listing-latex-strange-bis.tex}
\end{tdocwarn}


\subsection{Codes importÃ©s}

Pour les codes suivants, on considÃ¨re un fichier de chemin relatif \verb+examples-listing-xyz.tex+, et ayant le contenu suivant.


\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-listing-latex-xyz.tex}


\medskip


La macro \tdocmacro{tdoclatexinput}, prÃ©sentÃ©e ci-dessous, attend le chemin d'un fichier et propose le mÃªme systÃ¨me d'options entre crochets, ou entre chevrons, que l'environnement \tdocenv*{tdoclatex}.


\foreach \title/\extra/\fname in {%
	{Face Ã&nbsp; face}/%
		{}/%
		sbs,
	{Ã€ la suite}/%
		{ qui correspond aussi Ã&nbsp; l'option \tdoclatexin{\tdoctcb{std}}\,}/%
		std,%
	{Juste le code}/%
		{}/%
		code,%
	{Personnaliser}/%
		{}/%
		perso%
}{
	\begin{tdocexa}[\title]
    	\leavevmode
		\tdoclatexshow[explain=Ceci produit la mise en forme suivante\extra.]{examples-listing-latex-latexinput-option-\fname.tex}
	\end{tdocexa}
}



\subsection{Codes importÃ©s et mis en situation}
\label{tutodoc-listing-latexshow}

\begin{tdocnote}
    Les textes par dÃ©faut de la macro \tdocmacro{tdoclatexshow} tiennent compte de la langue dÃ©tectÃ©e par \thisproj.
\end{tdocnote}


\begin{tdocexa}[Mise en situation]
    \tdoclatexin+\tdoclatexshow{examples-listing-xyz.tex}+ produit ce qui suit.

    \smallskip

    \tdoclatexshow{examples-listing-latex-xyz.tex}
\end{tdocexa}


\begin{tdocexa}[Changer le texte explicatif]
    Via la clÃ© \tdoclatexin|explain|, on peut utiliser un texte personnalisÃ©. Ainsi, \tdoclatexin|\tdoclatexshow[explain = Voici le rendu rÃ©el.]{examples-listing-xyz.tex}| produira ce qui suit.

    \smallskip

    \tdoclatexshow[explain = Voici le rendu rÃ©el.]{examples-listing-latex-xyz.tex}
\end{tdocexa}


\begin{tdocexa}[Les options disponibles]
    En plus du texte explicatif, il est aussi possible d'utiliser toutes les options de l'environnement \tdocenv*{tdocshowcase}, voir la section \ref{tutodoc-showcase} page \pageref{tutodoc-showcase}.
    Voici un exemple illustrant ceci.

    \medskip

    \tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-listing-latex-latexshow-options.tex}

    \smallskip

    Ceci va produire ce qui suit.

    \smallskip

    \input{examples-listing-latex-latexshow-options.tex}
\end{tdocexa}


\section{PrÃ©senter du code informatique}

Certains packages proposent des fonctionnalitÃ©s nÃ©cessitant de coder un peu en \lua.%
\footnote{
	Pour les mathÃ©matiques, on peut citer \tdocpack{luacas} et \tdocpack{tkz-elements}.
}
Pour ces projets, la documentation doit pouvoir prÃ©senter des lignes de code \lua\,; c'est pour cette raison que \thisproj\ permet de faire cela aisÃ©ment, et bien plus.%
\footnote{
    La mise en forme des codes Ã©tant faite via les packages \tdocpack{minted} et \tdocpack{tcolorbox}, les macros et les environnements prÃ©sentÃ©s dans cette section permettent la mise en forme de codes dans tous les langages supportÃ©s par \pygmentsREF, un projet \python\ utilisÃ© en coulisse par \tdocpack{minted}.
}


\begin{tdocimp}
	Les outils de cette section permettent aussi de prÃ©senter du code \LaTeX, mais il ne faut pas les utiliser pour de simples cas d'utilisation, car les macros et les environnements prÃ©sentÃ©es juste aprÃ¨s servent Ã&nbsp; Ã©tudier du code, et non juste Ã&nbsp; l'employer : se reporter Ã&nbsp; la section \ref{tutodoc-listing-latex} page \pageref{tutodoc-listing-latex} pour faire appel aux bons outils pour la mise en forme de cas d'utilisation \LaTeX.
\end{tdocimp}



\subsection{Codes \tdocquote{en ligne}}

La macro \tdocmacro{tdoccodein}\,%
\footnote{
	Le nom de la macro \tdocmacro{tdoccodein} vient de \tdocquote{\tdocprewhy{in.line} \tdocpre{code}} soit \tdocinEN{code en ligne}.
}
attend deux arguments : le 1\ier\ indique le langage de programmation, et le 2\ieme\ donne le code Ã&nbsp; mettre en forme.
Il est possible d'utiliser une option de fonctionnement identique Ã&nbsp; ce que propose \tdocmacro{tdoclatexin} : voir la section \ref{tutodoc-listing-latex-inline} page \pageref{tutodoc-listing-latex-inline}.
Voici des cas d'utilisation possibles.%
\footnote{
    Une couleur de fond est volontairement utilisÃ©e pour subtilement faire ressortir les codes mis en forme.
    Par exemple, taper \tdoclatexin{\tdoccodein{py}{funny = "ah"*3}} produira \tdoccodein{py}{funny = "ah"*3}\,.
}

\begin{tdoclatex}
1: \tdoccodein{py}{print("OK" if i = 0 else "KO")}             \\
2: \tdoccodein[style = bw]{py}{print("OK" if i = 0 else "KO")} \\
3: \tdoccodein[style = igor, showspaces]%
              {py}{print("OK" if i = 0 else "KO")}
\end{tdoclatex}

\medskip

\begin{tdocnote}
	Sur la page \url{https://pygments.org/languages/} se trouve la liste complÃ¨te des langages supportÃ©s avec leur nom court.
	Par exemple, il est possible de mettre en forme du code \brainfuck\ comme cette sÃ©quence \tdoccodein{bf}{++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;++.&gt;+.+++++++..+++.} qui sert Ã&nbsp; afficher \tdoccodein{text}{Hello}\,.
\end{tdocnote}



\subsection{Codes tapÃ©s directement}

On peut taper directement du code dans un document \LaTeX\ via \tdocenv{tdoccode} qui attend un argument indiquant le langage de programmation, et d'Ã©ventuelles options entre crochets et/ou entre chevrons de fonctionnements identiques Ã&nbsp; ce que propose \tdocenv{tdoclatex} : voir la section \ref{tutodoc-listing-latex-direct} page \pageref{tutodoc-listing-latex-direct}.%
\footnote{
	Noter que la coloration des codes \LaTeX\ est correcte du point de vue lexical, mais fausse sÃ©mantiquement parlant.
}


% Strings "..." in the source codes must also be translated.
\foreach \title/\lang in {%
	{Fonctionnement standard}/%
		perl,%
	{Personnalisation ponctuelle du rendu}/%
		lua%
}{
    \begin{tdocexa}[\title]
    	\leavevmode
    	\tdoclatexshow{examples-listing-full-hello-you-\lang}
    \end{tdocexa}
}


\subsection{Codes importÃ©s}

La macro \tdocmacro{tdoccodeinput} attend le langage et le chemin d'un fichier Ã&nbsp; mettre en forme, et Ã©ventuellement d'options similaires Ã&nbsp; ce que propose l'environnement \tdocenv*{tdoccode}\,.


% Strings "..." in the source codes must also be translated.
\foreach \title/\lang in {%
	{Fonctionnement standard}/%
		hs,%
	{Personnalisation ponctuelle du rendu}/%
		tex%
}{
    \begin{tdocexa}[\title]
    	\leavevmode
    	\tdoclatexinput&lt;\tdoctcb{code}&gt;{examples-listing-full-input-hello-you-\lang}

		Ceci donne:

		\input{examples-listing-full-input-hello-you-\lang}
    \end{tdocexa}
}


\section{Indiquer les changements}
\label{tutodoc-changes}

Afin de faciliter le suivi d'un projet, il est indispensable de fournir un historique indiquant les changements effectuÃ©s lors de la publication d'une nouvelle version.



\subsection{Ã€ quel moment ?}
\label{tutodoc-changes-when}

On peut dater et/ou versionner quelque chose.


\begin{tdocexa}[Dater des nouveautÃ©s]
    La macro \tdocmacro{tdocdate} permet d'indiquer une date dans la marge comme dans l'exemple suivant.

    \tdoclatexshow{examples-version-n-change-dating.tex}
\end{tdocexa}


\begin{tdocexa}[Versionner des nouveautÃ©s en les datant Ã©ventuellement]
    Associer un numÃ©ro de version Ã&nbsp; une nouveautÃ© se fait via la macro \tdocmacro{tdocversion}, la couleur et la date Ã©tant des arguments optionnels.

    \tdoclatexshow{examples-version-n-change-versioning.tex}
\end{tdocexa}


\begin{tdocexa}[Attention avec les titres de paragraphe]
	L'exemple suivant montre qu'il faut placer une dates et/ou une version juste aprÃ¨s un titre de paragraphe, et non avant.

	\tdoclatexshow{examples-version-n-change-para-title.tex}
\end{tdocexa}


\begin{tdocexa}[RÃ©gler le positionnement vertical]
	Si besoin, on peut modifier le dÃ©calage vertical utilisÃ© pour bien placer les dates et les versions dans la marge, la valeur par dÃ©faut Ã©tant $(-8\,\mathit{pt})$.

	\tdoclatexshow{examples-version-n-change-manual-setting.tex}
\end{tdocexa}


\begin{tdocimp}
    \begin{enumerate}[wide]
        \item Les macros \tdocmacro{tdocdate} et \tdocmacro{tdocversion} nÃ©cessitent deux compilations.

        \item Comme la langue dÃ©tectÃ©e pour cette documentation est le franÃ§ais, la date dans le rendu final est au format \texttt{JJ/MM/AAAA} alors que dans le code celle-ci devra toujours Ãªtre saisie au format anglais \texttt{AAAA-MM-JJ}.
    \end{enumerate}
\end{tdocimp}


\begin{tdoccaut}
    Seul l'emploi du format numÃ©rique \tdoclatexin+YYYY-MM-DD+ est vÃ©rifiÃ©,%
    \footnote{
        Techniquement, vÃ©rifier la validitÃ© d'une date, via \LaTeX3, ne prÃ©sente pas de difficultÃ©.
    }
    et ceci est un choix ! Pourquoi cela ? Tout simplement car dater et versionner des explications devrait se faire de faÃ§on semi-automatisÃ©e afin d'Ã©viter tout bug humain.
\end{tdoccaut}


\subsection{Quoi de neuf ?}

\thisproj\ propose la macro \tdocmacro{tdocstartproj} et diffÃ©rents environnements pour indiquer rapidement et clairement ce qui a Ã©tÃ© fait lors des changements faits, ou Ã&nbsp; venir.%
\footnote{
    L'utilisateur n'a pas besoin de tous les dÃ©tails techniques.
}


\begin{tdocnote}
	Concernant les icÃ´nes, voir la note au dÃ©but de la section \ref{tutodoc-admonitions} page \pageref{tutodoc-admonitions}.
\end{tdocnote}


\subsubsection{La sobriÃ©tÃ© avant tout}

\foreach \exatitle/\filename in {
% Standard.
    {Juste pour la toute premiÃ¨re version}/%&lt;-- Translate me!
        first,
    {Pour les nouveautÃ©s}/% &lt;-- Translate me!
        new,
    {Pour les mises Ã&nbsp; jour}/% &lt;-- Translate me!
        update,
    {Pour les bifurcations}/% &lt;-- Translate me!
        break,
    {Pour les problÃ¨mes}/% &lt;-- Translate me!
        pb,
    {Pour les rÃ©parations}/% &lt;-- Translate me!
        fix,
    {Feuille de route}/% &lt;-- Translate me!
        todo,
    {Informations techniques}/% &lt;-- Translate me!
        tech,
% Customized.
    {ThÃ©matiques aux choix avec une icÃ´ne}/%&lt;-- Translate me!
        user-choice-icon,
    {ThÃ©matiques aux choix sans icÃ´ne}/% &lt;-- Translate me!
        user-choice%
} {
    \begin{tdocexa}[\exatitle]
        \leavevmode

        \tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-version-n-change-chges-\filename.tex}
    \end{tdocexa}
}


\subsubsection{De la couleur si besoin}

Il peut Ãªtre utile de mettre en avant certains changements : ceci n'est faisable qu'en modifiant la couleur du contenu.

\foreach \exatitle/\filename in {
    {Une premiÃ¨re version tape-Ã&nbsp;-l'oeil}/%&lt;-- Translate me!
        first,
    {Des rÃ©parations exceptionnelles}/% &lt;-- Translate me!
        fix%
} {
    \begin{tdocexa}[\exatitle]
        \leavevmode

        \tdoclatexinput&lt;\tdoctcb{sbs}&gt;{examples-version-n-change-color-chges-\filename.tex}
    \end{tdocexa}
}


\subsection{Le quoi et le quand}

Les clÃ©s optionnelles \tdoclatexin{col-chges}\,, \tdoclatexin{date} et \tdoclatexin{version} permettent de dater et/ou versionner directement un changement d'un type particulier. Voici des exemples d'utilisation.

\tdoclatexshow{examples-version-n-change-what-n-when.tex}


\section{DÃ©coration}

Finissons cette documentation avec un petit outil de mise en forme qui peut rendre de grands services.


\begin{tdoclatex}&lt;\tdoctcb{sbs}&gt;
Bla, bla, bla...

\tdocsep % Pratique pour dÃ©limiter.

Ceci fonctionne avec des Ã©numÃ©rations.

\begin{itemize}
    \item Point soulignÃ©.
\end{itemize}

\tdocsep % Un comportement uniforme.

Ble, ble, ble...
\end{tdoclatex}


\section{Contribuer}

\begin{tdocnote}
    \textbf{Nul besoin d'Ãªtre un codeur pour participer aux traductions}, y compris pour celles utiles au fonctionnement de \thisproj.
\end{tdocnote}


%\section{Contribuer}

\subsection{ComplÃ©ter les traductions}

\begin{tdocnote}
    L'auteur de \thisproj\ gÃ¨re les versions franÃ§aises et anglaises des traductions.
\end{tdocnote}


\begin{tdoccaut}
    MÃªme si nous allons expliquer comment traduire les documentations, il semble peu pertinent de le faire, car l'anglais devrait suffire de nos jours.%
    \footnote{
        L'existence d'une version franÃ§aise est une simple consÃ©quence de la langue maternelle de l'auteur de \thisproj.
    }
\end{tdoccaut}

\begin{figure}[ht]
    \centering
    \contribtranslatedirtree\
    \caption{Vue simplifiÃ©e du dossier des traductions}
    \label{tutodoc-contrib-translate-dir}
\end{figure}


Les traductions sont organisÃ©es grosso-modo comme dans la figure \ref{tutodoc-contrib-translate-dir} oÃ¹ seuls les dossiers importants pour les traductions ont Ã©tÃ© \tdocquote{ouverts}\,.%
\footnote{
    Cette organisation Ã©tait celle du 5 octobre 2024.
}
\textbf{Un peu plus bas, la section \ref{tutodoc-contrib-translate} donne les dÃ©marches Ã&nbsp; suivre pour ajouter de nouvelles traductions.}


\subsubsection{Les dossiers \texttt{fr} et \texttt{en}}

Ces deux dossiers, gÃ©rÃ©s par l'auteur de \thisproj, ont la mÃªme organisation ; ils contiennent des fichiers faciles Ã&nbsp; traduire mÃªme si l'on n'est pas un codeur.


\subsubsection{Le dossier \texttt{changes}}

Ce dossier est un outil de communication oÃ¹ sont indiquÃ©s les changements importants sans s'attarder sur les modifications mineures propres Ã&nbsp; une ou plusieurs traductions.



\subsubsection{Le dossier \texttt{status}}

Ce dossier permet de savoir oÃ¹ en sont les traductions du point de vue du projet. Tout se passe via des fichiers \verb#YAML# bien commentÃ©s, et lisibles par un non codeur.



\subsubsection{Les fichiers \texttt{README.md} et \texttt{LICENSE.txt}}

Le fichier \texttt{LICENSE.txt} est bien nommÃ©, tandis que le fichier \texttt{README.md} reprend en anglais les points importants de ce qui est dit dans cette section Ã&nbsp; propos des nouvelles traductions.



\subsubsection{De nouvelles traductions}
\label{tutodoc-contrib-translate}

\begin{tdocimp}
    Le dossier \verb#api# contient les traductions relatives aux fonctionnalitÃ©s de \thisproj.
    Vous y trouverez des fichiers de type \verb#TXT# Ã&nbsp; modifier via un Ã©diteur de texte, ou de code, mais non via un traitement de texte.
    Les contenus de ces fichiers utilisent des lignes commentÃ©es en anglais pour expliquer ce que fera \thisproj\ ; ces lignes commencent par \verb#//#\,. Voici un extrait de ce type de fichier oÃ¹ \textbf{les traductions se font aprÃ¨s chaque signe \,$=$\, sans toucher Ã&nbsp; ce qui se trouve avant}, car ce morceau initial est utilisÃ© en interne par le code de \thisproj..

    \tdocsep
    \vspace{-10pt}
    \begin{verbatim}
  // #1: year  in format YYYY like 2023.
  // #2: month in format MM   like 04.
  // #3: day   in format DD   like 29.
  date = #1-#2-#3

  // #1: the idea is to produce one text like
  //     "this word means #1 in English".
  in_EN = #1 in english\end{verbatim}
\end{tdocimp}


\begin{tdocnote}
    Le dossier \verb#doc# est rÃ©servÃ© aux documentations. Il contient des fichiers \verb#TEX# compilables directement pour une validation en temps rÃ©el des traductions faites.
\end{tdocnote}


\begin{tdocwarn}
    Ne partir que de l'un des dossiers \verb#fr# et \verb#en#, car ceux-ci sont de la responsabilitÃ© de l'auteur de \thisproj.
\end{tdocwarn}


\medskip


\emph{\textbf{Imaginons que vous souhaitiez ajouter le support de l'italien en partant de fichiers rÃ©digÃ©s en anglais.}}%
\footnote{
    Comme indiquÃ© plus haut, il n'y a pas de besoin rÃ©el du cÃ´tÃ© du dossier \texttt{doc}.
}


\paragraph{MÃ©thode 1 : utilisation de \git.}

\begin{enumerate}
    \item RÃ©cupÃ©rer le dossier du projet via \thisrepo\,.
    Ne pas passer via la branche \verb#main# qui sert Ã&nbsp; figer les derniÃ¨res versions stables des projets du dÃ©pÃ´t unique \thismonorepo\,.

    \item Dans le dossier \verb#tutodoc/contrib/translate#, crÃ©er une copie \verb#it# du dossier \verb#en#\,, le nom court de la langue Ã©tant documentÃ© dans
    \href{https://en.wikipedia.org/wiki/IETF_language_tag#List_of_common_primary_language_subtags}%
         {la page \tdocquote{IIETF language tag}}
    de \texttt{WikipÃ©dia}.

    \item Une fois la traduction achevÃ©e dans le dossier \verb#it#, partager la via \thisrepo\ en usant d'un classique \verb#git push#\,.
\end{enumerate}


\paragraph{MÃ©thode 2 : communiquer par courriels.}

\begin{enumerate}
    \item Via un courriel de \mailsubject{en FOR italian}\,, demander une version des traductions anglaises (noter l'emploi du nom anglais de la nouvelle langue).
    Bien respecter le sujet du courriel, car l'auteur de \thisproj\ automatise le prÃ©-traitement de ce type de courriels.

    \item Vous recevrez un dossier nommÃ© \verb#italian# contenant la version anglaise des derniÃ¨res traductions.
    Ce dossier sera le lieu de votre contribution.

    \item Une fois la traduction achevÃ©e, il faudra compresser votre dossier \verb#italian# au format \verb#zip# ou \verb#rar# avant de l'envoyer par courriel avec le \mailsubject{italian}\,.
\end{enumerate}


%\section{Contribuer}

\subsection{AmÃ©liorer le code source}

\begin{tdocimp}
    Si vous souhaitez participer Ã&nbsp; \thisproj\,, il faudra privilÃ©gier le paradigme de programmation \LaTeX3.
\end{tdocimp}


La participation en tant que codeuse, ou codeur, se fait via le dÃ©pÃ´t \thisrepo\ correspondant Ã&nbsp; la branche de dÃ©veloppement \verb#tutodoc#.


\begin{tdoccaut}
	Ne pas passer via la branche \verb#main# qui sert Ã&nbsp; figer les derniÃ¨res versions stables des projets du dÃ©pÃ´t unique \thismonorepo\,.
\end{tdoccaut}


\section{Historique}

\small

\begin{tdocfix}[version = 1.7.1, date = 2024-12-18]
	\item Documentation: les rÃ©fÃ©rences aux outils pour indiquer des changements ont Ã©tÃ© incorrectement Ã©crites comme caractÃ©ristiques des contenus colorÃ©s mis en avant.
\end{tdocfix}


\begin{tdocbreak}
	\item La macro \tdocmacro{tdocenv} et sa version Ã©toilÃ©e ne proposent plus d'option.

	\item Cas d'utilisation \LaTeX: la prÃ©sentation par dÃ©faut est plus sobre, et des options permettent d'ajouter les lignes cadrantes, ou la bande colorÃ©e. Voir juste aprÃ¨s.
\end{tdocbreak}


\begin{tdocnew}
	\item Mise en forme de codes informatiques en plus de ceux spÃ©cifiquement en \LaTeX.
	%
	\begin{enumerate}
		\item CrÃ©ation de \tdocenv{tdoccode} et de \tdocmacro{tdoccodein}.

		\item Pour les macros pour du code en ligne, et les environnements pour des blocs de code, des options de type \tdocpack{minted} s'indiquent Ã&nbsp; l'intÃ©rieur de crochet de maniÃ¨re traditionnelle: \tdoclatexin{[options minted]}\,.

		\item Pour les environnements pour des blocs de code, des options de type \tdocpack{tcolorbox} s'indiquent Ã&nbsp; l'intÃ©rieur de chevrons: \tdoclatexin{&lt;options tcolorbox&gt;}\,.

		\item La nouvelle macro \tdocmacro{tdoctcb} permet d'utiliser des raccourcis pour les styles \tdocpack{tcolorbox} rÃ©guliÃ¨rement utilisÃ©s.
	\end{enumerate}

	\item Documentation: une nouvelle section prÃ©sente les outils de mise en forme de codes informatiques autres que les cas d'utilisation de \LaTeX.
\end{tdocnew}


\begin{tdocupdate}
	\item Les sous-sous-sections sont numÃ©rotÃ©es en lettres minuscules.

	\item ThÃ¨mes.
	%
	\begin{enumerate}
		\item Moins d'espace consommÃ©.

		\item Les ombres ont une meilleure coloration.

		\item Pour tous les thÃ¨mes sauf le \tdoclatexin{draft}, le rayon des arcs des coins des cadres passe de \tdoclatexin{.75mm} Ã&nbsp; \tdoclatexin{.2pt}\,.

 		\item Cas d'utilisation de \LaTeX: avec le thÃ¨me \tdoclatexin{color}, la couleur du fond passe de \tdoclatexin[bgcolor = yellow!4]{yellow!4} Ã&nbsp; \tdoclatexin{gray!5}.

		\item DerniÃ¨res modifications: avec le thÃ¨me \tdoclatexin{dark}, le texte \tdoclatexin{[Init]} produit par la macro \tdocmacro{tdocstartproj} utilise la mÃªme police que celle des titres des environnements pour indiquer des changements.
	\end{enumerate}
\end{tdocupdate}

\tdocsep


% ------------------ %


\begin{tdocbreak}[version = 1.7.0, date = 2024-12-04]
	\item Mise en forme : la classe \tdoccls{scrartcl} remplace la vÃ©nÃ©rable \tdoccls{article}. Cela implique un meilleur positionnement des notes de marge avec les options retenues pour charger \tdoccls{scrartcl}.

	\item Code \LaTeX\ : la macro \tdocmacro{tdocinlatex} a Ã©tÃ© renommÃ©e \tdocmacro{tdoclatexin}.

	\item Les noms des clÃ©s pour les couleurs utiliseront des traits d'union lorsque cela sera nÃ©cessaire : cela implique les changements suivants.
	%
	\begin{enumerate}
		\item Indiquer les derniers changements : l'option \tdoclatexin{colchges} des environnements a Ã©tÃ© renommÃ©e \tdoclatexin{col-chges}.

		\item DÃ©monstration de codes \LaTeX\ : pour l'environnement \tdocenv*{tdocshowcase} et la macro \tdocmacro{tdocshowcaseinput}, les options \tdoclatexin{colstripe} et \tdoclatexin{coltext} ont Ã©tÃ© renommÃ©es \tdoclatexin{col-stripe} et \tdoclatexin{col-text}\,.
	\end{enumerate}
\end{tdocbreak}


\begin{tdocfix}
	\item Mise en avant colorÃ©e de contenus : pour les \tdocmacro{newkeytheorem} utilisÃ©s avec le thÃ¨me \tdoclatexin{draft}, il a fallu ajouter \tdoclatexin{postheadhook = \leavevmode} (ceci est nÃ©cessaire car le contenu peut juste Ãªtre de type liste).
\end{tdocfix}


\begin{tdocnew}
	\item Documentation : ajout d'une section listant les dÃ©pendances.

	\item Options de classe.
	%
	\begin{enumerate}
		\item Les options qui ne sont pas spÃ©cifiques Ã&nbsp; \thisproj\ sont transmises Ã&nbsp; la classe chargÃ©e de la mise en forme gÃ©nÃ©rale.

		\item Les options \tdoclatexin{fontsize} et \tdoclatexin{DIV} de la classe \tdoccls{scrartcl} ne peuvent pas Ãªtre utilisÃ©es, car leurs valeurs sont fixÃ©es par \thisproj.
	\end{enumerate}

	\item La macro \tdocmacro{tdocinEN} respecte les rÃ¨gles linguistiques anglaises.

	\item Indiquer les derniers changements.
	%
	\begin{enumerate}
		\item Ajout de l'environnement \tdocenv{tdoctodo}\,.

		\item Chaque environnement dispose d'une nouvelle option \tdoclatexin{col} pour la couleur du contenu indiquant les changements.
	\end{enumerate}
\end{tdocnew}


\begin{tdocupdate}
	\item Le thÃ¨me \tdoclatexin{draft} et les changements : les environnements pour les derniers changements n'emploient plus d'icone.

	\item Documentation : la galerie des thÃ¨mes utilise un meilleur exemple factice.
\end{tdocupdate}



\begin{tdoctech}
	\item Organisation simplifiÃ©e des fichiers de configuration dans le projet final.
	%
	\begin{enumerate}
		\item Emploi d'un fichier par thÃ¨me avec des noms du type \texttt{tutodoc-*.css.cls}\,.


		\item Localisation : utilisation de noms comme \texttt{tutodoc-*.loc.cls}\,.
	\end{enumerate}
\end{tdoctech}

\tdocsep


% ------------------ %


\begin{tdocnew}[version = 1.6.2, date = 2024-10-30]
	\item Les macros \tdocmacro{tdocdate} et \tdocmacro{tdocversion} ont un nouvel argument final facultatif \tdoclatexin{&lt;voffset&gt;} pour modifier le dÃ©calage vertical.

	\item De meilleurs environnements pour indiquer les modifications apportÃ©es.
	\begin{enumerate}
		\item Les nouvelles clÃ©s facultatives \tdoclatexin{col}\,, \tdoclatexin{date} et \tdoclatexin{version} permettent d'indiquer la date et la version d'une modification apportÃ©e Ã&nbsp; un sujet spÃ©cifique.

		\item Utilisation de \tdocmacro{paragraph} pour le titre.
	\end{enumerate}
\end{tdocnew}


\begin{tdocupdate}
	\item Changements : la police des notes de marge aura toujours une forme normale.

	\item Ornement : utilisation d'un \tdoclatexin{\cleaders} pour Ã©viter les lignes orphelines en bas de page.
\end{tdocupdate}

\tdocsep


% ------------------ %


\begin{tdoctech}[version = 1.6.1, date = 2024-10-28]
    \item Les rÃ¨gles de nommage de \ctan\ nÃ©cessitent l'usage de noms du type \verb+tutodoc-*.css.cls.sty+ pour les fichiers Ã&nbsp;-la \trademark{CSS}.
\end{tdoctech}

\tdocsep


% ------------------ %


\begin{tdocbreak}[version = 1.6.0, date = 2024-10-27]
    \item L'environnement \tdocenv*{showcase} et ses descendants : la clÃ© \tdoclatexin{color} a Ã©tÃ© renommÃ©e \tdoclatexin{colstripe}.

    \item La macro \tdocmacro{tdoclinkcolor} devient la couleur \tdoclatexin{tutodoc@link@color} destinÃ©e Ã&nbsp; un usage interne.
\end{tdocbreak}


\begin{tdocnew}
    \item L'option de classe \tdoclatexin{theme} permet de choisir diffÃ©rents thÃ¨mes de mise en forme.

    \item Journal des modifications : ajout de l'environnement \tdocenv*{tdoctech} pour les informations techniques.

    \item L'environnement \tdocenv*{showcase} et ses descendants : la clÃ© \tdoclatexin{coltext} permet de changer aussi la couleur du texte.

    \item Les nouvelles fonctionnalitÃ©s ont Ã©tÃ© documentÃ©es.
\end{tdocnew}


\begin{tdocupdate}
    \item Journal des modifications : l'environnement \tdocenv*{tdocupdate} utilise l'icÃ´ne
    \raisebox{0pt}[0pt][0pt]{\fbox{\reflectbox{\faHistory}}}
    au lieu de
    \raisebox{0pt}[0pt][0pt]{\fbox{\faMagic}}\,.
\end{tdocupdate}


\begin{tdocfix}
    \item Les traductions espagnoles n'avaient pas Ã©tÃ© livrÃ©es dans la prÃ©cÃ©dente version ! Ne pas rire trop fort...
\end{tdocfix}

\tdocsep


% ------------------ %


\begin{tdoctech}[version = 1.5.0, date = 2024-10-19]
    \item La version 3 de \tdocpack{minted} est prise en compte.
\end{tdoctech}

\begin{tdocbreak}
    \item La classe \thisproj\ remplace le dÃ©funt package \thisproj\ (pour le moment, la toute jeune classe ne propose aucune option spÃ©cifique).

    \item La macro \tdocmacro{tdocruler} s'emploie via \tdoclatexin{\tdocruler[&lt;color&gt;]{&lt;text&gt;}} au lieu de \tdoclatexin{\tdocruler{&lt;text&gt;}{&lt;color&gt;}}\,.
\end{tdocbreak}


\begin{tdocnew}
    \item La classe est utilisable en langue espagnole.

    \item La documentation contient une nouvelle section expliquant comment contribuer.
\end{tdocnew}


\begin{tdocfix}
    \item La macro \tdocmacro{tdocdate} ne gÃ©rait pas le format et la mise en forme de la date.

    \item Les cadres colorÃ©s ne coloraient pas le texte aprÃ¨s un saut de page.
\end{tdocfix}

\tdocsep


% ------------------ %


\begin{tdocbreak}[version = 1.4.0, date = 2024-09-28]
    \item L'environnement \tdocenv*{tdoccaution} a Ã©tÃ© renommÃ© \tdocenv*{tdoccaut} pour une saisie simplifiÃ©e.

    \item Mise en avant de contenus : les exemples et remarques, indiquÃ©s via les environnements \tdocenv*{tdocexa} et \tdocenv*{tdocrem}, sont numÃ©rotÃ©s via un compteur commun.

    \item La macro inutilisÃ©e \tdocmacro{tdocxspace} a Ã©tÃ© supprimÃ©e.
\end{tdocbreak}


\begin{tdocnew}
    \item Journal des changements : la macro \tdocmacro{tdocstartproj} permet de gÃ©rer le cas de la premiÃ¨re version publique.

    \item Factorisation du code : la macro \tdocmacro{tdocicon} se charge de l'ajout d'icÃ´nes devant du texte.
\end{tdocnew}


\begin{tdocupdate}
    \item Couleurs : les macros \tdocmacro{tdocdarkcolor} et \tdocmacro{tdoclightcolor} proposent un argument facultatif.
    \begin{enumerate}
        \item \tdocmacro{tdocdarkcolor} : la quantitÃ© de couleur par rapport au noir peut Ãªtre dÃ©finie de maniÃ¨re facultative.

        \item \tdocmacro{tdoclightcolor} : le taux de transparence peut Ãªtre dÃ©fini de maniÃ¨re facultative.
    \end{enumerate}

    \item Mise en avant de contenus : rÃ©duction de l'espace autour du contenu dans les cadres colorÃ©s.

    \item Gestion des versions: un meilleur espacement vertical via \tdocmacro{vphantom}.
\end{tdocupdate}

\tdocsep


% ------------------ %


\begin{tdocnew}[version = 1.3.1, date = 2024-09-26]
    \item Version Ã©toilÃ©e de \tdocmacro{tdocenv} pour n'avoir que le nom de l'environnement.
\end{tdocnew}

\tdocsep


% ------------------ %


\begin{tdoctech}[version = 1.3.0, date = 2024-09-25]
    \item La version 3 de \tdocpack{minted} ne peut pas Ãªtre prise en compte pour le moment car elle comporte des bugs : voir \url{https://github.com/gpoore/minted/issues/401}. On force donc temporairement l'usage de la version 2 de \tdocpack{minted}.
\end{tdoctech}


\begin{tdocbreak}
    \item L'environnement \tdocenv*{tdocimportant} a Ã©tÃ© renommÃ© \tdocenv*{tdocimp} pour une saisie simplifiÃ©e.
\end{tdocbreak}


\begin{tdocnew}
    \item Journal des changements : les environnements proposÃ©s utilisent des icÃ´nes.


    \item Mise en avant de contenus : des cadres colorÃ©s avec des icÃ´nes sont proposÃ©s pour les environnements suivants.
    %
    \begin{tasks}[label=\arabic*.](3)
        \task \tdocenv*{tdoccaution}
        \task \tdocenv*{tdocimp}
        \task \tdocenv*{tdocnote}
        \task \tdocenv*{tdoctip}
        \task \tdocenv*{tdocwarn}
    \end{tasks}
\end{tdocnew}

\tdocsep


% ------------------ %


\begin{tdocupdate}[version = 1.2.0-a, date = 2024-08-23]
    \item \tdocmacro{tdocversion}
    \begin{enumerate}
        \item Le numÃ©ro de version est au-dessus de la date.

        \item L'espacement est mieux gÃ©rÃ© lorsque la date est absente.
    \end{enumerate}
\end{tdocupdate}


\begin{tdocfix}
    \item Mise en avant de contenus : les traductions franÃ§aises de \tdocinEN*{caution} et \tdocinEN*{danger} Ã©taient erronÃ©es.
\end{tdocfix}

\tdocsep


% ------------------ %


\begin{tdocnew}[version = 1.1.0, date = 2024-01-06]
    \item Journal des changements : deux nouveaux environnements.
    \begin{enumerate}
        \item \tdocenv{tdocbreak} pour les \tdocquote{bifurcations}\,, c'est-Ã&nbsp;-dire les modifications non rÃ©trocompatibles.

        \item \tdocenv{tdocprob} pour les problÃ¨mes repÃ©rÃ©s.
    \end{enumerate}

    \item \tdocmacro{tdoclatexin}: un jaune lÃ©ger est utilisÃ© comme couleur de fond.
\end{tdocnew}

\tdocsep


% ------------------ %


\begin{tdocfix}[version = 1.0.1, date = 2023-12-08]
    \item \tdocmacro{tdocenv}: l'espacement est maintenant correct, mÃªme si le paquet \tdocpack{babel} n'est pas chargÃ© avec la langue franÃ§aise.

    \item \tdocenv[{[nostripe]}]{tdocshowcase}: les sauts de page autour des lignes \tdocquote{cadrantes} devraient Ãªtre rares dorÃ©navant.
\end{tdocfix}

\tdocsep


% ------------------ %


\tdocversion{1.0.0}[2023-11-29]
\tdocstartproj{PremiÃ¨re version publique du projet.}

\end{document}
</pre></body></html>