% !TeX TXS-program:compile = txs:///pdflatex \documentclass[11pt,a4paper]{ltxdoc} \usepackage{TrivialPursuit} \usepackage{fancyvrb} \usepackage{fancyhdr} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \lfoot{\sffamily\small [TrivialPursuit]} \cfoot{\sffamily\small - \thepage{} -} \rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} \usepackage{hologo} \providecommand\tikzlogo{Ti\textit{k}Z} \providecommand\TeXLive{\TeX{}Live\xspace} \providecommand\PSTricks{\textsf{PSTricks}\xspace} \let\pstricks\PSTricks \let\TikZ\tikzlogo \usepackage{hyperref} \urlstyle{same} \hypersetup{pdfborder=0 0 0} \usepackage[margin=2cm]{geometry} \setlength{\parindent}{0pt} \def\TPversion{0.1.1} \def\TPdate{26 novembre 2023} \usepackage{tcolorbox} \tcbuselibrary{skins,hooks,listingsutf8} \usepackage{soul} \sethlcolor{lightgray!25} \NewDocumentCommand\MontreCode{ m }{% \hl{\vphantom{\texttt{pf}}\texttt{#1}}% } \begin{document} \pagestyle{fancy} \thispagestyle{empty} \begin{center} \begin{minipage}{0.88\linewidth} \begin{tcolorbox}[colframe=yellow,colback=yellow!15] \begin{center} \begin{tabular}{c} {\Huge \texttt{TrivialPursuit [fr]}}\\ \\ {\LARGE Créer un plateau type '\textit{Trivial Pursuit}',} \\ {\LARGE avec personnalisations.} \\ \\ {\small \texttt{Version \TPversion{} -- \TPdate}} \end{tabular} \end{center} \end{tcolorbox} \end{minipage} \end{center} \begin{center} \begin{tabular}{c} \texttt{Cédric Pierquet}\\ {\ttfamily c pierquet -- at -- outlook . fr}\\ \texttt{\url{https://github.com/cpierquet/trivialpursuit}} \\ \\ \texttt{Trivial Pursuit\texttrademark, est une marque déposée par Hasbro.} \end{tabular} \end{center} \hrule \vfill \begin{tcolorbox}[colframe=lightgray,colback=lightgray!5] \PlateauTrivialPursuit \end{tcolorbox} \vfill~ \pagebreak \phantomsection \hypertarget{matoc}{} \tableofcontents \vspace*{5mm} \hrule \vspace*{5mm} \section{Introduction} \subsection{Description} L'idée de ce package est de proposer un plateau de jeu de type \textsf{Trivial Pursuit} (marque déposée par Hasbro) avec personnalisations au niveau : \begin{itemize} \item des dimensions (rayon + hauteur bordure) ; \item des couleurs ; \item des logos (sous forme de caractères, comme \MontreCode{fontawesome5}). \end{itemize} L'alternance des cases et des couleurs est reprise du plateau \textit{classique}, donc est fixée globalement. \medskip Pour le moment, les \textit{limitations} sont : \begin{itemize} \item le nombre de catégories est (pour le moment) fixé à 6 ; \item les logos sont des caractères, comme ceux du package \MontreCode{fontawesome5}. \end{itemize} \subsection{Chargement} Pour charger le package, il suffit d'ajouter, dans le préambule : \begin{quote} \begin{verbatim} \usepackage{TrivialPursuit} \end{verbatim} \end{quote} Les packages chargés et utilisés par \MontreCode{TrivialPursuit} sont : \begin{itemize} \item \MontreCode{tikz} avec les librairies \MontreCode{calc,positioning} ; \item \MontreCode{calc} et \item \MontreCode{fontawesome5} ; \item \MontreCode{simplekv} ; \MontreCode{xintexpr} et \MontreCode{listofitems}. \end{itemize} \vfill \subsection{Historique} \begin{quote} \begin{verbatim} 0.1.1 : Ajout de palettes de couleurs prédéfinies 0.1.0 : Version initiale \end{verbatim} \end{quote} \pagebreak \section{La commande} \subsection{Fonctionnement global} Le code se charge de tracer le plateau avec les éventuels \textit{ornements}. Toutes les clés disponibles sont présentées dans le paragraphe suivant, mais concernant les dimensions, des \textit{générales} sont proposées par défaut, mais il est toutefois possible de les modifier : \begin{itemize} \item soit explicitement par les clés \MontreCode{[Rayon=]} et \MontreCode{[HauteurCases=]} ; \item soit en spécifiant une unité particulière grâce à la clé \MontreCode{[Unite=]}, au quel cas la forme générale du plateau sera conservée. \end{itemize} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[Unite=0.5] % \PlateauTrivialPursuit[Rayon=4,HauteurCases=1.25] %attention au rendu... \PlateauTrivialPursuit[Unite=0.33] %le rendu est 'optimal' \end{tcblisting} \pagebreak \subsection{Clés et options} Les \textsf{clés} disponibles sont : \begin{itemize} \item \MontreCode{Rayon} := rayon du plateau (en unité), et valant \MontreCode{8} par défaut ; \item \MontreCode{HauteurCases} := hauteur des cases extérieures, et valant \MontreCode{1.5} par défaut ; \item \MontreCode{ListeCouleurs} := couleurs des catégories (sens trigo), \hfill{}et valant \MontreCode{yellow,orange,blue,brown,green,pink} par défaut ; \item \MontreCode{ListeIcones} := icônes des catégories (sens trigo), \hfill\MontreCode{\textbackslash faArchway,\textbackslash faTableTennis,\textbackslash faUmbrellaBeach,\textbackslash faGuitar,\textbackslash faTree,\textbackslash faMusic} par défaut ; \item \MontreCode{Icones} := booléen pour afficher les icônes, et valant \MontreCode{true} par défaut ; \item \MontreCode{Centre} := booléen pour colorer l'hexagone centrale, et valant \MontreCode{true} par défaut ; \item \MontreCode{CouleurCentre} := couleur du centre hexagonal, et valant \MontreCode{lightgray!25} par défaut ; \item \MontreCode{Couleurs} := booléen pour afficher les couleurs, et valant \MontreCode{true} par défaut ; \item \MontreCode{Logo} := booléen pour afficher un logo central, et valant \MontreCode{true} par défaut ; \item \MontreCode{Jokers} := booléen pour afficher les jokers, et valant \MontreCode{true} par défaut ; \item \MontreCode{IconeJoker} := icône des jokers, et valant \MontreCode{\textbackslash faDice} par défaut ; \item \MontreCode{Vide} := booléen pour afficher le plateau vide, et valant \MontreCode{false} par défaut ; \item \MontreCode{Unite} := pour préciser l'unité (et gérer un facteur d'échelle), et valant \MontreCode{1} par défaut ; \item \MontreCode{Epaisseur} := épaisseur des tracés, et valant \MontreCode{0.8pt} par défaut ; \item \MontreCode{Rotation} := rotation éventuelle du plateau, et valant \MontreCode{0} par défaut. \end{itemize} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[Rotation=35,Unite=0.5] \PlateauTrivialPursuit[Unite=0.5] \end{tcblisting} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[Unite=0.5,Icones=false] \PlateauTrivialPursuit[Unite=0.5,Couleurs=false] \end{tcblisting} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[Unite=0.5,Vide] \PlateauTrivialPursuit[Unite=0.5,Logo=false,Centre=false,IconeJoker=\faAward] \end{tcblisting} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[% Jokers=false,% ListeCouleurs={% blue!25,red!25,teal!25,orange!25,gray!50,violet!25},% ListeIcones={ \faAddressCard,\faAngleDoubleRight,\faAngry[regular],% \faAtom,\faBalanceScaleLeft,\faBell} ] \end{tcblisting} \pagebreak \subsection{Palettes de couleurs prédéfinies} En complément (sur une suggestion de \textsf{quark67}), deux styles de couleurs ont été définies en interne : \begin{quote} \begin{verbatim} \TPColorsA \TPColorsB \end{verbatim} \end{quote} \begin{tcblisting}{colframe=lightgray,colback=lightgray!5} \PlateauTrivialPursuit[Unite=0.5,ListeCouleurs=\TPColorsA] \PlateauTrivialPursuit[Unite=0.5,ListeCouleurs=\TPColorsB] \end{tcblisting} \end{document}