% !TEX TS-program = LuaLaTeX
\documentclass[french,ColorTheme=USAF,FontSize=10pt]{tango}
%\setmonofont{Latin Modern Mono}[Scale=MatchUppercase]
\usepackage{longtable,csquotes,lipsum,tcolorbox}
\usepackage[dvipsnames]{xcolor}
\newcommand\DO[1]{\textcolor{ColorOne}{\bfseries #1}}
\newcommand\TO[1]{\textsf{#1}}
%%
\NewDocumentCommand\showtheme{m}
{{\tgosetup{ColorTheme=#1}
\parbox{2.1cm}{\centering
\textsf{#1\rule[-3pt]{0pt}{10pt}}\\
\colorbox{ColorOne}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
\par
\colorbox{ColorTwo}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
\par
}}}
%
%\tgosmartlists
\renewtgolabels1{\lefthand}
\definecolor{ColorThree}{rgb}{0.93,0.95,0.97}
\tcbset{colback=ColorTwo,colframe=ColorTwo,sharp corners}
\frenchspacing
%\setcounter{section}{88}
\begin{document}

\renewcommand{\arraystretch}{1.1}
\title{\textcolor{ColorOne}{\floweroneleft}\,La classe de documents tango\,\textcolor{ColorOne}{\floweroneright}}
\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}}
\date{\today\\v. 0.7.2}
{\sffamily
\maketitle

}
\thispagestyle{empty}

\tgoshorttoc
\section{Qu'est-ce que la classe tango ?}


Tango est une classe de documents pour le système de composition Latex (au début du document source, il convient donc de saisir \verb=\documentclass[<options>]{tango}=) à l'usage des professeurs de mathématiques (\emph{grosso modo}, sur le segment bac$-3$-bac$+3$). Elle est conçue pour la composition de divers types de documents, du petit polycopié au livre complet. Pour l'essentiel, le côté \frquote{dédié aux maths} consiste à :
\begin{itemize}
\item Charger des packages dédiés (amsmath, unicode-math \&Co).
\item Proposer des commandes et des environnements pour les théorèmes, propositions, définitions, exercices, etc.
\end{itemize}

Tango est raisonnablement configurable, même si j'ai dû imposer certains choix : utilisation obligatoire de lualatex, des fontes opentype, et d'une installation récente, notamment. La classe propose huit formats de sortie, dont cinq sont adaptés aux tablettes, liseuses ou smartphones. Un procédé encore imparfait permet d'introduire une saisie particulière pour un format de sortie donné (par exemple de forcer un saut de page pour le format A5 seulement). La classe tango peut aussi être utilisée pour des projets de portée plus générale que des cours de mathématiques : des cours de sciences, bien sûr, mais aussi des choses très différentes, si l'on est prêt à un effort de configuration supplémentaire (voir le répertoire \TO{candide} dans les exemples).

Une autre classe Latex, conçue pour réaliser des documents support au travail scolaire (énoncés d'exercices, sujets de devoirs ou d'examens) devrait être disponible sous peu. Il est prévu qu'elle se nomme \frquote{\TO{bravo}}.

\section{Panorama des options}
Veuillez noter que le tableau ci-dessous mentionne pour l’essentiel les options effectivement traitées par tango. D'autres options peuvent être, lorsqu’elles sont utilisées à l'appel de la classe, simplement transmises à certains packages. C'est le cas par exemple des options de langues de babel, ou de l'option \TO{math-style} passée au package unicode-math. 

Les valeurs par défaut sont présentées en bleu gras. Les options en gras, marquées d'un astérisque, peuvent être activées dans le préambule ou le corps du document à l'aide de la commande \verb+\tgosetup+ : par exemple, vous pouvez utiliser \verb+\tgosetup{ColorTheme=Navy}+ pour changer les couleurs à l'intérieur de votre document. Les autres options ne peuvent être utilisées qu'à l'appel de la classe.

\begin{longtable}{p{0.23\linewidth}p{0.7\linewidth}}
\caption[]{Les options de la classe tango}\\
\textbf{Option}&\textbf{Utilisation}\\
\hline\endhead
\hline\multicolumn{2}{r}{\emph{Voir page suivante}}\endfoot
\hline\endlastfoot
\hline\endlastfoot
\TO{french}&\TO{french=true/\DO{false}}. Adaptation à la langue française et noms définis par la classe tango (\frquote{Theorem} donne par exemple  \frquote{Théorème}). Usage indispensable pour les utilisateurs de langue française. Cette option est également passée au package babel.\\
\hline
\TO{<options de langue>}& Tango transmettra au package \TO{babel} toutes les options de langue. Notez bien que :
\begin{itemize}
\item Seuls l'anglais et le français sont complètement implémentés. 
\item Même les locuteurs anglais doivent passer une option de langue pour \TO{babel} (\TO{english, british, UKenglish, USenglish} ou \TO{american}) à la classe tango.
\end{itemize}
Voir la section~\ref{lang} plus loin.\\
\hline
\TO{no-statement}&\TO{no-statement=true/\DO{false}}. Des environnements  \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} (pour présenter les théorèmes, définitions, lemmes, corollaires et propositions) sont définis par défaut. L'option \DO{no-statement} vous permet de définir ces environnements vous-même avec une configuration plus personnelle (voir les commandes \verb=\newstatement= and \verb=\renewstatement= dans la section~\ref{st-section} page~\pageref{st-section}).\\
\hline
\TO{no-hyperref}&\TO{no-hyperref=true/\DO{false}}. Si vous souhaitez vous contenter d'une sortie papier…\\
\hline
\TO{no-indent/indent}&\TO{no-indent=true/\DO{false}}. Les retraits d'alinéa sont présents par défaut. L'option \TO{no-indent} (alias court de \TO{no-indent = true}) les supprime. Une option \TO{indent} existe également, quoiqu'elle ne soit pas très utile.\\
\hline
\TO{no-titleindent}/\TO{titleindent}&Les retraits d'alinéa pour les titres sont présents par défaut en français uniquement. (La raison en est qu'en typographie française le premier paragraphe après un titre subit ce retrait comme les autres paragraphes, ce qui n'est pas le cas en typo anglaise : je préfère donc dans ce cas, mais cela peut être débattu, que le titre subisse lui aussi ce retrait.) Vous pouvez utiliser \TO{no-tiltleindent} en français ou \TO{titleindent} en anglais pour changer le comportement pas défaut. Ces deux options doivent être appelées \emph{après} l'option de langue.\\
\hline
\TO{\textbf{ThmNamePos*}}&\TO{ThmNamePos=<valeur>} ou \TO{<valeur>} peut être \TO{\DO{left}} ou \TO{right}. Le nom de l'énoncé (Théorème, Définition, etc.) est affiché à gauche ou à droite de l'encadré.\\
\hline
\TO{PubliClass}&\TO{PubliClass=<valeur>} où \TO{<valeur>} peut  être  \TO{\DO{article}} ou \TO{book}. Indique la classe de base souhaitée (la classe standard  \TO{article} ou la classe standard \TO{book}). La classe tango est conçue de telle sorte que des petits polycopiés fabriqués au jour le jour et composés avec l'option  \TO{article} puissent être regroupés et devenir les chapitres d'un même volume avec l'option \TO{book}. Voyez le répertoire  \texttt{mathematics} dans la partie exemples de la  documentation. Avec l'option \TO{article}, les commandes \verb=\part= et \verb=\tableofontents= sont désactivées. La commande \verb=\tgoshorttoc= peut être utilisée pour obtenir un sommaire au début d'une monographie ou d'un polycopié.\\
\hline
\TO{oneside/twoside}& L'option \TO{twoside} est pour une sortie en recto verso, alors que \TO{oneside} est adaptée au recto simple. La valeur par défaut est \TO{\DO{oneside}}. Pour l'instant, il n'y a pas d'ajustement des marges intérieures et extérieures avec \TO{twoside} mais il est techniquement facile de réaliser des blancs tournants à votre convenance grâce à la commande \verb=\geometry= employée dans le préambule. Notez que les gens compliqués ou amateurs de détours pourront préférer \TO{twoside=false} à \TO{oneside}.\\
\hline
\TO{FontSize}&\TO{FontSize=<valeur>} où \TO{<valeur>} peut être \TO{9pt}, \TO{\DO{10pt}}, \TO{11pt} ou \TO{12pt}.\\
\hline
\TO{\textbf{ColorTheme*}}&\TO{ColorTheme=<valeur>} où  \TO{<valeur>} peut être \TO{Blue, Navy, USAF, Azur, Red, Framboise, Brique, Sienne, Caramel, Olive, Tannen, \DO{GrayGray}, BlackAndWhite, Ink} or \TO{Steel}. Chaque choix définit un ensemble de deux couleurs, une soutenue (ColorOne) pour les titres et une très claire (ColorTwo) pour le fond des encadrés.\\
\hline
\TO{\textbf{ColorOne*}/\textbf{ColorTwo*}}& Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\definecolor=. Voir la documentation du package xcolor, chargé sans option par tango. 
\begin{example}[Exemples]
 \begin{itemize}
 \item\TO{ColorOne=}\verb={rgb}{0.75,0.1,0.05}=
  \item\TO{ColorOne=}\verb={cmyk}{0,0.8,0.8,0.2}=
 \item\TO{ColorTwo=}\verb={{rgb}{0.75,0.96,0.75}}= (notez que les accolades extérieures sont acceptées sans être obligatoires).
\end{itemize} 
\end{example}
\\
\hline
\TO{\textbf{ColorOneNamed*}} / \\
\TO{\textbf{ColorTwoNamed*}}&
 Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\colorlet=. Voir la documentation du package xcolor, chargé sans options par tango. 
\begin{example}[Exemples]
 \begin{itemize}
 \item\TO{ColorOneNamed=}\verb={red!70!blue}=
\item\TO{ColorTwoNamed=}\verb={yellow!12}=
 \end{itemize} 
\end{example}
Si vous souhaitez utiliser un ensemble de couleurs prédéfinies, disons par exemple \TO{dvipsnames}, il vous suffit de recharger le package \TO{xcolor} avec l'option \TO{dvipsnames} dans le  préambule, puis d'utiliser la commande \verb=\tgosetup= :
\begin{itemize}
\item \verb+\tgosetup{ColorOneNamed={RedOrange!80!BrickRed}}+
 \end{itemize} 
\\
\hline
\TO{Output}&\TO{Output=<valeur>} où  \TO{<valeur>} peut être \TO{\DO{A4paper}, Letter, A5paper, BigTablet, Tablet, SmallTablet, eReader} ou \TO{Smartphone}. \TO{BigTablet}, \TO{Tablet} et \TO{SmallTablet} correspondent à des écrans de 13, 11 et 8.5 pouces respectivement; \TO{eReader} configurée pour une liseuse 6 pouces. Veuillez noter qu'en ce qui concerne les formats \TO{eReader} et \TO{Smartphone}, tango demande à Latex un format supérieur au format réel,  si bien que les tailles des polices sont inférieures à ce que l'on pourrait attendre.  Ainsi, l'option \TO{FontSize=9pt} peut fournir des résultats qui sembleront difficilement lisibles.\\
\hline
 \TO{Numbers}& \TO{Numbers=<valeur>} où \TO{<valeur>} peut être \TO{TextOldStyle, OldStyle, MathOldStyle, FullOldstyle}. Si vous ne demandez rien, vous obtenez les chiffres habituels, à hauteur d'une lettre capitale, parfois nommés \frquote{lining}.
\begin{itemize}
\item \TO{Numbers=TextOldStyle} sélectionne les chiffres bas de casse ({\olddigits 0123456789}) of de la police erewhon (fonte texte de base) pour tout.
\item \TO{Numbers=OldStyle} sélectionne les chiffres bas de casse pour toutes les fontes de texte du document.
\item \TO{Numbers=MathOldStyle} sélectionne les chiffres bas de casse uniquement pour les mathématiques (je ne vois aucune bonne raison de procéder ainsi).
\item \TO{Numbers=FullOldStyle} sélectionne les chiffres bas de casse aussi bien pour les fontes de texte que pour les mathématiques.
\end{itemize}
Remarquons qu'il est toujours possible de basculer localement des chiffres sélectionnés par cette option à une de leurs variantes (par exemple les titres de section sont numérotés à l'aide de \frquote{grands} chiffres, dans la mesure où ces titres sont eux-mêmes en capitales).\\
\hline
\TO{StylisticSet}&\TO{StylisticSet=\{<valeur1>, <valeur2>,…\}} où \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi \TO{upint, leqslant, smaller, subsetneq} et \TO{parallelslant}. Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
\hline
\TO{CharacterVariant}&\TO{CharacterVariant=\{<valeur1>, <valeur2>,…\}} \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi  \TO{zero, hslash, emptyset, epsilon, kappa, pi, phi, rho, sigma, theta, partial, Ecal, Qcal} et \TO{Tcal}.  Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
\end{longtable}

\section{Liste des packages chargés par la classe tango}
Je ne mentionne ici que les packages directement chargés par tango. Chacun d'eux peut à son tour charger d'autres packages.

\begin{itemize}
\item \verb=\RequirePackage{xcolor}=. Le package \TO{xcolor} est utilisé par la classe tango pour définir les couleurs des différents thèmes. Il est appelé sans option, mais vous pouvez le recharger dans le préambule avec des options comme \TO{dvipsnames}, \TO{svgnames} ou \TO{x11names}.
\item\verb=\RequirePackage{mathtools}=. Le package \TO{mathtools} charge le package \TO{amsmath}. 
\item\verb=\RequirePackage{geometry}=. Utilisé par tango pour définir l'empagement des différents formats de sortie. Vous pouvez utiliser la commande \verb=\geometry= dans votre préambule pour modifier ce empagement, et même la maquette entière.
\item\verb=\RequirePackage{enumitem}=. Utilisé par la classe tango pour configurer les différents environnements basés sur  \TO{list} (voir la section~\ref{lists}). Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
\item\verb=\RequirePackage{titletoc}=. Utilisé par la classe tango pour fixer l'apparence de la table des matières, que l'utilisateur peut modifier dans le préambule.
\item\verb=\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty,noindentafter]{titlesec}=. Utilisé par la classe tango pour modifier l'apparence des titres de différents niveaux. Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
\item\verb=\RequirePackage{ccaption,caption}=. Utilisé par la classe tango pour configurer l'apparence des légendes des figures et des tables. (voir la section~\ref{figtable}).
\item\verb=\RequirePackage{fontspec}\RequirePackage{unicode-math}=. La classe tango requiert  \TO{lualatex} et les fontes opentype, y compris pour la composition des mathématiques. Voir la section~\ref{fnts} ci-dessous.
\item\verb=\RequirePackage{iflang}=. La classe tango utilise ce package pour envoyer un message d'erreur dans le cas où elle n'a reçu aucune option de langue pour \TO{babel}.
\item\verb=\RequirePackage{babel}=. Le package babel est appelé sans option. Les options de babel lui seront transmises par la classe tango. %See section~\ref{lang} below.
\item\verb+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}+.\par Cette configuration d'\TO{hyperref} peut être modifiée en utilisant la commande \verb=\hypersetup= dans le préambule. Vous pouvez aussi utiliser l'option  \TO{no-hyperref}.
\item\verb=\RequirePackage{array,graphicx,microtype,numprint,float,afterpage}=. Ces packages sont chargés mais non explicitement utilisés par tango.
\end{itemize}

\section{Fontes}\label{fnts}

\subsection{Le système de fontes de tango}
La fonte principale est Erewhon, une version opentype d'Utopia (une fonte PosScript de type~1 qui fut conçue par Robert \textsc{Slimbach} en 1989, puis donnée au X-consortium par Adobe et figurant finalement sur TeXlive. Contrairement à Utopia, Erewhon, dessinée par Michael \textsc{Sharpe}, couvre un assez grand nombre de langues et offre de nombreuses possibilités accessibles à travers les fonctionnalités du format opentype. Il faut savoir également qu'Adobe commercialise une version opentype d'Utopia, moins riche en glyphes qu'Erewhon, mais pourvue d'une graisse intermédiaire et de corps optiques. 

La fonte scientifique est Erewhon~Math, un complément scientifique à Erewhon, conçu par Daniel \textsc{Flipo}. D'un certain point de vue, Erewhon est le pendant opentype de Fourier-Gutenberg, le complément scientifique d'Utopia type~1 conçu par mes soins en 2002. Erewhon~Math offre un grand nombre de fonctionnalités, rendues accessibles par Daniel à travers le package \TO{fourier-otf}. La classe tango ne charge pas le package \TO{fourier-otf} mais propose toutes ses fonctionnalités à travers son système d'options.

La fonte sans sérif de tango est Noto Sans, mise à l'échelle. Il s'agit d'une fonte de texte, supportant les alphabets latin, grec et cyrillique, et pourvue de graisses multiples. 

La fonte utilisée pour les Titres de premier niveau (commande \verb=\tgotitle=) est Roboto Condensed Bold (puisque les graisses condensées de Noto Sans ne figurent pas sur TeXlive).

La fonte à chasse fixe est Inconsolatazi4, mise à l'échelle.

Enfin, tango appelle le package fourier-orns: il s'agit d'une fonte de logos et de symboles conçue par mes soins comme complément au système fourier et récemment pourvue d'une version opentype.

\subsection{Utiliser tango avec un autre système de fontes}
Il est évidemment possible d'utiliser les commandes \verb=\setmainfont=, \verb=\setsansfont= et \verb=\setmonofont= du package \TO{fontspec}, ainsi que la commande \verb=\setmathfont= du package \TO{unicode-math} dans le préambule de votre document afin de modifier les paramètres de la classe tango. Ce ne sont pas des modifications que je recommande. En revanche, la distribution tango pourrait à l'avenir proposer une autre classe pourvue d'un autre système de fontes. Une telle classe Latex pourrait se nommer charlie, ou foxtrot ou zulu…


\subsection{“Font commands” et “text font commands”}
Je nomme ici  “Font commands”  des commandes  dont la portée n'est limitée que par un groupe ou un environnement. Je nomme “Text font commands”, à l'opposé, des commandes dont la portée est limitée à leur argument, lequel ne doit contenir aucun saut de paragraphe. Par exemple, \verb=\bfseries= est une “font command” et \verb=\textbf= est une “text font command”. La raison de ces dénominations, dont j'admets qu'elles sont fort critiquables, est que \verb+\textbf+ est défini de façon interne par :
\begin{tcolorbox}
\begin{verbatim}
\DeclareTextFontCommand{\textbf}{\bfseries}
\end{verbatim}
\end{tcolorbox}

Voici ce qui est proposé par la classe tango (voir le tableau~\ref{otfcmd}, \pageref{otfcmd}). Toutes ces commandes devraient fonctionner aussi bien avec Erewhon qu'avec Noto Sans.

\begin{table}[ht]
\XTabletCommand{\centering\setlength\tabcolsep{9pt}}
\TabletCommand{\centering}
\caption{Les commandes opentype de la classe tango}\label{otfcmd}
\ifTgoTabletOutput\begin{tabular}{l | l | l | l}%
\else
\begin{tabular}{llll}%
\fi
\hline
\multicolumn{1}{c}{\textsf{\bfseries Commande}}&
\multicolumn{1}{c}{\textsf{\bfseries Nature}}&
\multicolumn{1}{c}{\textsf{\bfseries Exemple}}&
\multicolumn{1}{c}{\textsf{\bfseries Resultat}}\\
\hline
\verb=\superiors=&\textsf{font command} & \verb=1{\superiors re}=&1{\superiors re}\\
\hline
\verb=\scinferiors=&\textsf{font command}  &\verb={\scinferiors C6H12O3}= &{\scinferiors C6H12O3}\\
\hline
\verb=\smartfracs=&\textsf{font command}  &\verb=2{\smartfracs1/3}= &2{\smartfracs1/3} \\
\hline
\verb=\fullsc=&\textsf{text font command}  &\verb=\fullsc{Chapitre}= &\fullsc{Chapitre} \\
\hline
\verb=\textsup=&\textsf{text font command}  &\verb=1\textsup{re}=&1\textsup{re} \\
\hline
\verb=\textscinf=&\textsf{text font command}  &\verb=\textscinf{C6H12O3}= &\textscinf{C6H12O3} \\
\hline
\verb=\smartfrac=&\textsf{text font command}  &\verb=2\smartfrac{3/4}= &2\smartfrac{3/4} \\
\hline
\verb=\olddigits=&\textsf{font command}  &\verb={\olddigits01234}= &{\olddigits01234} \\
\hline
\verb=\liningdigits=&\textsf{font command}  &\verb={\olddigits01\liningdigits01}= &{\olddigits01\liningdigits01} \\
\hline
\verb=\propdigits=&\textsf{font command}  &\verb={\propdigits011\olddigits011}= &{\propdigits011\olddigits011} \\
\hline
\verb=\tabulardigits=&\textsf{font command}  &\verb={\tabulardigits011\olddigits011}= &{\tabulardigits011\olddigits011} \\
\hline
\end{tabular}


\end{table}



%\medskip


\section{Utilisation de la classe tango}

\subsection{Généralités}
Concernant l'interface utilisateur, tango n'est pas très différente des classes \TO{article} ou \TO{book}. La configuration se fait essentiellement à travers le choix des options.

Les utilisateurs avancés devraient se référer à la documentation des différents packages : tout d'abord \TO{unicode-math}, \TO{fontspec}, \TO{mathtools} et \TO{amsmath}. Mais si vous souhaitez, par exemple, changer le style des titres, vous pourrez consulter la documentation \TO{titlesec} ; afin de changer le style d'une liste (enumerate, itemize, etc.), voyez plutôt \TO{enumitem}. Le package \TO{geometry} est essentiel pour quiconque souhaiterait obtenir une mise en page particulière. Et ainsi de suite. 



\subsection{Modification de commandes standard par la classe tango}

Afin que des documents composés avec l'option \TO{article} puissent devenir les chapitres d'un livre composé de façon ultérieure avec l'option \TO{book}, la commande   \verb+\part+, héritée de la classe  \TO{article}, a été désactivée (seulement pour les documents composés avec l'option \TO{article}).


