\clearpage
\section{Ticket de caisse}\label{DocTicketCaisse}
\PfCMAJ{0.99-A-a}\index[cle]{TicketCaisse@\lstinline+\TicketCaisse+}%
La commande \lstinline!\TicketCaisse!$^{\text{\faIcon{sync-alt}}}$ permet d'afficher un ticket de caisse.
  \begin{center}
    \TicketCaisse{%
      2/livres/5.50,%
      3/baguettes/0.45,%
      1/bananes/0.99,
      4/soda 1.5L/1.95%
    }
  \end{center}
Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \TicketCaisse[!\sffamily\textlangle clés\textrangle!]{nb1/elt1/pu1,nb2/elt2/pu2...}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item \lstinline!nb1/elts1/pu1! sont respectivement la quantité, le nom de l'article, le prix unitaire de l'article.
\end{itemize}
\begin{tcolorbox}[tikzcle]
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Especes|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Enseigne|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Rendu|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!HeureAchat|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!DateAchat|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Couleur|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Largeur|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Simple|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!SansRendu|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Service|mygobble}
  \index[cle]{TicketCaisse@\lstinline+\TicketCaisse+!Service!SousTotal|mygobble}
\begin{Key}{Especes}{50}
  permet de choisir le montant donné par l'acheteur.
\end{Key}
\begin{Key}{Enseigne}{Au comptoir des maths}
  permet de modifier le nom du magasin.
\end{Key}
\begin{Key}{Rendu}{true}
  n'affiche pas, lorsqu'elle est positionnée à \lstinline!false!, le rendu effectué.
\end{Key}
\begin{Key}{HeureAchat}{15:13:34}
  modifie l'heure de l'édition du ticket de caisse.
\end{Key}
\begin{Key}{DateAchat}{\backslash today}
  modifie la date de l'édition du ticket de caisse.
\end{Key}
\begin{Key}{Couleur}{-}
  permet d'afficher les informations cachées en couleur.
\end{Key}
\begin{Key}{Largeur}{222pt}\PfCMAJ{0.99-A-h}
  permet de modifier la largeur du ticket de caisse.
\end{Key}
\begin{Key}{Simple}{false}\PfCMAJ{0.99-A-h}
  supprime, lorsqu'elle est positionnée à \lstinline!true!, la partie finale indiquant le total, le montant des espèces et le rendu.
\end{Key}
\begin{Key}{SansRendu}{false}\PfCMAJ{0.99-A-h}
  supprime, lorsqu'elle est positionnée à \lstinline!true!, la partie indiquant le montant des espèces et le rendu.
\end{Key}
\begin{Key}{Service}{-}\PfCMAJ{0.99-A-h}
  ajoute les lignes SousTotal et Service pour indiquer le calcul intermédiaire d'une T.V.A.
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.55}{}
\TicketCaisse[Especes=60]{%
  0.300/Mousse de canard/12.50,
  0.280/Pâté de campagne/11,
  0.250/Rillettes/13.56,
  0.700/Jambon/17.90,
  1.200/Fromage raclette/18.90,
  4/Baguettes/0.95}
\end{Codes}
Afin de travailler les opérations, on peut modifier l'affichage des quantités, des prix unitaires, des totaux intermédiaires et de l'éventuel service :
\begin{itemize}
\item en écrivant les quantités sous la forme \lstinline+!nb1+, la quantité sera affichée sous la forme d'une erreur aléatoire ({\ttfamily \PfCPrixInsulte{A}} par exemple) et le prix unitaire est automatiquement affiché;
\item en écrivant les prix :
  \begin{itemize}
  \item sous la forme \lstinline+!pu1+, le prix unitaire ne sera pas affiché;
  \item sous la forme \lstinline+*pu1+, le prix total intermédiaire n'est pas affiché; et dans ce cas, le total global ne l'est pas non plus;
  \item sous la forme \lstinline+!*pu+, ni le prix unitaire ni le prix total intermédiaire ne sont affichés.
    \end{itemize}
  \item en écrivant le service :
    \begin{itemize}
    \item sous la forme \lstinline+!se1+, le pourcentage de service ne sera pas affiché;
    \item sous la forme \lstinline+*se1+, le montant des taxes n'est pas affiché; et dans ce cas, le total global ne l'est pas non plus;
    \item sous la forme \lstinline+!*pu+, ni le pourcentage de service ni le montant des taxes ne sont affichés.
  \end{itemize}
\end{itemize}
\begin{Codes}[listing side text]{0.6}{}
\TicketCaisse{
  !0.700/Tomates/2.86,%
  0.824/Courgettes/!1.89,%
  0.758/Aubergines/!*1.99,
  0.425/Poulet/*19.90
}    
\end{Codes}
\begin{Codes}[listing side text]{0.6}{}
\TicketCaisse[%
Couleur=Crimson]{
  !0.700/Tomates/2.86,%
  0.824/Courgettes/!1.89,%
  0.758/Aubergines/!*1.99,
  0.425/Poulet/*19.90
}    
\end{Codes}
\begin{Codes}[listing side text]{0.6}{}
\TicketCaisse[%
SansRendu,
Service=*5.5,
Largeur=0.8\linewidth,
Enseigne={Restaurant \og {\sc Maroilles and co}\fg}]{%
  4/Menus/*16.50,
  1/Bouteille d'eau minérale/*6.40,
  3/Cafés/*1.20
}
\end{Codes}