De même, la version \TO{article} bénéficie de la commande \verb+\tgotitle+ qui permet de définir le titre principal du document. La version étoilée \verb+\tgotitle*+ existe, mais fait exactement la même chose que la commande non étoilée. Cependant, dans la version \TO{book}, \verb+\tgotitle+ est un alias pour \verb+\chapter+ (et \verb+\tgotitle*+ est de même un alias de \verb+\chapter*+), ainsi, un titre non numéroté dans un polycopié peut facilement devenir le titre numéroté d'un chapitre de livre. Sous réserve évidemment qu'un mécanisme comme \verb+\includeonly+/\verb+\include+ ait été utilisé. Un modèle (pour l'instant en français) est fourni dans le répertoire \TO{examples}.  

La commande \verb+\tableofcontents+ ne peut être utilisée qu'avec l'option \TO{book}; elle est désactivée avec l'option \TO{article}: elle est alors remplacée par la commande \verb+\tgoshortoc+ (qui est elle-même désactivée avec l'option \TO{book}). Si vous avez besoin de tables des matières multiples et/ou partielles, il faudra vous tourner vers un package spécialisé.

\subsection{Utiliser deux ou plusieurs formats de sortie}
Les fonctionnalités décrites ici ont un caractère rudimentaire et sont de nature expérimentale. Elles pourront, selon leur succès, être développées dans les versions ultérieures de la classe tango.

Pour chaque format de sortie, deux commandes particulières sont fournies. Par exemple, dans le cas de l'option  \TO{Output=Smartphone}, vous disposez de \verb+\SmartphoneCommand+ et \verb+\XSmartphoneCommand+. L'argument de la commande  \verb+\SmartphoneCommand+ n'est pris en compte que si le format de sortie \TO{Smartphone} a été sélectionné. Inversement, l'argument de \verb+\XSmartphoneCommand+ n'est pris en compte que si ce format \emph{n'a pas été} utilisé.
\begin{example}[Exemples]
\begin{itemize}
\item \verb+\SmartphoneCommand{\pagebreak}+ crée un saut de page uniquement pour la sortie smartphone. 
\item \verb+\XSmartphoneCommand{\[<longue formule de maths>\]}+
\par \verb+\SmartphoneCommand{\begin{multline*}<formule sur plusieurs lignes>\end{multine*}}+
\par crée une version \TO{multline} (cf. \TO{amsmath}) d'une formule pour la sortie smartphone uniquement.
\end{itemize}
\end{example}

Les commandes proposées par tango sont :
\begin{itemize}
\item\verb+\AfourCommand+ and \verb+\XAfourCommand+ pour la sortie A4paper;
\item\verb+\LetterCommand+ and \verb+\XLetterCommand+pour la sortie letter;
\item\verb+\AfiveCommand+ and \verb+\XAfiveCommand+ pour la sortie A5paper;
\item\verb+\BigTabletCommand+ and \verb+\XBigTabletCommand+ pour la sortie BigTablet;
\item\verb+\TabletCommand+ and \verb+\XTabletCommand+ pour la sortie Tablet;
\item\verb+\SmallTabletCommand+ and \verb+\XSmallTabletCommand+ pour la sortie SmallTablet;
\item\verb+\eReaderCommand+ and \verb+\XeReaderCommand+ pour la sortie eReader;
\item\verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+ pour la sortie Smartphone.
\end{itemize}
\subsection{Tous les thèmes de couleur}
\indent\par
\hspace*{0pt}\hfil\showtheme{Blue}\hfil\showtheme{Azur}\hfil\showtheme{Navy}\hfil\showtheme{USAF}\hfil%
\showtheme{Framboise}\hfil\null
\par\bigskip\par
\hspace*{0pt}\hfil\showtheme{Red}\hfil\showtheme{Brique}\hfil\showtheme{Caramel}\hfil\showtheme{Sienne}\hfil\showtheme{Olive}\hfil\null
\par\bigskip\par
\hspace*{0pt}\hfil\showtheme{Tannen}\hfil\showtheme{GrayGray}\hfil\showtheme{Steel}\hfil\showtheme{Ink}\hfil\showtheme{BlackAndWhite}\hfil\null

\section{Sélection de la langue}\label{lang}
Il est impératif de passer une option de langue à babel par l'intermédiaire de la classe tango : cela est vrai même pour les personnes de langue anglaise. Un message d'erreur sera généré par la classe tango si celle-ci n'a reçu aucune option de langue à transmettre à \TO{babel} ; si vous ignorez ce message, vous devrez travailler sans aucun motif de césure.

Tango possède également certains mots réservés qui sont:
\begin{tcolorbox}
\begin{verbatim}
\newcommand\TgoTheoremName{Theorem}
\newcommand\TgoDefinitionName{Definition}
\newcommand\TgoPropositionName{Proposition}
\newcommand\TgoLemmaName{Lemma}
\newcommand\TgoCorollaryName{Corollary}
\newcommand\TgoRemarkName{Remark}
\newcommand\TgoExampleName{Example}
\newcommand\TgoContentsName{Contents}
\newcommand\TgoExerciseName{Exercise}
\newcommand\TgoExercisesSubsectionName{Exercises}
\newcommand\TgoExercisesSectionName{Exercises}
\end{verbatim}
\end{tcolorbox}

Au chargement du français par babel (déclenché par l'option french), les traductions suivantes sont effectuées:
\begin{tcolorbox}
\begin{verbatim}
\renewcommand\TgoTheoremName{Théorème}
\renewcommand\TgoDefinitionName{Définition}
\renewcommand\TgoPropositionName{Proposition}
\renewcommand\TgoLemmaName{Lemme}
\renewcommand\TgoCorollaryName{Corollaire}
\renewcommand\TgoRemarkName{Remarque}
\renewcommand\TgoExampleName{Exemple}
\renewcommand\TgoContentsName{Sommaire}
\renewcommand\TgoExerciseName{Exercice}
\renewcommand\TgoExercisesSubsectionName{Exercices}
\renewcommand\TgoExercisesSectionName{Exercices}
\end{verbatim}
\end{tcolorbox}

Pour l'instant seules les langues anglaise et française sont pleinement supportées par tango. Les autres langues bénéficient des facilités offertes par babel, mais les mots réservés de tango ne sont pas traduits.
Voici donc ce que peuvent faire les utilisateurs concernés.
\begin{enumerate}
\item Utiliser  \verb+\renewcommand+ pour faire ces traductions eux-mêmes.
\item (Mieux) me communiquer par mail toute l'information nécessaire (au moins l'option de langue utilisée pour babel et une traduction des mots réservés) de façon à ce que je puisse procéder aux adaptations nécessaires.
\end{enumerate}

\section{Théorèmes et énoncés divers}\label{st-section}

\subsection{Éléments prédéfinis}
Les environnements permettant de saisir les divers énoncés indispensables aux enseignants de mathématiques (définitions, théorèmes, propositions, etc.) sont définis grâce à la commande \verb+\newstatement+ dont la syntaxe est :
\begin{tcolorbox}
\begin{verbatim}
\newstatement{<environnement>}{<compteur>}{<nom-générique-de-l'énoncé>}[<font-command-optionnelle>]
\end{verbatim}
\end{tcolorbox}
Par exemple, les environnements, \TO{thm}, \TO{defin}, \TO{propo}, \TO{coro} et \TO{lem} ont été définis par quelque chose comme :
\begin{tcolorbox}
\begin{verbatim}
\newcounter{thm} \newstatement{thm}{thm}{Théorème}[\itshape]
\newcounter{defin} \newstatement{defin}{defin}{Définition}
\newcounter{propo} \newstatement{propo}{propo}{Proposition}[\itshape]
\newcounter{coro} \newstatement{coro}{coro}{Corollaire}
\newcounter{lem} \newstatement{lem}{lem}{Lemme}
\end{verbatim}
\end{tcolorbox}

Si vous saisissez
%
\begin{tcolorbox}
\begin{verbatim}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}[pons asinorum]
Les angles à la base d'un triangle isocèle sont égaux.
\end{thm}
\end{verbatim}
\end{tcolorbox}
%
vous obtenez
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}[pons asinorum]
Les angles à la base d'un triangle isocèle sont égaux.
\end{thm}

Comme vous pouvez le voir, chaque énoncé défini à l'aide de \verb+\newstatement+ dispose d'un argument optionnel délimité par des crochets (dont le contenu s'affiche entre parenthèses après le nom et le numéro de l'énoncé). Notez également que ces environnements ne devraient pas être utilisés à l'intérieur d'un autre environnement basé sur \TO{list}  (comme \TO{center, quote, enumerate, itemize}…).

Pour chaque type d'énoncé défini à l'aide de  \verb+\newstatement+ existe également
\begin{itemize}
\item une forme étoilée non numérotée:
\begin{tcolorbox}
\begin{verbatim}
\begin{coro*}
Les angles à la base d'un triangle isocèle sont égaux.
\end{coro*}
\end{verbatim}
\end{tcolorbox}
\end{itemize}
\begin{coro*}
Les angles à la base d'un triangle isocèle sont égaux.
\end{coro*}
\begin{itemize}
\item  un premier argument optionnel délimité par \verb+< >+ qui permet de remplacer localement le nom générique de l'énoncé.
\begin{tcolorbox}
\begin{verbatim}
\begin{thm*}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
possède au moins une racine complexe.
\end{thm*}
\end{verbatim}
\end{tcolorbox}
\end{itemize}
\begin{thm*}<Théorème de d'Alembert-Gauss>[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes possède au moins une racine complexe.
\end{thm*}


\subsection{Configurer vos propres types énoncés}
Si vous avez besoin d'un nouveau type d'énoncé, disons un environnement \TO{axm} pour les axiomes, c'est tout simple:
\begin{tcolorbox}
\begin{verbatim}
\newcounter{axio} \newstatement{axm}{axio}{Axiom}
\end{verbatim}
\end{tcolorbox}
Remarquez bien qu'il vous revient alors de définir  le compteur utilisé par cet environnement : si ce compteur n'existe pas déjà, il vous faut le créer à l'aide de la commande \verb+\newcounter+. Bien sûr, le nom du compteur peut être différent de celui de l'environnement. Si vous avez utilisé l'option \TO{no-statement}, vous aurez d'ailleurs à définir tous les types d'énoncé dont vous avez besoin, avec des noms et des compteurs de votre choix.

\subsection{Redéfinir des types d'énoncés}
La commande \verb+\newstatement+ a pour compagnon \verb+\renewstatement+ qui permet de redéfinir l'environnement associé à un type d'énoncé préexistant. Précisément, vous devez employer \verb+\renewstatement{foo}…+ plutôt que \verb+\newstatement{foo}…+ si et seulement si l'environnement \verb+foo+ a déjà été défini.

\begin{example}[Exemples]
\begin{enumerate}
\item Vous pouvez redéfinir l'environnement \TO{propo} de telle façon qu'il utilise le même compteur que l'environnement  \TO{thm} avec un contenu affiché en caractères romains:
\begin{tcolorbox}
\begin{verbatim}
\renewstatement{propo}{thm}{Proposition}
\setcounter{thm}{0}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}
Les angles à la base d'un triangle isocèle sont égaux.
\end{thm}
\end{verbatim}
\end{tcolorbox}
\end{enumerate}
\renewstatement{propo}{thm}{Proposition}
\setcounter{thm}{0}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}
Les angles à la base d'un triangle isocèle sont égaux.
\end{thm}

\begin{enumerate}[resume]
\item Si vous venez de terminer la saisie en Latex de \emph{l'intégralité} de votre traité d'algèbre, lequel contient propositions, théorèmes et corollaires, et que vous réalisez maintenant que ce que vous voulez c'est qu'il n'y ait plus de différence entre propositions, théorèmes et corollaires, les trois types d'énoncés devant être composés en italique, se nommer \frquote{proposition} et être numérotés avec le même compteur, vous pouvez simplement saisir dans le préambule: 

\begin{tcolorbox}
\begin{verbatim}
\renewstatement{coro}{thm}{Proposition}[\itshape]
\renewstatement{propo}{thm}{Proposition}[\itshape]
\renewstatement{thm}{thm}{Proposition}[\itshape]
\end{verbatim}
\end{tcolorbox}
Alors avec 
\begin{tcolorbox}
\begin{verbatim}
\setcounter{thm}{0}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}
La somme de deux entiers pairs est un entier pair.\end{thm}
\begin{coro}
Si deux entiers ont la même parité, leur somme est un entier pair.
\end{coro}
\end{verbatim}
\end{tcolorbox}
vous obtiendrez:
\end{enumerate}
\renewstatement{coro}{thm}{Proposition}[\itshape]
\renewstatement{propo}{thm}{Proposition}[\itshape]
\renewstatement{thm}{thm}{Proposition}[\itshape]
\setcounter{thm}{0}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}
La somme de deux entiers pairs est un entier pair.
\end{thm}
\begin{coro}
Si deux entiers ont la même parité, leur somme est un entier pair.
\end{coro}
%
au lieu de 
%
\setcounter{thm}{0}\setcounter{propo}{0}
\renewstatement{thm}{thm}{Théorème}[\itshape]
\renewstatement{propo}{propo}{Proposition}[\itshape]
\renewstatement{coro}{coro}{Corollaire}
\begin{propo}
La somme de deux entiers impairs est un entier pair.
\end{propo}
\begin{thm}
La somme de deux entiers pairs est un entier pair.
\end{thm}
\begin{coro}
Si deux entiers ont la même parité, leur somme est un entier pair.
\end{coro}
\begin{enumerate}[resume]
\item Pour finir, \verb+\renewstatement+ et \verb+\newstatement+ ont une forme étoilée qui permet d'obtenir un type d'énoncé dont le numéro est affiché avant le nom. Mieux, si le compteur utilisé pour ce type d'énoncé est  \TO{subsection} ou \TO{subsubsection}, les titres de ces énoncés sont affichés avec la même apparence et le même placement que les titres de subsection ou de subsubsection; bien sûr ce placement dépend de la valeur de \TO{notitleindent}.
\begin{tcolorbox}
\begin{verbatim}
\renewstatement*{thm}{thm}{Theorème}
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}
\renewstatement*{thm}{subsection}{Theorème}[\itshape]
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}
\renewstatement*{thm}{subsubsection}{Theorème}
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}
\end{verbatim}
\end{tcolorbox}
\end{enumerate}
\end{example}
\renewstatement*{thm}{thm}{Theorème}
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}
\renewstatement*{thm}{subsection}{Theorème}[\itshape]
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}
\renewstatement*{thm}{subsubsection}{Theorème}
\begin{thm}<Théorème de d'Alembert-Gauss>
[théorème fondamental de l'algèbre]
Tout polynôme non constant à coefficients complexes
 possède au moins une racine complexe.
\end{thm}



\section{Exercices}
\subsection{Commandes permettant la mise en forme d'exercices}
La classe tango fournit la commande  \verb+\exo+ qui permet de présenter des énoncés d'exercices numérotés (le compteur est  \TO{tgoexo}). Il existe une version étoilée, sans numéro. Comme pour les types d'énoncés, l'argument optionnel entre crochets permet d'obtenir un complément au titre, composé entre parenthèses et la première option, balisée par \frquote{\TO{< >}} permet d'obtenir un titre de substitution.
\begin{tcolorbox}
\begin{verbatim}
\exo 
Démontrer que si  $G$ est un groupe fini et  $H$ un 
sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
\exo[théorème de Lagrange]
Démontrer que si  $G$ est un groupe fini et  $H$ un 
sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
\end{verbatim}
\end{tcolorbox}
\exo 
Démontrer que si  $G$ est un groupe fini et  $H$ un 
sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
\exo[théorème de Lagrange]
Démontrer que si  $G$ est un groupe fini et  $H$ un 
sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
\begin{tcolorbox}
\begin{verbatim}
\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux
à deux et si $a_1,\ldots, a_k$ sont des entiers quelconques, le système
\begin{align*}
x&\equiv a_1 \pmod{n_1}\\
&\!\vdots\\
x&\equiv a_k \pmod{n_k}
\end{align*}
possède une solution, unique modulo $N$.
\end{verbatim}
\end{tcolorbox}
\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux à deux et si
$a_1,\ldots, a_k$ sont des entiers quelconques, le système
\begin{align*}
x&\equiv a_1 \pmod{n_1}\\
&\!\vdots\\
x&\equiv a_k \pmod{n_k}
\end{align*}
possède une solution, unique modulo $N$.
\subsection{Environnements secexo et chapexo}
Ces deux environnements conçus pour présenter une partie consacrée aux exercices à la fin d'une section (dans le cas de \TO{secexo}) ou d'un chapitre (dans le cas de \TO{chapexo}). À l'intérieur de ces environnements, on utilise en principe la commande \verb+\exo+.

Le titre, en capitales et centré, est \frquote{EXERCICES} par défaut; l'argument optionnel entre crochets vous permet d'en choisir un autre. Ce titre est ajouté à la table des matières ou au sommaire.

Enfin, ces commandes possèdent des formes étoilées (\verb+\begin{secexo*)+…\verb+\end{secexo*}+) qui vous permettront de composer ces parties consacrées aux exercices dans un corps plus petit (excepté si la taille de la fonte principale du document est 9pt). 

\begin{tcolorbox}
\begin{verbatim}
\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
\exo Démontrer que la somme de deux entiers pairs est un entier pair.
\exo Démontrer que la somme de deux entiers impairs est un entier pair.
\end{secexo*}
\end{verbatim}
\end{tcolorbox}
\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
\exo Démontrer que la somme de deux entiers pairs est un entier pair.
\exo Démontrer que la somme de deux entiers impairs est un entier pair.
\end{secexo*}

\section{Listes}\label{lists}
\subsection{Principes généraux}
En ce qui concerne les marges, les déplacements horizontaux dans tango se font par pas multiples entiers de \verb+\TgoStandardMargin+. Au chargement de la classe, la valeur de ce paramètre est fixée à 1.5em, ainsi que les retraits d'alinéas et les retraits subis par les titres (à moins que ces valeurs ne soient fixées à zéro). les marqueurs successifs des environnements itemize et enumerate sont donc positionnés à 1.5em, 3em, 4.5em, etc. de la marge principale. Il n'est pas forcément recommandé de changer cette configuration (si vous souhaitez le faire, il convient d'utiliser le package \TO{enumitem}).

\subsection{Environnements basés sur l'environnement list}
Il existe deux façons de configurer les listes dans tango. La première, active par défaut, est obtenue grâce à la commande \verb+\tgostandardlists+; la seconde grâce à la commande \verb+\tgosmartlists+.
%
Avec \verb+\tgostandardlists+, le texte correspondant à un niveau donné est décalé vers la droite (d'une quantité égale à  \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
%
Avec \verb+\tgosmartlists+, à l'inverse, le texte correspondant à un niveau donné est décalé vers la gauche (d'une quantité égale à  \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
\renewtgolabels*\tgostandardlists

Voici le comportement par défaut de l'environnement \TO{itemize} (de ce point de vue \TO{enumerate} n'est pas différent).
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
\begin{itemize}
\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
\begin{itemize}
\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
\begin{itemize}
\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
\end{itemize}
\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. 
\end{itemize}\end{itemize}
\item  Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
\end{itemize}

\bigskip

Et maintenant, avec \verb+\tgosmartlists+ \tgosmartlists
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
\begin{itemize}
\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
\begin{itemize}
\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
\begin{itemize}
\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
\end{itemize}
\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. 
\end{itemize}\end{itemize}
\item  Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
\end{itemize}

Notez que \verb+\tgosmartlists+ peut sembler intéressant lorsque l'on utilise essentiellement le premier niveau de ces environnements.
Dans la mesure où  \verb+\tgosmartlists+ supporte assez mal une construction comme
\begin{tcolorbox}
\begin{verbatim}
\begin{enumerate}
\item\begin{enumerate}\item
…
\end{verbatim}
\end{tcolorbox}
fréquente dans la numérotation des questions d'exercices,
les environnements \TO{secexo} et \TO{chapexo} basculent localement vers \verb+\tgostandardlists+. Cela n'est pas le cas de \verb+\exo+ qui, en en tant que commande, n'a pas de contexte propre, contrairement aux environnements. \tgostandardlists

\subsection{Redéfinition de certains marqueurs de liste pour itemize}
La classe tango fournit la commande  \verb+\renewtgolabels+ qui permet de modifier les marqueurs de l'environnement  \TO{itemize}. Les arguments des quatre niveaux sont numérotés de 1 à 4 et doivent être utilisés comme ci-dessous.

\begin{example}[Exemples]
\begin{itemize}
\item\verb=\renewtgolabels1{\lefthand}= remplace le marqueur du niveau 1 par le symbole \lefthand.
\renewtgolabels1{\lefthand}
\item\verb=\renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}= change les marqueurs des premier, troisième et quatrième niveaux. Le marquer du niveau 2 est inchangé. Comme vous le voyez, l'ordre des arguments est sans importance. \renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}
\end{itemize}
\end{example}

Il existe également une version étoilée, qui restaure l'état initial des marqueurs  (tel qu'au chargement de la classe), soit  \verb=\textbullet=, \textbullet, pour le niveaul~1, \verb=\textopenbullet=, \textopenbullet,  pour le niveau~2, \verb=\starredbullet=, \starredbullet, pour le niveau~3 et \verb=\textperiodcentered=, \textperiodcentered{} pour le niveau~4 (remarquez que ce sont les valeurs par défaut pour tango, mais \emph{non} pour Latex).

\renewtgolabels*
\begin{example}[Exemples]
\begin{itemize}
\item\verb=\renewtgolabels*= restaure toutes les valeurs initiales.
\item\verb=\renewtgolabels*2{\textendash}= restaure les valeurs initiales, sauf pour le deuxième niveau qui utilisera désormais \textendash.
\end{itemize}
\end{example}


\section{Autres environnements}
En plus des environnements définis pour les types d'énoncés, la classe tango offre les quatre environnements suivants.

\subsection{Environnements remark et example}
\begin{tcolorbox}
\begin{verbatim}
\begin{remark} 
Voici une excellente remarque.
\end{remark}
\begin{example} 
Voici un très court exemple.
\end{example}
\end{verbatim}
\end{tcolorbox}
\begin{remark} 
Voici une excellente remarque.
\end{remark}
\begin{example} 
Voici un très court exemple.
\end{example}

Ces deux environnements ont un argument optionnel entre crochets qui permet de définir un titre alternatif. Par exemple:
\begin{tcolorbox}
\begin{verbatim}
\begin{example}[Remarques]
\begin{enumerate}
\item Une première (et excellente) remarque.
\item Une seconde remarque (encore meilleure, si cela est possible).
\end{enumerate}
\end{example}
\end{verbatim}
\end{tcolorbox}
\begin{example}[Remarques]
\begin{enumerate}
\item Une première (et excellente) remarque.
\item Une seconde remarque (encore meilleure, si cela est possible).
\end{enumerate}
\end{example}

\subsection{Environnement  alert}
\begin{tcolorbox}
\begin{verbatim}
\begin{alert}
Vous ne devriez pas envisager d'utiliser 
\verb+\expandafter\expandafter\expandafter+
à moins que vous ne soyez un utilisateur expérimenté de
\TeX{}, car vous pourriez attraper une terrible migraine.
\end{alert}
\end{verbatim}
\end{tcolorbox}
\begin{alert}
Vous ne devriez pas envisager d'utiliser \verb+\expandafter\expandafter\expandafter+
à moins que vous ne soyez un utilisateur expérimenté de  \TeX{}, car vous pourriez attraper une terrible migraine.
\end{alert}

L'environnement \TO{alert} propose lui aussi un argument optionnel entre crochets.
\begin{tcolorbox}
\begin{verbatim}
\begin{alert}[\bomb]
Vous ne devriez pas envisager d'utiliser 
\verb+\expandafter\expandafter\expandafter+
à moins que vous ne soyez un utilisateur expérimenté de
\TeX{}, car vous pourriez attraper une terrible migraine.
\end{alert}
\end{verbatim}
\end{tcolorbox}
\begin{alert}[\bomb]
Vous ne devriez pas envisager d'utiliser 
\verb+\expandafter\expandafter\expandafter+
à moins que vous ne soyez un utilisateur expérimenté de
\TeX{}, car vous pourriez attraper une terrible migraine.
\end{alert}

\subsection{Environnement proof}
L'environnement \TO{proof} est une adaptation de ce que fournit le package  \TO{amsthm}. Un titre alternatif est rendu possible grâce à l'argument optionnel entre crochets. La commande \verb+\qedhere+ est également utilisable.
\renewstatement{thm}{thm}{Théorème}[\itshape]
\setcounter{thm}{0}
\begin{tcolorbox}
\begin{verbatim}
\begin{thm}
La somme de deux entiers impairs est un entier pair.
\end{thm}
\begin{proof}
Soit $p$ et $q$ deux entiers impairs. Nous devons
établir qu'il existe un entier $n$ tel que $p+q=2n$.
Nous connaissons l'existence d'un entier $p_1$ 
et d'un entier $q_1$ tels que
\[p=2p_1+1\text{ et } q=2q_1+1,\]
par conséquent
\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
\end{align*}
\end{proof}
\end{verbatim}
\end{tcolorbox}
\begin{thm}
La somme de deux entiers impairs est un entier pair.
\end{thm}
\begin{proof}
Soit $p$ et $q$ deux entiers impairs. Nous devons
établir qu'il existe un entier $n$ tel que $p+q=2n$.
Nous connaissons l'existence d'un entier $p_1$ 
et d'un entier $q_1$ tels que
\[p=2p_1+1\text{ et } q=2q_1+1,\]
par conséquent
\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
\end{align*}
\end{proof}

\section{Figures, tableaux, flottants et légendes}\label{figtable}
Grâce au package \TO{caption}, les commandes suivantes ont été définies:
\begin{itemize}
\item\verb+\tgofigcaption+ (pour les figures);
\item and \verb+\tgotabcaption+ (pour les tableaux).
\end{itemize}
Ces deux commandes permettent d'obtenir des légendes de même apparence que ce que ferait la commande \verb+\caption+, mais fonctionnent également dans le cas d'objets non flottants.

Ainsi il devient possible d'inclure des tableaux et des figures en position fixe, sans que rien ne permette de les distinguer des objets flottants (dont l'usage reste recommandé dans la plupart des cas).

\end{document}
