diff options
author | Norbert Preining <norbert@preining.info> | 2022-10-30 03:00:51 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-10-30 03:00:51 +0000 |
commit | b2c88e6cbb5203ec5d33819454f1499cada7e336 (patch) | |
tree | 4c4af0d528b4d81f05c855c12e3aed8d94068428 /macros | |
parent | 81f24542c377c836618974cee06163a6ad28da67 (diff) |
CTAN sync 202210300300
Diffstat (limited to 'macros')
160 files changed, 1074 insertions, 772 deletions
diff --git a/macros/latex/contrib/association-matrix/association-matrix.pdf b/macros/latex/contrib/association-matrix/association-matrix.pdf Binary files differindex fe97c4b971..d54eb3ea3b 100644 --- a/macros/latex/contrib/association-matrix/association-matrix.pdf +++ b/macros/latex/contrib/association-matrix/association-matrix.pdf diff --git a/macros/latex/contrib/association-matrix/association-matrix.sty b/macros/latex/contrib/association-matrix/association-matrix.sty index 07b73659b6..f3b2c587a5 100644 --- a/macros/latex/contrib/association-matrix/association-matrix.sty +++ b/macros/latex/contrib/association-matrix/association-matrix.sty @@ -1,5 +1,5 @@ %% association-matrix.sty -%% Copyright 2020 Whisperity +%% Copyright 2020-2022 Whisperity % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -17,7 +17,7 @@ % and association-matrix.tex. % \NeedsTeXFormat{LaTeX2e}[2017/01/01] -\ProvidesPackage{association-matrix}[2020/10/25 v1.0 Association matrix generator] +\ProvidesPackage{association-matrix}[2022/10/29 v1.1 Association matrix generator] \RequirePackage{etoolbox} \RequirePackage{forloop} @@ -25,8 +25,8 @@ \RequirePackage{textcomp} \RequirePackage{xparse} -\newrobustcmd{\amxDate}{2020/10/25} -\newrobustcmd{\amxVersion}{1.0} +\newrobustcmd{\amxDate}{2022/10/29} +\newrobustcmd{\amxVersion}{1.1} \ExplSyntaxOn % (via http://tex.stackexchange.com/a/300215) @@ -40,6 +40,62 @@ \ExplSyntaxOff %%% +%%% COMPATIBILITY SHIMS +%%% + +%% Compatibility with the 'array' package, because we need to hand-craft the +%% table's column specifiers. With the 'array' package changing the definition +%% of 'tabular' to eagerly parse the specifier for what columns to make, the +%% logic that built the "|c|c|c|..." sequence in conventional LaTeX broke. +%% +%% (via http://tex.stackexchange.com/a/199244) +\newtoggle{amx@Compatibility@array} + +% In pure LaTeX, no compatibility needed because we can expand the tokens in +% the 'tabular' specifier properly. +\newenvironment{amx@Tabular}[0]{% + \begin{tabular}{|l|% + \egreg@Repeat[|]{\expandafter\theamx@ColumnCount}{c}% + |}% +}{% + \end{tabular}% +}% + +\@ifpackageloaded{array}{% + \global\toggletrue{amx@Compatibility@array}% + % + \newcolumntype{\amx@amx@Array@Expand}{}% + \long\@namedef{NC@rewrite@\string\amx@amx@Array@Expand}{\expandafter\NC@find}% + \newcommand{\amx@amx@Array@PreambleTrampoline}{}% + % + \renewenvironment{amx@Tabular}[0] + {% + % Creates "|l|c|c|c|c|..." sequence, one 'c' for each column. + \protected@edef\amx@amx@Array@PreambleTrampoline{|l|% + \egreg@Repeat[|]{\expandafter\theamx@ColumnCount}{c}% + |}% + \begin{tabular}{\amx@amx@Array@Expand\amx@amx@Array@PreambleTrampoline} + }{% + \end{tabular} + }% +}{% + % Intentionally left empty, the default is good enough. +} + +\newrobustcmd{\amx@CheckCompatibility}[0]{% + \@ifpackageloaded{array}{% + \iftoggle{amx@Compatibility@array}{% + % The compatibility was injected, thus no error needed. + }{% + \PackageError{association-matrix}{% + Package 'array' loaded after 'association-matrix' -- compatibility was not set up}{% + Make sure to load 'association-matrix' AFTER 'array' because a compatibility shim needs to be inserted for '\\amxgenerate' to work properly. + }% + }% + }{}% +} + +%%% %%% FIELDS, REPRESENTATION AND DEFINITION FUNCTIONS %%% @@ -79,7 +135,7 @@ %% Registers the row with the given key, and text. \newrobustcmd{\amx@NewRow}[2]{% \stepcounter{amx@RowCount}% - % + % \listcsgadd{amx@Rows}{#1}% \expandafter\def\csname amx@Rows@\theamx@RowCount\endcsname{#1}% \expandafter\def\csname amx@RowTexts@\theamx@RowCount\endcsname{#2}% @@ -99,7 +155,7 @@ %% Registers the public with the given key, and body. \newrobustcmd{\amx@NewColumn}[2]{% \stepcounter{amx@ColumnCount}% - % + % \listcsgadd{amx@Cols}{#1}% \expandafter\def\csname amx@Cols@\theamx@ColumnCount\endcsname{#1}% \expandafter\def\csname amx@ColTexts@\theamx@ColumnCount\endcsname{#2}% @@ -298,7 +354,7 @@ \global\togglefalse{amx@AreAnyHighlightSet}% }{% \global\toggletrue{amx@AreAnyHighlightSet}% - % + % % Set highlight for current row. \ifthenelse{\equal{##1}{#1}}{% \global\toggletrue{amx@IsCurrentRowHighlighted}% @@ -311,15 +367,14 @@ \hline% }% % - \begin{tabular}{|l|% - \egreg@Repeat[|]{\expandafter\theamx@ColumnCount}{c}% - |% - } + \amx@CheckCompatibility{}% + % + \begin{amx@Tabular} \hline \amx@amx@RenderHeading \\ \hline \forlistcsloop{\amx@amx@RowRenderHELPER}{amx@Rows}% - \end{tabular}% + \end{amx@Tabular}% } \newrobustcmd{\amxgenerate}[1][0]{% \amx@amx@MakeTabular{#1}% diff --git a/macros/latex/contrib/association-matrix/association-matrix.tex b/macros/latex/contrib/association-matrix/association-matrix.tex index bea65f80ce..39416dcc90 100644 --- a/macros/latex/contrib/association-matrix/association-matrix.tex +++ b/macros/latex/contrib/association-matrix/association-matrix.tex @@ -29,18 +29,18 @@ hidelinks, % disable link borders %colorlinks=false, % false: boxed links; true: colored links } -\usepackage[capitalize]{cleveref} +\usepackage{cleveref} % *MUST* be loaded *after* HyperRef. \usepackage{minted} \usemintedstyle{borland} \setminted{autogobble} \usepackage{xcolor} \newrobustcmd{\release}[3]{% - \subsection{\emph{#1}: \texttt{#2} - #3}\label{release-#2}% + \subsection{\emph{#1}: \texttt{#2} - #3}\label{release:#2}% } \newrobustcmd{\command}[3]{% - \paragraph{\textsf{#1}} \textbf{\color{blue} \texttt{#2}} + \paragraph{\textsf{#1}} \textbf{\color{blue} \texttt{#2}}\label{command:#1}% #3 } @@ -90,7 +90,7 @@ \section{Introduction}\label{intro} The \textsf{association-matrix} package allows the convenient creation of association matrices. The package aims to automate the generation, without the user having to manually write the table's code and have to deal with the inefficiency of copy-pasting information. -The package's interface is simple, the user needs to define the table's contents (\cref{define}) and then can generate the table (\cref{tablegen}). +The package's interface is simple, the user needs to define the table's contents (\Cref{define}) and then can generate the table (\Cref{tablegen}). Note that it is important to have \emph{every} necessary row entries and column headings defined \textbf{before} the first call to a table generation, otherwise, only a partial table will be generated. @@ -101,7 +101,7 @@ Originally, the package \textsc{theses-vs-publications} had been devised, but th Commonly, the dissertation's \emph{``Introduction''} and \emph{``Summary''} chapters will provide the full table. In addition, at the end of each individual thesis chapters will provide a table with the current thesis's row in the table \emph{highlighted}. -An example usage and association matrix is provided in \cref{example}. +An example usage and association matrix is provided in \Cref{example}. \subsection{Licence} Copyright \textcopyright\ 2020 Whisperity. @@ -110,7 +110,7 @@ Permission is granted to copy, distribute and\slash or modify this software unde } \subsection{Example}\label{example} -The definitions (\cref{define}) should be done early in the document, but at least before the first table render (\cref{tablegen}) call. +The definitions (\Cref{define}) should be done early in the document, but at least before the first table render (\Cref{tablegen}) call. \immediate\openout\tempfile=assoc-mx-example.aux \immediate\write\tempfile{\bslchar amxrow{association-matrix}{Association Matrices}} @@ -183,10 +183,10 @@ The cells at the intersection of the row and the column will have a \textbullet{ Generates the full table incorporating the previously registered data. Internally, a \texttt{tabular} environment is created with the table's data generated by the package. It is the user's responsibility to wrap this into a floating \texttt{table}, if they so wish. - + If \texttt{[<row>]} is given a row's \emph{key}, the row for that key will be \textbf{highlighted}. Highlighting is done by typesetting the row's \emph{text} in \textbf{bold face}, and changing every \textbullet{} in the \emph{other} rows to \textopenbullet{}. - + \begin{figure}[H] \centering \amxgenerate[latex] @@ -231,7 +231,7 @@ All aspects on how the individual elements in the table are rendered can be cust } \command{amxsetColumnHeading}{\bslchar amxsetColumnHeading\lbchar<render-command>\rbchar}{% - Sets the rendered table's top row's cells to be rendered via passing the column heading's text (see \cref{query}) to the given \texttt{<render-command>}. + Sets the rendered table's top row's cells to be rendered via passing the column heading's text (see \Cref{query}) to the given \texttt{<render-command>}. This command must be a command that takes \textbf{1} argument, defined by the user earlier. \immediate\openout\tempfile=setcolheading-example.aux @@ -242,9 +242,9 @@ All aspects on how the individual elements in the table are rendered can be cust } \command{amxsetRowFormat}{\bslchar amxsetRowFormat(Highlighted)\lbchar<render-command>\rbchar}{% - Sets the rendered table's left cells' to be rendered via passing the row's index and text (see \cref{query}) to the given \texttt{<render-command>}. + Sets the rendered table's left cells' to be rendered via passing the row's index and text (see \Cref{query}) to the given \texttt{<render-command>}. This command must be a command that takes \textbf{2} arguments, defined by the user earlier. - The \texttt{Highlighted} version sets the renderer for the highlighted row, if highlighted rendering (see \cref{tablegen}) is done. + The \texttt{Highlighted} version sets the renderer for the highlighted row, if highlighted rendering (see \Cref{tablegen}) is done. \immediate\openout\tempfile=setrowformat-example.aux \immediate\write\tempfile{\bslchar newcommand{\bslchar parenRow}[2]{(\hschar1) \bslchar emph{\hschar2}}} @@ -287,10 +287,10 @@ All aspects on how the individual elements in the table are rendered can be cust \command{amxReset}{\bslchar amxReset}{% Clears \textbf{all} internal data structures and customisations for the package, allowing the user to later typeset a different, independent matrix. - The previously defined entries are lost, and in case the ``previous'' matrix is needed, it must be set up again with a sequence of definition commands (see \cref{define}). - - For example, putting the code in \cref{example} and the one below into the same source file will create the smaller matrix at the second invocation of \texttt{\bslchar amxgenerate}. - + The previously defined entries are lost, and in case the ``previous'' matrix is needed, it must be set up again with a sequence of definition commands (see \Cref{define}). + + For example, putting the code in \Cref{example} and the one below into the same source file will create the smaller matrix at the second invocation of \texttt{\bslchar amxgenerate}. + \immediate\openout\tempfile=reset-example.aux \immediate\write\tempfile{\bslchar amxReset} \immediate\write\tempfile{\bslchar amxrow{sample}{Sample}} @@ -298,11 +298,11 @@ All aspects on how the individual elements in the table are rendered can be cust \immediate\write\tempfile{\bslchar amxassociate{x}{sample}} \immediate\write\tempfile{\detokenize{\amxgenerate}} \immediate\closeout\tempfile - + \amxDisable \input{reset-example.aux} \amxEnable - + \begin{figure}[H] \centering \inputminted{latex}{reset-example.aux} @@ -311,6 +311,17 @@ All aspects on how the individual elements in the table are rendered can be cust } \clearpage +\section{Interaction \& compatibility with other packages}\label{compatibility} +There are several packages that interact with commands in a way that interferes with the behaviour of \texttt{association-matrix}. +When using such packages, \texttt{association-matrix} \textbf{must be loaded after} them. +During the initialisation of \texttt{association-matrix}, compatibility is ensured by rewiring some of the logic. + +\begin{enumerate} + \item\label{compatibility:array} \texttt{array}: + Replaced the \texttt{tabular} environment's logic (used by \hyperref[command:amxgenerate]{\mintinline{latex}{\amxgenerate}}) by eagerly attempting to consume the number of columns to create, which was previously created by a macro locally. + The issue was fixed in \hyperref[release:v1.1]{release 1.1} by making sure that in presence of the \texttt{array} package, our package does the right thing. +\end{enumerate} + \section{Development} The development of \textsf{association-matrix} is done on GitHub: \url{http://github.com/whisperity/association-matrix}. Please report issues and submit patches here. @@ -320,6 +331,12 @@ Any new command or change should be supplemented with appropriate documentation, If there is a discrepancy or regression in the looks of \emph{this document} that is not explained by the changes, it should be investigated! \section{Changelog}\label{changelog} +\release{2022/10/29}{v1.1}{Compatibility with \texttt{array}} +\begin{itemize} + \item Fixed error message ``\texttt{Illegal pream-token: \`{}c' used}'' emitted by the \texttt{array} package by injecting a compatibility shim. + (See \cref{compatibility:array} in \Cref{compatibility}.) +\end{itemize} + \release{2020/10/25}{v1.0}{Initial release} \begin{itemize} \item Basic functionality of defining entries, rendering tables, and customising the renderers are implemented. @@ -330,12 +347,12 @@ If there is a discrepancy or regression in the looks of \emph{this document} tha Whisperity. \textit{The \textsf{association-matrix} Package -- An easy and clear association matrix generator}. Online, \url{http://ctan.org/pkg/association-matrix} (accessed 2020/10/25), 2020. -\bibitem{latex} -Leslie B.\ Lamport, Donald E.\ Knuth et al. -\textit{\LaTeX{} -- A document preparation system}. +\bibitem{latex} +Leslie B.\ Lamport, Donald E.\ Knuth et al. +\textit{\LaTeX{} -- A document preparation system}. Online, \url{http://latex-project.org/} (accessed 2020/10/25), 1984. -\bibitem{etoolbox} +\bibitem{etoolbox} Philipp Lehman, Joseph Wright. \textit{The \textsf{etoolbox} Package -- An e-\TeX{} Toolbox for Class and Package Authors} Online, \url{http://ctan.org/pkg/etoolbox} (accessed 2020/10/25), 2007. diff --git a/macros/latex/contrib/debate/DEPENDS.txt b/macros/latex/contrib/debate/DEPENDS.txt index 7a17e9bd3f..5fe392cce3 100644 --- a/macros/latex/contrib/debate/DEPENDS.txt +++ b/macros/latex/contrib/debate/DEPENDS.txt @@ -1,6 +1,3 @@ hard xkeyval hard xcolor hard tcolorbox -hard pdfcol -hard listings -hard listingsutf8
\ No newline at end of file diff --git a/macros/latex/contrib/debate/README.md b/macros/latex/contrib/debate/README.md index ff457dfa4b..e8fd384132 100644 --- a/macros/latex/contrib/debate/README.md +++ b/macros/latex/contrib/debate/README.md @@ -20,8 +20,7 @@ than pears! \end{document} ``` -The full example and all commands are available in the -[`debate.tex`](https://github.com/yegor256/debate/blob/master/debate.tex) file. +Otherwise, you can download [`eolang.sty`](https://raw.githubusercontent.com/yegor256/debate/gh-pages/debate/debate.sty) and add to your project. If you want to contribute yourself, make a fork, then create a branch, then run `make` in the root directory. diff --git a/macros/latex/contrib/debate/debate.dtx b/macros/latex/contrib/debate/debate.dtx index 955229ae6f..8e51f41e7a 100644 --- a/macros/latex/contrib/debate/debate.dtx +++ b/macros/latex/contrib/debate/debate.dtx @@ -50,16 +50,16 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{debate} %<*package> -[2022-10-03 0.2.0 Debates Between Reviewers] +[2022-10-29 0.2.1 Debates Between Reviewers] %</package> %<*driver> \documentclass{ltxdoc} \usepackage[tt=false, type1=true]{libertine} -\usepackage{multicol} \usepackage{debate} \usepackage{href-ul} -\usepackage{xcolor} +\usepackage[dtx]{docshots} \usepackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} \PageIndex \EnableCrossrefs \CodelineIndex @@ -78,46 +78,29 @@ % % \maketitle % +% \textbf{NB!} +% If you want to use |tcolorbox| package, make sure you include +% |debate| first. + % \section{Introduction} % % This package helps you organize debates between a few people % right inside your documents: -% \begin{multicols}{2} -% \raggedcolumns -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{article} -\usepackage[T1]{fontenc} -\usepackage{debate} -\begin{document} -I think apples are tastier -\debate[Jeff]{I don't think it's true!} -\debate[Anna]{It is indeed true!} -than pears! - -And I don't want to argue with me. -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi -% -% \columnbreak -% -% I think apples are tastier -% \debate[Jeff]{I don't think it's true!} -% \debate[Anna]{It is indeed true!} -% than pears! -% -% And I don't want to argue with me. -% \end{multicols} - -% \textbf{NB!} -% If you want to use |tcolorbox| package, make sure you include -% |debate| first. +% \begin{docshot} +% \documentclass{article} +% \usepackage{debate} +% \usepackage[paperwidth=3in]{geometry} +% \pagestyle{empty} +% \begin{document}\noindent +% Never argue with stupid people, +% \debate[Jeff]{I disagree!} +% \debate[Anna]{I won't argue...} +% they will drag you down to their +% level and then beat you with +% experience -- \emph{Mark Twain} +% \end{document} +% \end{docshot} % \section{Package Options} @@ -156,13 +139,18 @@ And I don't want to argue with me. #1% \else% {% - \begin{tcolorbox}[frame hidden,sharp corners,enhanced,borderline west={1pt}{0pt}{red},interior hidden,boxsep=0pt,left=0pt,right=0pt,top=0pt,bottom=0pt,beforeafter skip balanced=0pt] + \begin{tcolorbox}[frame hidden,sharp corners, + enhanced,borderline west={1pt}{0pt}{red}, + interior hidden,boxsep=0pt,left=0pt,right=0pt, + top=0pt,bottom=0pt,beforeafter skip balanced=0pt] \sffamily\color{gray}% \raggedright% - \addtolength\leftskip{18pt}\setlength\parskip{0pt}\setlength\parindent{0pt}% + \addtolength\leftskip{18pt}% + \setlength\parskip{0pt}% + \setlength\parindent{0pt}% \textcolor{red}{\bfseries\scshape #1}: #2 - \end{tcolorbox} - \vspace{-\parskip} + \end{tcolorbox}% + \vspace{-\parskip}% }% \fi% }\makeatother diff --git a/macros/latex/contrib/debate/debate.ins b/macros/latex/contrib/debate/debate.ins index b1e10ebfcf..7de3f64cb6 100644 --- a/macros/latex/contrib/debate/debate.ins +++ b/macros/latex/contrib/debate/debate.ins @@ -48,8 +48,8 @@ SOFTWARE. \endpreamble \generate{\file{debate.sty}{\from{debate.dtx}{package}}} \obeyspaces -\Msg{*** To finish the installation you have to move the ".sty"} -\Msg{*** file into a directory searched by TeX. To produce the} -\Msg{*** documentation run the file ".dtx" through LaTeX. If any} -\Msg{*** questions, submit a new GitHub issue.} +\Msg{To finish the installation you have to move the ".sty"} +\Msg{file into a directory searched by TeX. To produce the} +\Msg{documentation run the file ".dtx" through LaTeX. If any} +\Msg{questions, submit a new GitHub issue.} \endbatchfile diff --git a/macros/latex/contrib/debate/debate.pdf b/macros/latex/contrib/debate/debate.pdf Binary files differindex 336aed0d9f..9c1e94a16b 100644 --- a/macros/latex/contrib/debate/debate.pdf +++ b/macros/latex/contrib/debate/debate.pdf diff --git a/macros/latex/contrib/eolang/eolang.dtx b/macros/latex/contrib/eolang/eolang.dtx index c277d02c14..65e87c220a 100644 --- a/macros/latex/contrib/eolang/eolang.dtx +++ b/macros/latex/contrib/eolang/eolang.dtx @@ -50,7 +50,7 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{eolang} %<*package> -[2022-10-27 0.1.0 Formulas and Graphs for EO Programming Language] +[2022-10-29 0.2.0 Formulas and Graphs for EO Programming Language] %</package> %<*driver> \documentclass{ltxdoc} @@ -104,7 +104,7 @@ % ^ !-> $.b, % b -> [[ c -> |fn|(56), % @ -> |hello|($), -% \Delta ..> |01-FE-C3| ]]]],\\ +% \Delta ..> 01-FE-C3 ]]]],\\ % x -> [[ \alpha_0 -> ? ]]. % \end{phiquation*} % \end{document} @@ -170,9 +170,9 @@ % \begin{document} % \begin{sodg} % v0 -% v1 xy:v0,-2,+1 data:|42| +% v1 xy:v0,-2,+1 data:42 % v0->v1 a:$x$ rho -% v2 xy:v0,+1,+1 atom:$\xi.x+1$ +% v2 xy:v0,+1,+1 atom:\xi.x+1 % v1->v2 a:|hi| bend:-15 % v2->v0 pi bend:10 % \end{sodg} @@ -184,8 +184,8 @@ % unary like |rho| or binary like |atom:$\xi.x+1$|. Binary markers have two % parts, separated by colon. The following markers are supported for a vertex: % \begin{itemize}\setlength\itemsep{0em} -% \item ``|data:[<box>]|'' makes it a data vertex with an optional attached |<box>|, -% \item ``|atom:[<box>]|'' makes it an atom with an optional attached |<box>|, +% \item ``|data:[<box>]|'' makes it a data vertex with an optional attached |<box>| (the content of the box may only be numeric data), +% \item ``|atom:[<box>]|'' makes it an atom with an optional attached |<box>| (the content of the box is a math formula), % \item ``|box:<txt>|'' attaches a |<box>| to it, % \item ``|xy:<v>,<r>,<d>|'' places this vertex in a position relative to the vertex |<v>|, % shifting it right by |<r>| % and down by |<d>| centimetres. @@ -201,10 +201,11 @@ % \DescribeMacro{\eolang} % \DescribeMacro{\phic} +% \DescribeMacro{\xmir} % There is also a no-argument command |\eolang| to help you print the name of % \eolang{} language. It understands |anonymous| mode of \href{https://ctan.org/pkg/acmart}{acmart} and prints itself % differently, to double-blind your paper. There is also |\phic| command to print -% the name of \phic{}, also sensitive to |anonymous| mode. +% the name of \phic{}, also sensitive to |anonymous| mode. The macro |\xmir| prints "XMIR". % \begin{docshot} % \documentclass[anonymous]{acmart} % \thispagestyle{empty} @@ -212,8 +213,9 @@ % \begin{document} % In our research we use \eolang{}, \\ % an experimental object-oriented \\ -% dataflow language, and \phic{}, \\ -% its formal foundation. +% dataflow language, \phic{}, \\ +% as its formal foundation, and \xmir{} \\ +% --- its XML-based presentation. % \end{document} % \end{docshot} @@ -258,8 +260,8 @@ % \begin{document} % \begin{phiquation*} % \dfrac \ -% {x->[[@->y]] \quad y->[[z->|42|]]} \ -% {x.z -> |42|} \ +% {x->[[@->y]] \quad y->[[z->42]]} \ +% {x.z -> 42} \ % \text{\sffamily R1} % \end{phiquation*} % \end{document} @@ -358,6 +360,7 @@ % \changes{0.0.2}{2022/10/21}{New symbol added for basket slots} % \changes{0.0.2}{2022/10/21}{Parsing of symbols ``@,'' ``\^{},'' and ``\&'' enabled (varphi, rho, and sigma)} % \changes{0.1.0}{2022/10/26}{A new Perl script "eolang-phi.pl" added for parsing of phi expressions.} +% \changes{0.2.0}{2022/10/29}{Numbers automatically render as "texttt". No need to use vertical bars around them anymore.} % Then, we create a Perl script for |phiquation| processing: % \begin{macrocode} \makeatletter @@ -388,6 +391,7 @@ if ($env ne 'phiq') { $tex =~ s/\s+\\\n\s*//g; $tex =~ s/\\\\\n/\n\n/g; } +$tex =~ s/([\s,>\(])([0-9A-F][0-9A-F-]*)/\1|\2|/g; $tex =~ s/\?/\\varnothing{}/g; $tex =~ s/@/\\varphi{}/g; $tex =~ s/&/\\sigma{}/g; @@ -476,6 +480,7 @@ print '\endinput', "\n"; % \begin{macro}{eolang-sodg.pl} % \changes{0.0.2}{2022/10/24}{The Perl file now has a fixed name, which doesn't depend on the name of the TeX job. This file may be shared among jobs, no need to make it uniquely named.} % \changes{0.1.0}{2022/10/26}{There are two Perl scripts now: one for phiquation, another one for sodg.} +% \changes{0.2.0}{2022/10/28}{The content of "atom" and "data" boxes is parsed automatically as formulas and numbers, respectively.} % Then, we create a Perl script for |sodg| graphs processing: % \begin{macrocode} \makeatletter @@ -521,12 +526,20 @@ foreach my $c (@cmds) { if (exists $opts{'data'}) { print ',phi-data'; if (not $opts{'data'} eq '') { - $opts{'box'} = $opts{'data'}; + my $d = $opts{'data'}; + if (index($d, '|') == -1) { + $d = '\texttt{' . $d . '}'; + } + $opts{'box'} = $d; } } elsif (exists $opts{'atom'}) { print ',phi-atom'; if (not $opts{'atom'} eq '') { - $opts{'box'} = $opts{'atom'}; + my $a = $opts{'atom'}; + if (index($a, '$') == -1) { + $a = '$' . $a . '$'; + } + $opts{'box'} = $a; } } else { print ',phi-object'; @@ -650,30 +663,46 @@ print '\end{phicture}', "\n", '\endinput'; % \end{macro} % \begin{macro}{\eolang} +% Then, we define a simple supplementary command to help you print \eolang{}, the name of our language. % \changes{0.1.0}{2022/10/25}{New command "eolang" added to print the name of the language in both % normal and anonymous mode of "acmart"} % \begin{macrocode} -\makeatletter\newcommand\eolang{% +\newcommand\eolang{% \ifdefined\anon% \anon[XYZ]{{\sffamily EO}}% \else% {\sffamily EO}% \fi% -}\makeatother +} % \end{macrocode} % \end{macro} % \begin{macro}{\phic} +% Then, we define a simple supplementary command to help you print \phic{}, the name of our formal apparatus. % \changes{0.1.0}{2022/10/25}{New command "phic" prints the name of $\varphi$-calculus in both % normal and anonymous mode of "acmart"} % \begin{macrocode} -\makeatletter\newcommand\phic{% +\newcommand\phic{% \ifdefined\anon% \anon[$\alpha$-calculus]{$\varphi$-calculus}% \else% $\varphi$-calculus% \fi% -}\makeatother +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\xmir} +% Then, we define a simple supplementary command to help you print \xmir{}, the name of our XML-based format of program representation. +% \changes{0.2.0}{2022/10/28}{New command "xmir" prints XMIR in both normal and anonymous mode of "acmart"} +% \begin{macrocode} +\newcommand\xmir{% + \ifdefined\anon% + \anon[XML']{XMIR}% + \else% + XMIR% + \fi% +} % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/eolang/eolang.pdf b/macros/latex/contrib/eolang/eolang.pdf Binary files differindex 7bc0280478..e2b1d20e83 100644 --- a/macros/latex/contrib/eolang/eolang.pdf +++ b/macros/latex/contrib/eolang/eolang.pdf diff --git a/macros/latex/contrib/huawei/huawei-cover-picture.pdf b/macros/latex/contrib/huawei/huawei-cover-picture.pdf Binary files differnew file mode 100644 index 0000000000..6717a9ff35 --- /dev/null +++ b/macros/latex/contrib/huawei/huawei-cover-picture.pdf diff --git a/macros/latex/contrib/huawei/huawei.dtx b/macros/latex/contrib/huawei/huawei.dtx index fdb272a996..d9fa5fa2a9 100644 --- a/macros/latex/contrib/huawei/huawei.dtx +++ b/macros/latex/contrib/huawei/huawei.dtx @@ -50,13 +50,17 @@ %<class>\NeedsTeXFormat{LaTeX2e} %<class>\ProvidesClass{huawei} %<*class> -[2022-10-14 0.14.2 Template for Huawei Documents] +[2022-10-29 0.14.3 Template for Huawei Documents] %</class> %<*driver> \documentclass{ltxdoc} \usepackage[tt=false, type1=true]{libertine} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} +\usepackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} +\usepackage[dtx,margin=0,log,nocrop]{docshots} +\docshotPrerequisite{huawei-cover-picture.pdf} \usepackage{href-ul} \PageIndex \EnableCrossrefs @@ -83,19 +87,12 @@ % style elegant enough both for management and technical % papers. To use the class you simply mention its name % in the preamble: -% -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{huawei} -\begin{document} -Hello, world! -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi +% \begin{docshot} +% \documentclass{huawei} +% \begin{document} +% Hello, world! +% \end{document} +% \end{docshot} % We recommend you to use % |latexmk| to compile your |.tex| files to |.pdf|. @@ -132,7 +129,6 @@ $pdflatex = 'pdflatex %O --shell-escape %S'; % by |pdflatex| during the compilation. You don't need to commit % them to your repository, since they are temporary and will % be generated again when you compile your document. - % In order to compile the document, just say |latexmk| on the command line. % \section{Class Options} @@ -142,68 +138,64 @@ $pdflatex = 'pdflatex %O --shell-escape %S'; % the layout of your document: % \DescribeMacro{landscape} -% makes the document in landscape format, also changing the size -% of the paper to 16x9 inches (the default page size is -% \href{https://en.wikipedia.org/wiki/Paper_size}{A4}), -% making it perfect for presentations. +% The option |landscape| makes the document in landscape format, also changing the size +% of the paper to 16x9 inches (the default page size is +% \href{https://en.wikipedia.org/wiki/Paper_size}{A4}), +% making it perfect for presentations. % \DescribeMacro{dark} -% Turns on a dark layout, where the page color is black and the text +% The option |dark| turns on a dark layout, where the page color is black and the text % is white. % \DescribeMacro{slides} -% makes all headers a bit larger, assuming that the document -% is in the landscape mode and being presented as a slide deck. +% The option |slides| makes all headers a bit larger, assuming that the document +% is in the landscape mode and being presented as a slide deck. % \DescribeMacro{nocover} -% avoid printing the cover images on the first page by the -% |\PrintTitlePage| command. +% The option |nocover|, if it's present, avoids printing the cover images on the first page by the +% |\PrintTitlePage| command. % \DescribeMacro{anonymous} -% removes the name of the author everywhere, including the bottom -% of the page, where the author's name stays next to the name of the -% company. +% The |anonymous| removes the name of the author everywhere, including the bottom +% of the page, where the author's name stays next to the name of the +% company. % \DescribeMacro{nobrand} -% avoid mentioning the brand of Huawei anywhere -% in the document and removes the logo too. +% The option |nobrand| avoids mentioning the brand of Huawei anywhere +% in the document and removes the logo too. % \DescribeMacro{nosecurity} -% avoids mentioning the level of security at the right top -% corner of the document and also avoids showing the ID of the author -% where it usually is visible. +% The option |nosecurity| avoids mentioning the level of security at the right top +% corner of the document and also avoids showing the ID of the author +% where it usually is visible. % \DescribeMacro{nodate} -% don't show the date and time at the bottom of each page, -% where they usually are rendered in ISO~8601 format. +% The option |nodate| doesn't show the date and time at the bottom of each page, +% where they usually are rendered in ISO~8601 format. % \DescribeMacro{nopaging} -% avoids page numbers at the bottom of each page. +% The option |nopaging| avoids page numbers at the bottom of each page. % \DescribeMacro{authordraft} -% prints a big ``It's a draft'' message across each page. +% The option |authordraft| prints a big ``It's a draft'' message across each page. % \section{Preamble} % In the preamble you can specify meta information about the document, % such as its title or author's name, here is how: - -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{huawei} -\renewcommand*\thetitle{Making Compression 15\% Faster} -\renewcommand*\thesubtitle{Technical Report} -\renewcommand*\theauthor{Yegor Bugayenko} -\begin{document} -\maketitle -Hello, world! -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi +% \begin{docshot} +% \documentclass{huawei} +% \renewcommand* +% \thetitle{15\% Faster Algorithm} +% \renewcommand* +% \thesubtitle{Technical Report} +% \renewcommand* +% \theauthor{Yegor Bugayenko} +% \begin{document} +% \maketitle +% Hello, world! +% \end{document} +% \end{docshot} % It's recommended to use |\renewcommand*| instead of % |\renewcommand| in order to let \LaTeX{} catch you @@ -241,23 +233,53 @@ Hello, world! % Inside the document body you can use these commands: % \DescribeMacro{\PrintFirstPage} -% |\PrintFirstPage| -% prints the first page of a project charter or a similar landscape documents, -% placing the image |front-image.pdf| on the front (the file should be present -% in the current dir. If you don't have the front image file, just leave -% the first argument empty. +% It is recommended to use |\PrintFirstPage| for rendering the first +% page in landscape document, for example a project charter. +% The only argument of the commmand is the name of an image to render at the +% right bottom corner. You can omit the name and just call the command with +% an empty argument. In this case the default image will be rendered, a pretty +% good looking one: +% \begin{docshot} +% \documentclass[landscape]{huawei} +% \renewcommand* +% \thetitle{Perpetum Mobile} +% \renewcommand* +% \theauthor{Yegor Bugayenko} +% \begin{document} +% \PrintFirstPage{} +% \end{document} +% \end{docshot} % \DescribeMacro{\PrintLastPage} -% |\PrintLastPage| -% prints the last page of a project charter or a similar landscape document. +% |\PrintLastPage| prints the last page of a project charter or a similar landscape document: +% \begin{docshot} +% \documentclass[landscape]{huawei} +% \begin{document} +% \PrintLastPage{} +% \end{document} +% \end{docshot} % \DescribeMacro{\PrintThankYouPage} -% |\PrintThankYouPage| -% prints the last page with a "Thank You" message in the center. +% |\PrintThankYouPage| prints the last page with a "Thank You" message in the center. +% \begin{docshot} +% \documentclass[landscape,dark]{huawei} +% \begin{document} +% \PrintThankYouPage{} +% \end{document} +% \end{docshot} % \DescribeMacro{\PrintDisclaimer} -% |\PrintDisclaimer| -% prints a paragraph at the bottom of the page with a standard disclaimer. +% |\PrintDisclaimer| prints a paragraph at the bottom of the page with a standard disclaimer: +% \begin{docshot} +% \documentclass{huawei} +% \begin{document} +% \section{Introduction} +% Hello, world! +% \subsection{More Details} +% Hello again! +% \PrintDisclaimer +% \end{document} +% \end{docshot} % \section{Best Practices} @@ -275,51 +297,36 @@ Hello, world! % In the landscape format it's recommended to use two columns, for better % readability of the text. Here is how: - -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{huawei} -\begin{document} -\newpage -\begin{multicols}{2} -\section*{First} -Here goes the first column content. -\columnbreak -\section*{Second} -Here goes the second column content. -\end{multicols} -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi +% \begin{docshot} +% \documentclass[landscape]{huawei} +% \begin{document} +% \newpage +% \begin{multicols}{2} +% \section*{First} +% Here goes the first column content. +% \columnbreak +% \section*{Second} +% Here goes the second column content. +% \end{multicols} +% \end{document} +% \end{docshot} % \subsection{Crumbs} % When you need to put many small information pieces into one page, % we recommend you to use ``crumbs'': - -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{huawei} -\begin{document} -\newpage -\section*{Project Details} -\begin{multicols}{2} -\raggedright -\PrintCrumb{Budget}{\$100K} - -\PrintCrumb{Duration}{5 months} -\end{multicols} -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi +% \begin{docshot} +% \documentclass{huawei} +% \begin{document} +% \newpage +% \section*{Project Details} +% \begin{multicols}{2} +% \raggedright +% \PrintCrumb{Budget}{\$100K} +% \PrintCrumb{Duration}{5 months} +% \end{multicols} +% \end{document} +% \end{docshot} % \StopEventually{} @@ -402,6 +409,7 @@ Here goes the second column content. \RequirePackage{enumitem} \setlist{nosep} \RequirePackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} \RequirePackage{wrapfig} \RequirePackage{lastpage} \RequirePackage{tikz} diff --git a/macros/latex/contrib/huawei/huawei.pdf b/macros/latex/contrib/huawei/huawei.pdf Binary files differindex 404d6a0722..f9612c0073 100644 --- a/macros/latex/contrib/huawei/huawei.pdf +++ b/macros/latex/contrib/huawei/huawei.pdf diff --git a/macros/latex/contrib/iexec/README.md b/macros/latex/contrib/iexec/README.md index 018bf2a764..93f1afce39 100644 --- a/macros/latex/contrib/iexec/README.md +++ b/macros/latex/contrib/iexec/README.md @@ -18,6 +18,8 @@ Today is \iexec{date +\%e-\%b-\%Y | tr -d '\\n'}. \end{document} ``` +Otherwise, you can download [`iexec.sty`](https://raw.githubusercontent.com/yegor256/iexec/gh-pages/iexec/iexec.sty) and add to your project. + The full example and all commands are available in the [`iexec.pdf`](https://ftp.agdsn.de/pub/mirrors/latex/dante/macros/latex/contrib/iexec/iexec.pdf) file. diff --git a/macros/latex/contrib/iexec/iexec.dtx b/macros/latex/contrib/iexec/iexec.dtx index 0ee16eed8f..4657100fa0 100644 --- a/macros/latex/contrib/iexec/iexec.dtx +++ b/macros/latex/contrib/iexec/iexec.dtx @@ -50,12 +50,13 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{iexec} %<*package> -[2022-10-25 0.11.2 Inputable Shell Executions] +[2022-10-29 0.11.3 Inputable Shell Executions] %</package> %<*driver> \documentclass{ltxdoc} \usepackage[tt=false, type1=true]{libertine} \usepackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} \usepackage{xcolor} \usepackage[dtx]{docshots} \usepackage{iexec} @@ -349,6 +350,7 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}. % \changes{0.9.0}{2022/10/15}{The option "stderr" was introduced, allowing redirection of stderr to a file. Without this option specified, stderr will go to stdout.} % \changes{0.11.0}{2022/10/22}{The file with exit code now contains just numbers, without end of line.} % \changes{0.11.1}{2022/10/23}{When exit code is printed to the file, we add percentchar at the end of line in order to avoid extra space when reading it back.} +% \changes{0.11.3}{2022/10/29}{Bug fixed, because of which we had an extra leading space.} % \begin{macrocode} \def\iexec@cmd{(#2) \ifdefined\iexec@append>\fi> @@ -451,7 +453,7 @@ This file won't be deleted: \iexec[stdout=me.txt]{whoami}. \fi% \fi% \fi\fi% - \endgroup + \endgroup% }\makeatother % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/iexec/iexec.pdf b/macros/latex/contrib/iexec/iexec.pdf Binary files differindex 1e6394be47..73c3374ae6 100644 --- a/macros/latex/contrib/iexec/iexec.pdf +++ b/macros/latex/contrib/iexec/iexec.pdf diff --git a/macros/latex/contrib/jeuxcartes/README.md b/macros/latex/contrib/jeuxcartes/README.md index bcfb5270a1..ec61e08005 100644 --- a/macros/latex/contrib/jeuxcartes/README.md +++ b/macros/latex/contrib/jeuxcartes/README.md @@ -1,9 +1,10 @@ -JeuxCartes is a package with playing cards. --------------------------------------------------- -JeuxCartes est un package avec des cartes à jouer. --------------------------------------------------- -Author : Cédric Pierquet -email : cpierquet@outlook.fr -Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt -Poker cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards -Tarot cards Image's Licence : Public Domain https://freesvg.org/
\ No newline at end of file +JeuxCartes is a package with playing cards.
+--------------------------------------------------
+JeuxCartes est un package avec des cartes à jouer.
+--------------------------------------------------
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+Poker cards Image's Licence : LGPL-2.1 license, https://github.com/htdebeer/SVG-cards
+Tarot cards Image's Licence : Public Domain, https://freesvg.org/
+Uno cards Image's Licence : Public Domain, https://alexder.itch.io/uno-card-game-asset-pack
\ No newline at end of file diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf Binary files differindex 7cf0434497..13458c708b 100644 --- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf +++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex index 159fe3412f..07e617d605 100644 --- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex +++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex @@ -52,8 +52,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.2} -\def\TPdate{26 Octobre 2022} +\def\TPversion{0.1.3} +\def\TPdate{28 Octobre 2022} \usepackage[most]{tcolorbox} \usepackage[outputdir=build]{minted} @@ -102,8 +102,8 @@ \begin{tabular}{c} \lstinline!JeuxCartes!\\ \\ - Des cartes de poker ou de tarot, \\ - simples ou en \textit{mains}, \\ + Des cartes de Poker ou de Tarot ou de Uno, \\ + simples ou en \textit{mains} ou en \textit{mini}, \\ avec possibilité de tirage aléatoire. \end{tabular} \end{center} @@ -128,7 +128,7 @@ \thispagestyle{empty} -{\Large {\bfseries Résumé} : Quelques commandes pour afficher des cartes à jouer, de type Poker ou Tarot} +{\Large $\blacktriangleright$~~Quelques commandes pour afficher des cartes à jouer, de type Poker/Tarot/Uno} \medskip @@ -143,7 +143,7 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main \vspace{0.5cm} \begin{center} - \CartesJeu[Eventail,EspH=0,EspV=0.1]{7K § 8P § DT § AP § 10C § AC § 8T § 2K § VC}\hspace{0.5cm}\CartesJeu[TypeJeu=Tarot,EspH=0.85,EspV=0.2]{Exc § 1AT § CC § 8T § 2K § 5AT § 2AT § DP § 7T § 10C § 19AT § VP} + \MainCartesJeu[Eventail,EspH=0,EspV=0.1]{7K § 8P § DT § AP § 10C § AC § 8T § 2K § VC}\hspace{0.5cm}\MainCartesJeu[TypeJeu=Tarot,EspH=0.85,EspV=0.2]{Exc § 1AT § CC § 8T § 2K § 5AT § 2AT § DP § 7T § 10C § 19AT § VP} \end{center} \hfill{}\textit{Merci aux membres du groupe \faFacebook{} du \og Coin \LaTeX{} \fg{} pour leur aide et leurs idées !} @@ -181,6 +181,11 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main \vfill~ \part{Historique} + +{\small \bverb|v0.1.3|~:~~~~Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami + +{\small \bverb| |~:~~~~Amélioration de la qualité des cartes de Tarot (sans augmenter la taille) + {\small \bverb|v0.1.2|~:~~~~Modification du nom (et de la source) des images de Tarot (CC0) {\small \bverb|v0.1.1|~:~~~~Ajout de commandes pour des mini-cartes @@ -204,7 +209,8 @@ Les cartes sont des images : % \begin{itemize} \item les cartes type \textsf{Poker} sont sous licence LGPL, \copyright{}2005, de David Bellot, via \url{https://github.com/htdebeer/SVG-cards} ; - \item les cartes type \textsf{Tarot} sous licence CC0, du site \url{https://freesvg.org}. + \item les cartes type \textsf{Tarot} sous licence CC0, du site \url{https://freesvg.org} ; + \item les cartes type \textsf{Uno} (édité par Mattel\texttrademark) sous licence CC0, du site \url{https://alexder.itch.io/uno-card-game-asset-pack}. \end{itemize} \end{codeidee} @@ -278,21 +284,60 @@ Autant que faire se peut, des exemples/illustrations/remarques seront proposés Les \textsf{codes} seront présentés dans des \textsf{boîtes} \textcolor{red!75!black}{{\small \faCode} Code \LaTeX}, si possible avec la \textsf{sortie} dans la même boîte, et sinon la \textsf{sortie} sera visible dans des \textsf{boîtes} \textcolor{red!75!black}{{\small \faArrowAltCircleRight[regular]} Sortie \LaTeX}. Les \textsf{clés} ou \textsf{options} seront présentées dans des \textsf{boîtes} \textcolor{ForestGreen}{{\small \faPaperclip} Clés}. \end{codeinfo} +\subsection{Liste des commandes et jeux disponibles} + +\begin{codeinfo} +Les \textit{Jeux} disponibles sont : + +\begin{itemize} + \item \Cle{Poker}, \Cle{Tarot} et \Cle{Uno} pour l'affichage des cartes ; + \item \Cle{Poker}, \Cle{Tarot}, \Cle{Bataille}, \Cle{Rami}, \Cle{Belote} et \Cle{Uno} pour les mains aléatoires. +\end{itemize} +\end{codeinfo} + +\begin{codetex}[listing only] +%Affichage d'une seule carte (mode image pure ou mode tikz) +\AffCarteJeu[...]{...} + +%Affichage en mode côte à côte de plusieurs cartes +\AffCartesJeu[...]{...} + +%Affichage en main de plusieurs cartes (éventail possible) +\MainCartesJeu[...]{...} + +%Affichage en main de cartes aléatoires (éventail possible) +\MainCartesJeuAleatoire[...]{...} + +%affichage d'une mini-carte (mode 'inline') +\AffMiniCarteJeu[...]{...} + +%affichage d'une main de mini-cartes (mode 'inline') +\MainMiniCartesJeu[...]{...} + +%affichage d'une main de mini-cartes aléatoires (mode 'inline') +\MainMiniCartesJeuAleatoire[...]{...} +\end{codetex} + +\pagebreak + \part{Les commandes} -\section{La commande simple \og CarteJeu \fg} +\section{Les commandes simples \og AffCarteJeu \fg{} et \og AffCartesJeu \fg} \subsection{Introduction} \begin{codeinfo} -La commande \ctex{AffCarteJeu} affiche une carte, avec un système de clés/options +La commande \ctex{AffCarteJeu} affiche une carte, avec un système de clés/options. + +La commande \ctex{AffCartesJeu} affiche une liste de cartes ne mode \textit{côte à côte}, avec un système de clés/options. \end{codeinfo} \begin{codetex}[] \AffCarteJeu{VP}\AffCarteJeu{10K}\AffCarteJeu{AC}\AffCarteJeu{DosBleu}\AffCarteJeu{DT}\\ \\ \AffCarteJeu[TypeJeu=Tarot]{VP}\AffCarteJeu[TypeJeu=Tarot]{Dos} \AffCarteJeu[TypeJeu=Tarot]{Exc}\AffCarteJeu[TypeJeu=Tarot]{1AT} -\AffCarteJeu[TypeJeu=Tarot]{10K}\AffCarteJeu[TypeJeu=Tarot]{18AT} +\AffCarteJeu[TypeJeu=Tarot]{10K}\AffCarteJeu[TypeJeu=Tarot]{18AT}\\ \\ +\AffCartesJeu[TypeJeu=Uno]{P4 § PTR § Coul § 7B § 8V} \end{codetex} \subsection{Noms de cartes} @@ -320,6 +365,19 @@ est fixé suivant le modèle suivant (typiquement \texttt{<hauteur>.<couleur>} ) \item \texttt{Exc}, \texttt{1AT}, \texttt{2AT}, \ldots, \texttt{20T}, \texttt{21AT}\dotfill\Cle{Atouts} \item \texttt{Dos}\dotfill\Cle{Dos} \end{itemize} + \item cartes de Uno : + \begin{itemize} + \item \texttt{0B}, \texttt{1B}, \ldots, \texttt{8B}, \texttt{9B}\dotfill\Cle{Bleu} + \item \texttt{0R}, \texttt{1R}, \ldots, \texttt{8R}, \texttt{9R}\dotfill\Cle{Rouge} + \item \texttt{0J}, \texttt{1J}, \ldots, \texttt{8J}, \texttt{9J}\dotfill\Cle{Jaune} + \item \texttt{0V}, \texttt{1V}, \ldots, \texttt{8V}, \texttt{9V}\dotfill\Cle{Vert} + \item \texttt{P2B}, \texttt{P2R}, \texttt{P2B}, \texttt{P2J}, \texttt{P2V}\dotfill\Cle{+2} + \item \texttt{PTB}, \texttt{PTR}, \texttt{PTB}, \texttt{PTJ}, \texttt{PTV}\dotfill\Cle{PasseTour} + \item \texttt{CSB}, \texttt{CSR}, \texttt{CSB}, \texttt{CSJ}, \texttt{CSV}\dotfill\Cle{ChangeSens} + \item \texttt{P4}\dotfill\Cle{+4} + \item \texttt{Coul}\dotfill\Cle{JokerCouleur} + \item \texttt{Dos}\dotfill\Cle{Dos} + \end{itemize} \end{itemize} \end{codeinfo} @@ -327,6 +385,7 @@ est fixé suivant le modèle suivant (typiquement \texttt{<hauteur>.<couleur>} ) \begin{codetex}[listing only] \AffCarteJeu[options]{<carte>} +\AffCartesJeu[options]{<liste de cartes>} \end{codetex} \begin{codecles} @@ -334,7 +393,7 @@ Concernant les \Cle{options} : \begin{itemize} \item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, de la carte ; \hfill{}défaut \Cle{4.25} - \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker} + \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker} \item la clé \Cle{Rotation} pour une éventuelle rotation de la carte ; \hfill{}défaut \Cle{0} \item la clé \Cle{AlignementV} pour l'alignement vertical (lié à \ctex{raisebox} ou à \TikZ) ; \hfill{}défaut \Cle{0.5} \item le booléen \Cle{Tikz} pour préciser que la carte est \textit{autonome}, dans un environnement \ctex{tikzpicture} ; \hfill{}défaut \Cle{false} @@ -364,19 +423,12 @@ Il est à noter que la commande (en \textit{interne}) est liée à un \textit{so \begin{codetex}[] En mode normal, \AffCarteJeu{VP} ou \AffCarteJeu[AlignementV=0]{DosRouge} ou -\AffCarteJeu[AlignementV=1]{10K} ou \AffCarteJeu[TypeJeu=Tarot,AlignementV=0.33,Rotation=25]{10AT}. - -\smallskip - -En mode \TikZ, \AffCarteJeu[Hauteur=2.75,Tikz]{VP} -ou \AffCarteJeu[Hauteur=2.75,AlignementV=0,Tikz]{DosVert} -ou \AffCarteJeu[Hauteur=2.75,AlignementV=1,Tikz]{10K} -ou \AffCarteJeu[Hauteur=2.75,TypeJeu=Tarot,AlignementV=0.33,Rotation=-25]{10AT}. - -\smallskip - -On obtient la main \AffCarteJeu[Hauteur=2]{VP}\AffCarteJeu[Hauteur=2]{10K} -\AffCarteJeu[Hauteur=2]{AK}\AffCarteJeu[Hauteur=2]{JN}\AffCarteJeu[Hauteur=2]{7P}. +\AffCarteJeu[AlignementV=1]{10K} ou \AffCarteJeu[TypeJeu=Tarot,AlignementV=0.33,Rotation=25]{10AT}.\\ \\ +En mode \TikZ, \AffCarteJeu[Hauteur=2,Tikz]{VP} +ou \AffCarteJeu[Hauteur=2,AlignementV=0,Tikz]{DosVert} +ou \AffCarteJeu[Hauteur=2,AlignementV=1,Tikz]{10K} +ou \AffCarteJeu[Hauteur=2,TypeJeu=Tarot,AlignementV=0.33,Rotation=-25]{10AT}.\\ \\ +On obtient la main \AffCartesJeu[Hauteur=2,TypeJeu=Uno]{9B § 8R § P2J § P4 § 0J § CSR § PTJ}. \end{codetex} \section{Main de cartes} @@ -392,7 +444,7 @@ Les commandes pour créer des \textit{mains} sont obligatoirement liées à des \end{codeattention} \begin{codetex}[listing only] -\CartesJeu[options]{<liste de cartes>} +\MainCartesJeu[options]{<liste de cartes>} \end{codetex} \subsection{Clés et options} @@ -408,7 +460,7 @@ Les \Cle{options} sont les suivantes : \begin{itemize} \item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, des cartes ; \hfill{}défaut \Cle{4.25} - \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker} + \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Uno}) pour spécifier les cartes à utiliser ; \hfill{}défaut \Cle{Poker} \item la clé \Cle{EspH} correspond à coefficient d'espacement horizontal (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{1} \item la clé \Cle{EspH} correspond à coefficient d'espacement vertical (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{0} \item le booléen \Cle{Eventail} pour une présentation en éventail ; \hfill{}défaut \Cle{false} @@ -418,9 +470,9 @@ Les \Cle{options} sont les suivantes : \end{codecles} \begin{codetex}[] -\CartesJeu{7K § 8P § DT § AC} -~ou \CartesJeu[Eventail,EspH=0,EspV=0.1]{7K § 8P § DT § AC} -~ou \CartesJeu[Eventail,EspH=0.5]{7K § 8P § DT § AC} +\MainCartesJeu{7K § 8P § DT § AC} +~ou \MainCartesJeu[Eventail,EspH=0,EspV=0.1]{7K § 8P § DT § AC} +~ou \MainCartesJeu[Eventail,EspH=0.5]{7K § 8P § DT § AC} \end{codetex} \begin{codeinfo} @@ -436,23 +488,23 @@ Les exemples proposés dans cette documentation permettent de se rendre compte d \end{codeinfo} \begin{codetex}[] -\CartesJeu[TypeJeu=Tarot]% - {Exc § 1AT § CC § 8T § 2K § 5AT § 2AT § DP § 7T § 10C § 19AT § VP} +\MainCartesJeu[TypeJeu=Uno,EspH=1.75]% + {9B § P4 § P2J § 1R § 7R § PTV § 2J § 5J § 9B § PTR § 5V} \smallskip -\CartesJeu[TypeJeu=Tarot,EspH=1,EspV=-0.15,Hauteur=2.25]% +\MainCartesJeu[TypeJeu=Tarot,EspH=1,EspV=-0.15,Hauteur=2.25]% {Exc § 1AT § CC § 8T § 2K § 5AT § 2AT § DP § 7T § 10C § 19AT § VP} \smallskip -Ça c'est une belle poignée ! \CartesJeu[Eventail,Hauteur=3,TypeJeu=Tarot,EspH=0,EspV=0.1]% +Ça c'est une belle poignée ! \MainCartesJeu[Eventail,Hauteur=3,TypeJeu=Tarot,EspH=0,EspV=0.1]% {Exc § 1AT § 2AT § 3AT § 4AT § 5AT § 6AT § % 10AT § 11AT § 15AT § 16AT § 19AT § 20AT § 21AT} \smallskip -Et un chien qui en a : \CartesJeu[Eventail,Hauteur=2,TypeJeu=Tarot,EspH=0.5,EspV=0.15,Rotation=20]% +Et un chien qui en a : \MainCartesJeu[Eventail,Hauteur=2,TypeJeu=Tarot,EspH=0.5,EspV=0.15,Rotation=20]% {DK § 10AT § 16AT § VP § 1AT} \end{codetex} @@ -467,13 +519,13 @@ L'idée est ici de proposer une commande, similaire à la précédente, mais qui \end{codeidee} \begin{codetex}[listing only] -\CartesJeuAleatoire[<options>]{<nombre de cartes>} +\MainCartesJeuAleatoire[<options>]{<nombre de cartes>} \end{codetex} \begin{codetex}[] -Voilà de quoi d'obtenir une main aléatoire de Poker : +Voilà de quoi obtenir une main aléatoire de Poker : -\CartesJeuAleatoire{5} +\MainCartesJeuAleatoire{5} \end{codetex} \subsection{Clés et options} @@ -483,7 +535,7 @@ Les \Cle{options} sont les suivantes : \begin{itemize} \item la clé \Cle{Hauteur} correspond à la hauteur voulue, en cm, des cartes ; \hfill{}défaut \Cle{4.25} - \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille}) ; \hfill{}défaut \Cle{Poker} + \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille} ou \Cle{Rami} ou \Cle{Uno}) ; \hfill{}défaut \Cle{Poker} \item la clé \Cle{EspH} correspond à coefficient d'espacement horizontal (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{1} \item la clé \Cle{EspH} correspond à coefficient d'espacement vertical (\textit{proche} du cm en taille réelle) entre les cartes ; \hfill{}défaut \Cle{0} \item le booléen \Cle{Eventail} pour une présentation en éventail ; \hfill{}défaut \Cle{false} @@ -507,24 +559,22 @@ En ce qui concerne les \textit{jeux} disponibles (non modifiables) : \begin{codetex}[] \textbf{\large Belote :} \\ - -\CartesJeuAleatoire[Hauteur=2,TypeJeu=Belote]{8} ou \CartesJeuAleatoire[Hauteur=2,TypeJeu=Belote]{8}.\\ - +\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Belote]{8} ou \MainCartesJeuAleatoire[Hauteur=2,TypeJeu=Belote]{8}.\\ \textbf{\large Poker :} \\ - -\CartesJeuAleatoire[Hauteur=3,Eventail,EspH=0,EspV=0.1]{5} ou \CartesJeuAleatoire[Hauteur=3,Eventail,EspH=0,EspV=0.1]{5}.\\ - +\MainCartesJeuAleatoire[Hauteur=2.5,Eventail,EspH=0,EspV=0.1]{5} ou \MainCartesJeuAleatoire[Hauteur=2.5,Eventail,EspH=0,EspV=0.1]{5}.\\ \textbf{\large Bataille :} \\ - -\CartesJeuAleatoire[Hauteur=2.25,TypeJeu=Bataille]{27}\\ - +\MainCartesJeuAleatoire[Hauteur=2.5,TypeJeu=Bataille]{27}\\ \textbf{\large Tarot :} \\ - -\CartesJeuAleatoire[Hauteur=3.25,TypeJeu=Tarot]{10} ou~ -\CartesJeuAleatoire[Hauteur=3.25,Eventail,TypeJeu=Tarot,EspH=0,EspV=0.1]{10} +\MainCartesJeuAleatoire[Hauteur=3.25,TypeJeu=Tarot]{10} ou~ +\MainCartesJeuAleatoire[Hauteur=3.25,Eventail,TypeJeu=Tarot,EspH=0,EspV=0.1]{10}. \end{codetex} -\pagebreak +\begin{codetex}[] +\textbf{\large Rami :} \\ +\MainCartesJeuAleatoire[Hauteur=3.75,TypeJeu=Rami]{15}\\ +\textbf{\large Uno :} \\ +\MainCartesJeuAleatoire[Hauteur=4,TypeJeu=Uno,Eventail,EspH=-0.1,Rotation=15,EspV=0.1]{7} +\end{codetex} \section{\textit{Mini}-Cartes} @@ -539,13 +589,13 @@ Ces \textit{mini-}cartes sont des figures \TikZ, alignées verticalement sur leu \end{codeidee} \begin{codetex}[listing only] -\MiniCarteJeu[<options>]{<carte>} +\AffMiniCarteJeu[<options>]{<carte>} \end{codetex} \begin{codetex}[] Si on met du texte sur la ligne du dessus, on peut voir le résultat.\\ -Voilà des exemples de mini-cartes, \MiniCarteJeu{7.K}\MiniCarteJeu{1.AT}\MiniCarteJeu{V.K}\MiniCarteJeu{10.C}, intégrables dans un paragraphe.\\ -Si on met du texte sur la ligne du dessous, on peut voir le résultat. +Voilà des exemples de mini-cartes, \AffMiniCarteJeu{7.K}\AffMiniCarteJeu{1.AT}\AffMiniCarteJeu{V.K}\AffMiniCarteJeu{10.C}, intégrables dans un paragraphe.\\ +Si on met du texte sur la ligne du dessous, on peut voir le résultat.\\ \end{codetex} \subsection{Noms des \textit{mini-}cartes} @@ -561,6 +611,8 @@ Pour des raisons internes au code, les cartes doivent être saisies suivant la n \item \texttt{J.N}, \texttt{J.R}\dotfill\Cle{Joker} \item \texttt{Exc}, \texttt{1.AT}, \texttt{2.AT}, \ldots, \texttt{20.T}, \texttt{21.AT}\dotfill\Cle{Atouts} \end{itemize} + +Par contre, il n'est pas prévu de \textit{mini-}cartes pour le Uno. \end{codeinfo} \begin{codeinfo} @@ -579,9 +631,9 @@ Quelques \Cle{options} pour les \textit{mini-}cartes : \end{codecles} \begin{codetex}[] -\foreach \EECARTE in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}{\MiniCarteJeu[Largeur=0.75cm]{\EECARTE.K}}\\ -\MiniCarteJeu[FondAtout=LightSkyBlue,Largeur=0.75cm]{Exc}% -\foreach \EECARTE in {1,2,...,21}{\MiniCarteJeu[FondAtout=LightSkyBlue,Largeur=0.75cm]{\EECARTE.AT}} +\foreach \EECARTE in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}{\AffMiniCarteJeu[Largeur=0.75cm]{\EECARTE.K}}\\ +\AffMiniCarteJeu[FondAtout=LightSkyBlue,Largeur=0.75cm]{Exc}% +\foreach \EECARTE in {1,2,...,21}{\AffMiniCarteJeu[FondAtout=LightSkyBlue,Largeur=0.75cm]{\EECARTE.AT}} \end{codetex} \subsection{\textit{Mini}-Mains et \textit{mini}-mains aléatoires} @@ -591,35 +643,38 @@ Comme pour les cartes \textit{classiques}, il existe deux commandes pour des \te \end{codeidee} \begin{codetex}[listing only] -\MiniCartesJeu[<options>]{<liste de cartes>} +\MainMiniCartesJeu[<options>]{<liste de cartes>} -\MiniCartesJeuAleatoire[<options>]{<liste de cartes>} +\MainMiniCartesJeuAleatoire[<options>]{<nb cartes>} \end{codetex} \begin{codecles} Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus : \begin{itemize} - \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille}). \hfill{}défaut \Cle{Poker} + \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille} ou \Cle{Rami}). \hfill{}défaut \Cle{Poker} \end{itemize} \end{codecles} \begin{codetex}[] \textbf{\large Saisie de mains : }\\ -\MiniCartesJeu{7.K § A.P § D.T § V.K § 10.C § C.T} et~ -\MiniCartesJeu{Exc § 1.AT § C.C § 8.T § 2.K § 5.AT § 2.AT § D.P § 7.T § 10.C § 19.AT § V.P}\\ +\MainMiniCartesJeu{7.K § A.P § D.T § V.K § 10.C § C.T} et~ +\MainMiniCartesJeu{Exc § 1.AT § C.C § 8.T § 2.K § 5.AT § 2.AT § D.P § 7.T § 10.C § 19.AT § V.P}\\ \textbf{\large Poker : }\\ -\MiniCartesJeuAleatoire{5} ou \MiniCartesJeuAleatoire{5} ou \MiniCartesJeuAleatoire{5} ou \MiniCartesJeuAleatoire{5}.\\ +\MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5}.\\ \textbf{\large Belote :}\\ -\MiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MiniCartesJeuAleatoire[TypeJeu=Belote]{8}.\\ +\MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8}.\\ \textbf{\large Bataille : }\\ -\MiniCartesJeuAleatoire[TypeJeu=Bataille]{12} ou \MiniCartesJeuAleatoire[TypeJeu=Bataille]{12}.\\ +\MainMiniCartesJeuAleatoire[TypeJeu=Bataille]{12} ou \MainMiniCartesJeuAleatoire[TypeJeu=Bataille]{12}.\\ \textbf{\large Tarot : }\\ -\MiniCartesJeuAleatoire[TypeJeu=Tarot]{10} ou \MiniCartesJeuAleatoire[TypeJeu=Tarot]{10}. +\MainMiniCartesJeuAleatoire[TypeJeu=Tarot]{10} ou \MainMiniCartesJeuAleatoire[TypeJeu=Tarot]{10}.\\ + +\textbf{\large Rami : }\\ +\MainMiniCartesJeuAleatoire[TypeJeu=Rami]{15} ou \MainMiniCartesJeuAleatoire[TypeJeu=Rami]{14}. \end{codetex} \pagebreak @@ -651,33 +706,47 @@ Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus \xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{#1T}} -\AffCarteJeu[TypeJeu=Tarot,Hauteur=2]{Exc}% +\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{Exc}% \xintFor #1 in {1,2,3,4,5,6,7,8,9,10}\do{\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{#1AT}}% -\AffCarteJeu[TypeJeu=Tarot,Hauteur=2]{Dos} +\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{Dos} \xintFor #1 in {11,12,13,14,15,16,17,18,19,20,21}\do{\AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{#1AT}}% \AffCarteJeu[TypeJeu=Tarot,Hauteur=1.75]{Dos} \pagebreak +\subsection{Cartes de Uno} + +\AffCartesJeu[TypeJeu=Uno,Hauteur=2]{0B § 1B § 2B § 3B § 4B § 5B § 6B § 7B § 8B § 9B § P2B § PTB § CSB} + +\AffCartesJeu[TypeJeu=Uno,Hauteur=2]{0R § 1R § 2R § 3R § 4R § 5R § 6R § 7R § 8R § 9R § P2R § PTR § CSR} + +\AffCartesJeu[TypeJeu=Uno,Hauteur=2]{0J § 1J § 2J § 3J § 4J § 5J § 6J § 7J § 8J § 9J § P2J § PTJ § CSJ} + +\AffCartesJeu[TypeJeu=Uno,Hauteur=2]{0V § 1V § 2V § 3V § 4V § 5V § 6V § 7V § 8V § 9V § P2V § PTV § CSV} + +\AffCartesJeu[TypeJeu=Uno,Hauteur=2]{P4 § Coul § Dos} + \subsection{MiniCartes} -\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\MiniCarteJeu{#1.P}} +\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.P}} -\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\MiniCarteJeu{#1.C}} +\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.C}} -\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\MiniCarteJeu{#1.K}} +\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.K}} -\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\MiniCarteJeu{#1.T}} +\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.T}} -\MiniCarteJeu{J.N}\MiniCarteJeu{J.R} +\AffMiniCarteJeu{J.N}\AffMiniCarteJeu{J.R} \medskip -\MiniCarteJeu{Exc}% -\xintFor #1 in {1,2,3,4,5,6,7,8,9,10}\do{\MiniCarteJeu{#1.AT}} +\AffMiniCarteJeu{Exc}% +\xintFor #1 in {1,2,3,4,5,6,7,8,9,10}\do{\AffMiniCarteJeu{#1.AT}} + +\xintFor #1 in {11,12,13,14,15,16,17,18,19,20,21}\do{\AffMiniCarteJeu{#1.AT}}% -\xintFor #1 in {11,12,13,14,15,16,17,18,19,20,21}\do{\MiniCarteJeu{#1.AT}}% +\pagebreak \section{Carte simple dans un environnement \TikZ} diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png Binary files differindex 99f8286180..ba302956ad 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png Binary files differindex 2b04117df5..9264e77c42 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png Binary files differindex 12971fcaab..0450435639 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png Binary files differindex 2c853b1758..4968d1649d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png Binary files differindex a8a6bca4df..8526467433 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png Binary files differindex 9e8a68bb0d..b3b8133321 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png Binary files differindex 067a4f86ea..2838f0a478 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png Binary files differindex 6e5e238084..2193b662d9 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png Binary files differindex 2a2129b944..c1e6efb90d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png Binary files differindex dfe28537f8..2e5600fa0a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png Binary files differindex 5e6677b910..3505b53c99 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png Binary files differindex 7520988052..08d0b4fb07 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png Binary files differindex 39bb7f054a..b43d654a3a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png Binary files differindex 74b6d63a3a..2bd5350cbb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png Binary files differindex c597d451d8..b74bb13177 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png Binary files differindex c8f0e7c6e3..9360e74717 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png Binary files differindex 3f18693fdf..02561017d4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png Binary files differindex 565a8bba92..78a9ca74d1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png Binary files differindex e0b4d2b05c..97b9c47962 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png Binary files differindex a86d518c93..39c83a2d32 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png Binary files differindex 4f91a036a9..3a6b4b329e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png Binary files differindex a80c47b6dc..fc57bcf13c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png Binary files differindex cd0729efc7..5fa6cbd4cb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png Binary files differindex a06a5d69a3..21c4a45ba6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png Binary files differindex 2138f6a8d8..5f7d0adbdd 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png Binary files differindex 2869a70e19..b4ce45275c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png Binary files differindex f5b7fce1f7..517cd6d297 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png Binary files differindex 2c8b7392ef..29c7c0bfe2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png Binary files differindex 19917255c8..e3465aa897 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png Binary files differindex 21b0a5f57e..c0aed66137 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png Binary files differindex b8ba63f36e..0292f4364c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png Binary files differindex 5868cbdb0d..66c1d14703 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png Binary files differindex aedb0c4399..ce0482b6ab 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png Binary files differindex ef87bf92a2..64b85578a8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png Binary files differindex 9891e868a5..045c01969a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png Binary files differindex 35bf65c381..a7a3c0f224 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png Binary files differindex c700fe0215..79dfb5fd76 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png Binary files differindex 63b302112b..eeeae64113 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png Binary files differindex 77c57f6362..aeecd1f277 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png Binary files differindex 30f171483a..1206bdbdd3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png Binary files differindex f58346b8aa..6e1d4f2ab2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png Binary files differindex 41fd9df936..d2548554ce 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png Binary files differindex 48492d74fc..03cd40b414 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png Binary files differindex db5748f145..2f255dc627 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png Binary files differindex c308120066..7ef37eaba1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png Binary files differindex d2dc30f935..d698af1992 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png Binary files differindex ce49ddd1a1..19a998cbaf 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png Binary files differindex e8d50bf89f..6cdff476df 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png Binary files differindex 9db298531a..d31fc5c7c3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png Binary files differindex ad2d973a57..f5545b20ef 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png Binary files differindex 4a4a763faa..f342067f6b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png Binary files differindex 68c7761162..3c0c19850d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png Binary files differindex e07ae08c57..63786f8e83 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png Binary files differindex ad8d90b1cb..4e783343c0 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png Binary files differindex 300186f835..9ac4038970 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png Binary files differindex 510803578f..20a33a224d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png Binary files differindex 2c5f6b7d5b..6d1952986e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png Binary files differindex 7ef4682fb0..b7da50fc3a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png Binary files differindex 8658a7417f..657811d3ed 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png Binary files differindex d9f37790b1..fa81068f40 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png Binary files differindex a5bb6ff59e..7c8e4c8fb8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png Binary files differindex e4a74c9fa7..fb9c5c2b4c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png Binary files differindex a16a9f4c3e..f091530e3a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png Binary files differindex 539819df05..d41eaee49b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png Binary files differindex fc45c569af..319c8cedfb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png Binary files differindex 3ea415980b..a7bc94d96a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png Binary files differindex 5f520f9867..01b22f76e7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png Binary files differindex f5349b86e2..46fc995edc 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png Binary files differindex 220287bb72..9e9e390649 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png Binary files differindex 4cc36a5cf9..e4a2879a8c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png Binary files differindex 560e1f1473..aeac134872 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png Binary files differindex df94f090e4..9ff480cae2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png Binary files differindex cdc8117c37..8beccf96b6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png Binary files differindex 642d4756bc..8f08aaa8a8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png Binary files differindex 307f0efabc..0be50e9f55 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png Binary files differindex ceacfaecfb..a88eccda7d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png Binary files differindex bc5598bb00..20ae0918bc 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png Binary files differindex b2d53510f8..0f7d4cb104 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png Binary files differindex 73a743ad26..c1d2eb779a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png Binary files differnew file mode 100644 index 0000000000..05114490eb --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png Binary files differnew file mode 100644 index 0000000000..f63aa68b1a --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png Binary files differnew file mode 100644 index 0000000000..3d8f05694b --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png Binary files differnew file mode 100644 index 0000000000..bbe8dd3f76 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png Binary files differnew file mode 100644 index 0000000000..098d378a31 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png Binary files differnew file mode 100644 index 0000000000..cff7c99e76 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png Binary files differnew file mode 100644 index 0000000000..8a65ad1afe --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png Binary files differnew file mode 100644 index 0000000000..d61972f03f --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png Binary files differnew file mode 100644 index 0000000000..ebc489c405 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png Binary files differnew file mode 100644 index 0000000000..b79a3df08f --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png Binary files differnew file mode 100644 index 0000000000..03580a3a18 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png Binary files differnew file mode 100644 index 0000000000..4b27640c31 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png Binary files differnew file mode 100644 index 0000000000..55c431c5d6 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png Binary files differnew file mode 100644 index 0000000000..cc3265aa7e --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png Binary files differnew file mode 100644 index 0000000000..1349bedbc7 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png Binary files differnew file mode 100644 index 0000000000..ba94e7ac2f --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png Binary files differnew file mode 100644 index 0000000000..6097938af6 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png Binary files differnew file mode 100644 index 0000000000..fb8d19f44b --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png Binary files differnew file mode 100644 index 0000000000..fea17c7b5b --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png Binary files differnew file mode 100644 index 0000000000..b8747e1b8e --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png Binary files differnew file mode 100644 index 0000000000..ef9452d2a3 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png Binary files differnew file mode 100644 index 0000000000..5efda76b2d --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png Binary files differnew file mode 100644 index 0000000000..5d049fba70 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png Binary files differnew file mode 100644 index 0000000000..fd7ae1198b --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png Binary files differnew file mode 100644 index 0000000000..dff139e926 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png Binary files differnew file mode 100644 index 0000000000..14253e13d7 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png Binary files differnew file mode 100644 index 0000000000..be16264dba --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png Binary files differnew file mode 100644 index 0000000000..1ab72d0001 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png Binary files differnew file mode 100644 index 0000000000..2bb2077e0c --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png Binary files differnew file mode 100644 index 0000000000..d9baae1f9f --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png Binary files differnew file mode 100644 index 0000000000..697ae9b95c --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png Binary files differnew file mode 100644 index 0000000000..3df2c4822e --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png Binary files differnew file mode 100644 index 0000000000..2ad5440780 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png Binary files differnew file mode 100644 index 0000000000..9ae59a01a7 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png Binary files differnew file mode 100644 index 0000000000..fb410389ab --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png Binary files differnew file mode 100644 index 0000000000..412cb7a8f6 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png Binary files differnew file mode 100644 index 0000000000..f303c104a1 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png Binary files differnew file mode 100644 index 0000000000..db8fa3d2b9 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png Binary files differnew file mode 100644 index 0000000000..489c8aaab1 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png Binary files differnew file mode 100644 index 0000000000..1c3f7380d9 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png Binary files differnew file mode 100644 index 0000000000..c3a02a5a97 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png Binary files differnew file mode 100644 index 0000000000..541cffa530 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png Binary files differnew file mode 100644 index 0000000000..e215095337 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png Binary files differnew file mode 100644 index 0000000000..1792f42e63 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png Binary files differnew file mode 100644 index 0000000000..62451d6c4a --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png Binary files differnew file mode 100644 index 0000000000..54f6070d30 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png Binary files differnew file mode 100644 index 0000000000..730cd6a886 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png Binary files differnew file mode 100644 index 0000000000..180c597c57 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png Binary files differnew file mode 100644 index 0000000000..0a9fa5b96b --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png Binary files differnew file mode 100644 index 0000000000..dc30b311ac --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png Binary files differnew file mode 100644 index 0000000000..1077bd10dc --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png Binary files differnew file mode 100644 index 0000000000..c79f71ab6a --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png Binary files differnew file mode 100644 index 0000000000..8f71738c1d --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png diff --git a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png Binary files differnew file mode 100644 index 0000000000..6ff22574f7 --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png diff --git a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png Binary files differnew file mode 100644 index 0000000000..d5822926cd --- /dev/null +++ b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png diff --git a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty index 5dfd0b5a03..26c2741e4b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty +++ b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty @@ -1,368 +1,428 @@ -% Author : C. Pierquet -% licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -% Poker cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards -% Tarot cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{JeuxCartes}[2022/10/26 v0.1.2 Jeux de cartes] -% 0.1.2 Modification du nom (et de la source) des images de Tarot (CC0) -% 0.1.1 Ajout de commandes pour des mini-cartes -% 0.1 Version initiale - -%------Packages utiles -\RequirePackage{graphicx} -\RequirePackage[table,svgnames]{xcolor} -\RequirePackage{tikz} -\RequirePackage{pgf,pgffor} -\RequirePackage{xfp} -\RequirePackage{listofitems} -\RequirePackage{xstring} -\RequirePackage{xparse} -\RequirePackage{simplekv} -\RequirePackage{xinttools} -\RequirePackage{randomlist} -\RequirePackage{pifont} -%librairies tikz -\usetikzlibrary{calc,scopes} -%images venant de https://github.com/htdebeer/SVG-cards -%images venant de https://freesvg.org/deck-of-french-tarot-playing-cards - -%------Commande en ligne (includegraphics) via raisebox/rotatebox ou tikz -\defKV[AffCarteJeu]{% - Hauteur=\def\AffCarteJeuHauteur{#1},% - DecalageX=\def\AffCarteJeuDecalageX{#1},% - DecalageY=\def\AffCarteJeuDecalageY{#1},% - Rotation=\def\AffCarteJeuRotation{#1},% - AlignementV=\def\AffCarteJeuAlignementV{#1},% - TypeJeu=\def\AffCarteJeuType{#1} -} -\setKVdefault[AffCarteJeu]{% - Hauteur=4.25,% - Tikz=false,%pour placer la commande dans un environnement tikz ou en raisebox, - TikzAutonome=true,%pour déjà mettre l'image dans du tikz - DecalageX=0,% - DecalageY=0,% - Rotation=0,% - AlignementV=0.5,% - TypeJeu=Poker -} - -\NewDocumentCommand\AffCarteJeu{ O{} m }{%1=options,2=cartenommée - \useKVdefault[AffCarteJeu]% - \setKV[AffCarteJeu]{#1}% - %cas poker - \IfStrEq{\AffCarteJeuType}{Poker}%poker - {\def\CartePrefixe{CaJ-Poker-}}{}% - \IfStrEq{\AffCarteJeuType}{Tarot}%tarot - {\def\CartePrefixe{CaJ-Tarot-}}{}% - %transformation valign en tikz - \def\OptionTikzCBB{current bounding box.center}% - \IfStrEq{\AffCarteJeuAlignementV}{0}% - {\def\OptionTikzCBB{current bounding box.south}}{}% - \IfStrEq{\AffCarteJeuAlignementV}{1}% - {\def\OptionTikzCBB{current bounding box.north}}{}% - %affichage - \ifboolKV[AffCarteJeu]{Tikz}% - {% - \ifboolKV[AffCarteJeu]{TikzAutonome}% - {% - {\tikz[baseline=(\OptionTikzCBB)] \draw (\AffCarteJeuDecalageX,\AffCarteJeuDecalageY) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;}% - }% - {% - \begin{scope}[shift={(\AffCarteJeuDecalageX,\AffCarteJeuDecalageY)}]% - \draw (0,0) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;% - \end{scope}% - }% - }% - {% - \rotatebox[origin=c]{\AffCarteJeuRotation}{\raisebox{-\AffCarteJeuAlignementV\height}{\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}}}% - }% -} - -%------commande main cartes -\defKV[AffMainCartes]{% - Hauteur=\def\MainHauteur{#1},% - EspH=\def\MainDecalH{#1},% - EspV=\def\MainDecalV{#1},% - Rotation=\def\MainRotation{#1},% - TypeJeu=\def\MainJeuType{#1},% - AlignementV=\def\MainAlignementV{#1} -} -\setKVdefault[AffMainCartes]{% - Hauteur=4.25,% - EspH=1,% - EspV=0,% - Rotation=10,% - Eventail=false,% - TypeJeu=Poker,% - AlignementV=0.5 -} - -\NewDocumentCommand\CartesJeu{ O{} m }{%1=options,2=listecartes - \useKVdefault[AffMainCartes]% - \setKV[AffMainCartes]{#1}% - %calculs et traitement des variables - \ignoreemptyitems% - \setsepchar{§}% - \readlist*\ListeCartesMain{#2}% - \def\NbCartesMain{\ListeCartesMainlen}%nbcartes - \IfStrEq{\MainJeuType}{Poker}%poker - {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Poker-}}{}% - \IfStrEq{\MainJeuType}{Tarot}%tarot - {\def\HauteurGenerique{5.5}\def\CarteMainPrefixe{CaJ-Tarot-}}{}% - \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}% - %transformation valign en tikz - \def\OptionTikzCBB{current bounding box.center}% - \IfStrEq{\MainAlignementV}{0}% - {\def\OptionTikzCBB{current bounding box.south}}{}% - \IfStrEq{\MainAlignementV}{1}% - {\def\OptionTikzCBB{current bounding box.north}}{}% - %environnement tikzpicture - \begin{tikzpicture}[baseline=(\OptionTikzCBB)]% - \foreach \i in {1,2,...,\ListeCartesMainlen}{% - \itemtomacro\ListeCartesMain[\i]\CarteMain% - \ifboolKV[AffMainCartes]{Eventail}% - {% - \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% - \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% - \def\DecAngleMain{\fpeval{0.5*\NbCartesMain*\MainRotation}}% - \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMain}% - }% - {% - \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% - \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% - \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMain}% - }% - }%finpour - \end{tikzpicture}% -} - -%------commande main aléatoire -\defKV[AffMainAleaCartes]{% - Hauteur=\def\MainHauteur{#1},% - EspH=\def\MainDecalH{#1},% - EspV=\def\MainDecalV{#1},% - Rotation=\def\MainRotation{#1},% - TypeJeu=\def\MainJeuType{#1},% - AlignementV=\def\MainAlignementV{#1} -} -\setKVdefault[AffMainAleaCartes]{% - Hauteur=4.25,% - EspH=1,% - EspV=0,% - Rotation=10,% - Eventail=false,% - TypeJeu=Poker,% - AlignementV=0.5 -} - -\xdef\CartesJeuPoker{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK}% -\xdef\CartesJeuBelote{7P,8P,9P,10P,VP,DP,RP,AP,7T,8T,9T,10T,VT,DT,RT,AT,7C,8C,9C,10C,VC,DC,RC,AC,7K,8K,9K,10K,VK,DK,RK,AK}% -\xdef\CartesJeuBataille{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}% -\xdef\CartesJeuTarot{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,CP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,CT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,CC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,CK,DK,RK,AK,1AT,2AT,3AT,4AT,5AT,6AT,7AT,8AT,9AT,10AT,11AT,12AT,13AT,14AT,15AT,16AT,17AT,18AT,19AT,20AT,21AT,Exc}% -\NewList{CartesJeuMelange} - -\NewDocumentCommand\CartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes - \useKVdefault[AffMainAleaCartes]% - \setKV[AffMainAleaCartes]{#1}% - %calculs et traitement des variables - \IfStrEq{\MainJeuType}{Poker}%poker - {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}% - \IfStrEq{\MainJeuType}{Bataille}%bataille - {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}% - \IfStrEq{\MainJeuType}{Belote}%poker - {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}% - \IfStrEq{\MainJeuType}{Tarot}%tarot - {\def\HauteurGenerique{6.375}\def\CarteMainType{Tarot}\xdef\CarteDebutRand{\fpeval{randint(0,78-#2)}}}{}% - %échelle relative des cartes - \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}% - %transformation valign en tikz - \def\OptionTikzCBB{current bounding box.center}% - \IfStrEq{\MainAlignementV}{0}% - {\def\OptionTikzCBB{current bounding box.south}}{}% - \IfStrEq{\MainAlignementV}{1}% - {\def\OptionTikzCBB{current bounding box.north}}{}% - %melange du jeu - \ClearList{CartesJeuMelange}% - \IfStrEq{\MainJeuType}{Poker}%si c'est le poker - {% - \xintFor* ##1 in {\xintCSVtoList{\CartesJeuPoker}}% - \do{\InsertRandomItem{CartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MainJeuType}{Bataille}%si c'est la bataille - {% - \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}% - \do{\InsertRandomItem{CartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MainJeuType}{Belote}%si c'est le poker - {% - \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}% - \do{\InsertRandomItem{CartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MainJeuType}{Tarot}%si c'est le tarot - {% - \xintFor* ##1 in {\xintCSVtoList{\CartesJeuTarot}}% - \do{\InsertRandomItem{CartesJeuMelange}{##1}}% - }% - {}% - %environnement tikzpicture - \begin{tikzpicture}[baseline=(\OptionTikzCBB)]% - \foreach \i in {1,2,...,#2}{% - \GetItem{CartesJeuMelange}{\inteval{\CarteDebutRand+\i-1}}{CarteMainChoisie}% - %\itemtomacro\ListeCartesMain[\i]\CarteMain% - \ifboolKV[AffMainAleaCartes]{Eventail}% - {% - \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% - \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% - \def\DecAngleMain{\fpeval{0.5*#2*\MainRotation}}% - \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMainChoisie}% - }% - {% - \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% - \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% - \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMainChoisie}% - }% - }%finpour - \end{tikzpicture}% -} - -%------commande mini-cartes -\defKV[AffMiniCartes]{% - Largeur=\def\MiniCarteLargeur{#1}, - FondAtout=\def\MiniCarteFondAtout{#1} -} -\setKVdefault[AffMiniCartes]{% - Largeur=0.55cm,% - FondAtout=PeachPuff -} - -\NewDocumentCommand\MiniCarteJeu{ O{} m }{%1=options,2=nbcartes - \useKVdefault[AffMiniCartes]% - \setKV[AffMiniCartes]{#1}% - %découpage de l'argument - \StrCut{#2}{.}\csVal\csCplt% - %couleur de fond - \def\csFond{White}% - \def\csCoul{black}% - %le cas du 10.11...21 - \IfStrEq{\csVal}{10}{\def\csVal{\scalebox{0.5}[1]{10}}}{}% - \IfStrEq{\csVal}{11}{\def\csVal{\scalebox{0.5}[1]{11}}}{}% - \IfStrEq{\csVal}{12}{\def\csVal{\scalebox{0.5}[1]{12}}}{}% - \IfStrEq{\csVal}{13}{\def\csVal{\scalebox{0.5}[1]{13}}}{}% - \IfStrEq{\csVal}{14}{\def\csVal{\scalebox{0.5}[1]{14}}}{}% - \IfStrEq{\csVal}{15}{\def\csVal{\scalebox{0.5}[1]{15}}}{}% - \IfStrEq{\csVal}{16}{\def\csVal{\scalebox{0.5}[1]{16}}}{}% - \IfStrEq{\csVal}{17}{\def\csVal{\scalebox{0.5}[1]{17}}}{}% - \IfStrEq{\csVal}{18}{\def\csVal{\scalebox{0.5}[1]{18}}}{}% - \IfStrEq{\csVal}{19}{\def\csVal{\scalebox{0.5}[1]{19}}}{}% - \IfStrEq{\csVal}{20}{\def\csVal{\scalebox{0.5}[1]{20}}}{}% - \IfStrEq{\csVal}{21}{\def\csVal{\scalebox{0.5}[1]{21}}}{}% - %le cas du Excuse - \IfStrEq{#2}{Exc}% - {\def\csSymb{\ding{168}}\def\csCoul{blue}% - \def\csVal{\scalebox{0.33}[1]{EXC}}}{}% - %le cas du Joker - \IfStrEq{\csVal}{J}% - {\def\csSymb{\ding{166}}\def\csVal{\scalebox{0.5}[1]{JO}}}{}% - %si c'est un coeur - \IfStrEq{\csCplt}{C}% - {\def\csSymb{\ding{170}}\def\csCoul{red}}{}% - %si c'est un carreau - \IfStrEq{\csCplt}{K}% - {\def\csSymb{\ding{169}}\def\csCoul{red}}{}% - %si c'est un coeur - \IfStrEq{\csCplt}{P}% - {\def\csSymb{\ding{171}}}{}% - %si c'est un trèfle - \IfStrEq{\csCplt}{T}% - {\def\csSymb{\ding{168}}}{}% - %si c'est un atout 68 - \IfStrEq{\csCplt}{AT}% - {\def\csFond{\MiniCarteFondAtout}\def\csSymb{\ding{88}}}{}% - %si c'est un rouge - \IfStrEq{\csCplt}{R}% - {\def\csCoul{red}}{}% - %minicarte - \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=Gray,rectangle,rounded corners,inner sep=1.6pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\csVal\scalebox{0.75}[0.75]{\csSymb}};% -} - -%------commande mini-main-cartes -\defKV[AffMiniMainCartes]{% - Largeur=\def\MiniMainLargeur{#1},% - FondAtout=\def\MiniMainFondAtout{#1} -} -\setKVdefault[AffMiniMainCartes]{% - Largeur=0.55cm,% - FondAtout=PeachPuff -} - -\NewDocumentCommand\MiniCartesJeu{ O{} m }{%1=options,2=liste - \useKVdefault[AffMiniMainCartes]% - \setKV[AffMiniMainCartes]{#1}% - \ignoreemptyitems% - \setsepchar{§}% - \readlist*\MiniCartesMain{#2}% - \foreachitem\MiniCarteAffich\in\MiniCartesMain{% - \MiniCarteJeu[FondAtout=\MiniMainFondAtout,Largeur=\MiniMainLargeur]{\MiniCarteAffich}% - }% -} - -%------commande mini-main aléatoire -\defKV[MiniMainAleaCartes]{% - Largeur=\def\MiniMainAleaLargeur{#1},% - TypeJeu=\def\MiniMainAleaType{#1},% - FondAtout=\def\MiniMainAleaFondAtout{#1} -} -\setKVdefault[MiniMainAleaCartes]{% - Largeur=0.55cm,% - TypeJeu=Poker,% - FondAtout=PeachPuff -} - -\xdef\MiniCartesJeuPoker{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}% -\xdef\MiniCartesJeuBelote{7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}% -\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}% -\xdef\MiniCartesJeuTarot{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,C.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,C.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,C.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,C.K,D.K,R.K,A.K,1.AT,2.AT,3.AT,4.AT,5.AT,6.AT,7.AT,8.AT,9.AT,10.AT,11.AT,12.AT,13.AT,14.AT,15.AT,16.AT,17.AT,18.AT,19.AT,20.AT,21.AT,Exc}% -\NewList{MiniCartesJeuMelange} - -\NewDocumentCommand\MiniCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes - \useKVdefault[MiniMainAleaCartes]% - \setKV[MiniMainAleaCartes]{#1}% - %melange du jeu - \ClearList{MiniCartesJeuMelange}% - \IfStrEq{\MiniMainAleaType}{Poker}%si c'est le poker - {% - \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPoker}}% - \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MiniMainAleaType}{Bataille}%si c'est la bataille - {% - \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBataille}}% - \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MiniMainAleaType}{Belote}%si c'est le poker - {% - \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBelote}}% - \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% - }% - {}% - \IfStrEq{\MiniMainAleaType}{Tarot}%si c'est le tarot - {% - \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuTarot}}% - \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% - }% - {}% - %création de la main - \foreach \i in {1,2,...,#2}{% - \GetItem{MiniCartesJeuMelange}{\inteval{\i-1}}{MiniCarteMainChoisie}% - \MiniCarteJeu[FondAtout=\MiniMainAleaFondAtout,Largeur=\MiniMainAleaLargeur]{\MiniCarteMainChoisie}% - }%finpour -} - +% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c
+% or later, see http://www.latex-project.org/lppl.txtf
+% Poker cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards
+% Tarot cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards
+% Uno cards Image's Licence : CC1.0 https://alexder.itch.io/uno-card-game-asset-pack
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{JeuxCartes}[2022/10/28 v0.1.3 Jeux de cartes]
+% 0.1.3 Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami
+% Amélioration de la qualité des cartes de Tarot (sans augmenter la taille)
+% 0.1.2 Modification du nom (et de la source) des images de Tarot (CC0)
+% 0.1.1 Ajout de commandes pour des mini-cartes
+% 0.1 Version initiale
+
+%------Packages utiles
+\RequirePackage{graphicx}
+\RequirePackage[table,svgnames]{xcolor}
+\RequirePackage{tikz}
+\RequirePackage{pgffor}
+\RequirePackage{xfp}
+\RequirePackage{listofitems}
+\RequirePackage{xstring}
+\RequirePackage{xparse}
+\RequirePackage{simplekv}
+\RequirePackage{xinttools}
+\RequirePackage{randomlist}
+\RequirePackage{pifont}
+%librairies tikz
+\usetikzlibrary{calc,scopes}
+%images venant de https://github.com/htdebeer/SVG-cards
+%images venant de https://freesvg.org/deck-of-french-tarot-playing-cards
+%images venant de https://alexder.itch.io/uno-card-game-asset-pack
+
+%------Commande en ligne (includegraphics) via raisebox/rotatebox ou tikz
+\defKV[AffCarteJeu]{%
+ Hauteur=\def\AffCarteJeuHauteur{#1},%
+ DecalageX=\def\AffCarteJeuDecalageX{#1},%
+ DecalageY=\def\AffCarteJeuDecalageY{#1},%
+ Rotation=\def\AffCarteJeuRotation{#1},%
+ AlignementV=\def\AffCarteJeuAlignementV{#1},%
+ TypeJeu=\def\AffCarteJeuType{#1}
+}
+\setKVdefault[AffCarteJeu]{%
+ Hauteur=4.25,%
+ Tikz=false,%pour placer la commande dans un environnement tikz ou en raisebox,
+ TikzAutonome=true,%pour déjà mettre l'image dans du tikz
+ DecalageX=0,%
+ DecalageY=0,%
+ Rotation=0,%
+ AlignementV=0.5,%
+ TypeJeu=Poker
+}
+
+\NewDocumentCommand\AffCarteJeu{ O{} m }{%1=options,2=cartenommée
+ \useKVdefault[AffCarteJeu]%
+ \setKV[AffCarteJeu]{#1}%
+ %cas poker
+ \IfStrEq{\AffCarteJeuType}{Poker}%poker
+ {\def\CartePrefixe{CaJ-Poker-}}{}%
+ %cas tarot
+ \IfStrEq{\AffCarteJeuType}{Tarot}%tarot
+ {\def\CartePrefixe{CaJ-Tarot-}}{}%
+ %cas tarot
+ \IfStrEq{\AffCarteJeuType}{Uno}%tarot
+ {\def\CartePrefixe{CaJ-Uno-}}{}%
+ %transformation valign en tikz
+ \def\OptionTikzCBB{current bounding box.center}%
+ \IfStrEq{\AffCarteJeuAlignementV}{0}%
+ {\def\OptionTikzCBB{current bounding box.south}}{}%
+ \IfStrEq{\AffCarteJeuAlignementV}{1}%
+ {\def\OptionTikzCBB{current bounding box.north}}{}%
+ %affichage
+ \ifboolKV[AffCarteJeu]{Tikz}%
+ {%
+ \ifboolKV[AffCarteJeu]{TikzAutonome}%
+ {%
+ {\tikz[baseline=(\OptionTikzCBB)] \draw (\AffCarteJeuDecalageX,\AffCarteJeuDecalageY) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;}%
+ }%
+ {%
+ \begin{scope}[shift={(\AffCarteJeuDecalageX,\AffCarteJeuDecalageY)}]%
+ \draw (0,0) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;%
+ \end{scope}%
+ }%
+ }%
+ {%
+ \rotatebox[origin=c]{\AffCarteJeuRotation}{\raisebox{-\AffCarteJeuAlignementV\height}{\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}}}%
+ }%
+}
+
+%------commande main simple (cartes côte à côte)
+\defKV[AffMainSimpleCartes]{%
+ Hauteur=\def\MainSimpleHauteur{#1},%
+ TypeJeu=\def\MainSimpleJeuType{#1}
+}
+\setKVdefault[AffMainSimpleCartes]{%
+ Hauteur=4.25,%
+ TypeJeu=Poker
+}
+
+\NewDocumentCommand\AffCartesJeu{ O{} m }{%1=options,2=listecartes
+ \useKVdefault[AffMainSimpleCartes]%
+ \setKV[AffMainSimpleCartes]{#1}%
+ %calculs et traitement des variables
+ \setsepchar{§}%
+ \readlist*\ListeCartesMain{#2}%
+ \def\NbCartesMain{\ListeCartesMainlen}%nbcartes
+ %main côte à côte
+ \foreach \i in {1,2,...,\ListeCartesMainlen}{%
+ \itemtomacro\ListeCartesMain[\i]\CarteMain%
+ \AffCarteJeu[TypeJeu=\MainSimpleJeuType,Hauteur=\MainSimpleHauteur]{\CarteMain}%
+ }%
+}
+
+%------commande main cartes
+\defKV[AffMainCartes]{%
+ Hauteur=\def\MainHauteur{#1},%
+ EspH=\def\MainDecalH{#1},%
+ EspV=\def\MainDecalV{#1},%
+ Rotation=\def\MainRotation{#1},%
+ TypeJeu=\def\MainJeuType{#1},%
+ AlignementV=\def\MainAlignementV{#1}
+}
+\setKVdefault[AffMainCartes]{%
+ Hauteur=4.25,%
+ EspH=1,%
+ EspV=0,%
+ Rotation=10,%
+ Eventail=false,%
+ TypeJeu=Poker,%
+ AlignementV=0.5
+}
+
+\NewDocumentCommand\MainCartesJeu{ O{} m }{%1=options,2=listecartes
+ \useKVdefault[AffMainCartes]%
+ \setKV[AffMainCartes]{#1}%
+ %calculs et traitement des variables
+ \ignoreemptyitems%
+ \setsepchar{§}%
+ \readlist*\ListeCartesMain{#2}%
+ \def\NbCartesMain{\ListeCartesMainlen}%nbcartes
+ \IfStrEq{\MainJeuType}{Poker}%poker
+ {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Poker-}}{}%
+ \IfStrEq{\MainJeuType}{Tarot}%tarot
+ {\def\HauteurGenerique{5.5}\def\CarteMainPrefixe{CaJ-Tarot-}}{}%
+ \IfStrEq{\MainJeuType}{Uno}%uno
+ {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Uno-}}{}%
+ %echelle globale
+ \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}%
+ %transformation valign en tikz
+ \def\OptionTikzCBB{current bounding box.center}%
+ \IfStrEq{\MainAlignementV}{0}%
+ {\def\OptionTikzCBB{current bounding box.south}}{}%
+ \IfStrEq{\MainAlignementV}{1}%
+ {\def\OptionTikzCBB{current bounding box.north}}{}%
+ %environnement tikzpicture
+ \begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
+ \foreach \i in {1,2,...,\ListeCartesMainlen}{%
+ \itemtomacro\ListeCartesMain[\i]\CarteMain%
+ \ifboolKV[AffMainCartes]{Eventail}%
+ {%
+ \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
+ \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
+ \def\DecAngleMain{\fpeval{0.5*\NbCartesMain*\MainRotation}}%
+ \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMain}%
+ }%
+ {%
+ \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
+ \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
+ \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMain}%
+ }%
+ }%finpour
+ \end{tikzpicture}%
+}
+
+%------commande main aléatoire
+\defKV[AffMainAleaCartes]{%
+ Hauteur=\def\MainHauteur{#1},%
+ EspH=\def\MainDecalH{#1},%
+ EspV=\def\MainDecalV{#1},%
+ Rotation=\def\MainRotation{#1},%
+ TypeJeu=\def\MainJeuType{#1},%
+ AlignementV=\def\MainAlignementV{#1}
+}
+\setKVdefault[AffMainAleaCartes]{%
+ Hauteur=4.25,%
+ EspH=1,%
+ EspV=0,%
+ Rotation=10,%
+ Eventail=false,%
+ TypeJeu=Poker,%
+ AlignementV=0.5
+}
+
+\xdef\CartesJeuPoker{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK}%
+\xdef\CartesJeuBelote{7P,8P,9P,10P,VP,DP,RP,AP,7T,8T,9T,10T,VT,DT,RT,AT,7C,8C,9C,10C,VC,DC,RC,AC,7K,8K,9K,10K,VK,DK,RK,AK}%
+\xdef\CartesJeuBataille{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}%
+\xdef\CartesJeuRami{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR,2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}%
+\xdef\CartesJeuTarot{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,CP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,CT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,CC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,CK,DK,RK,AK,1AT,2AT,3AT,4AT,5AT,6AT,7AT,8AT,9AT,10AT,11AT,12AT,13AT,14AT,15AT,16AT,17AT,18AT,19AT,20AT,21AT,Exc}%
+\xdef\CartesJeuUno{0B,1B,1B,2B,2B,3B,3B,4B,4B,5B,5B,6B,6B,7B,7B,8B,8B,9B,9B,PTB,PTB,CSB,CSB,P2B,P2B,0V,1V,1V,2V,2V,3V,3V,4V,4V,5V,5V,6V,6V,7V,7V,8V,8V,9V,9V,PTV,PTV,CSV,CSV,P2V,P2V,0J,1J,1J,2J,2J,3J,3J,4J,4J,5J,5J,6J,6J,7J,7J,8J,8J,9J,9J,PTJ,PTJ,CSJ,CSJ,P2J,P2J,0R,1R,1R,2R,2R,3R,3R,4R,4R,5R,5R,6R,6R,7R,7R,8R,8R,9R,9R,PTR,PTR,CSR,CSR,P2R,P2R,P4,P4,P4,P4,Coul,Coul,Coul,Coul}%
+\NewList{CartesJeuMelange}
+
+\NewDocumentCommand\MainCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes
+ \useKVdefault[AffMainAleaCartes]%
+ \setKV[AffMainAleaCartes]{#1}%
+ %calculs et traitement des variables
+ \IfStrEq{\MainJeuType}{Poker}%poker
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Uno}%uno
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Uno}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Bataille}%bataille
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Belote}%poker
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Rami}%rami
+ {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
+ \IfStrEq{\MainJeuType}{Tarot}%tarot
+ {\def\HauteurGenerique{6.375}\def\CarteMainType{Tarot}\xdef\CarteDebutRand{\fpeval{randint(0,78-#2)}}}{}%
+ %échelle relative des cartes
+ \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}%
+ %transformation valign en tikz
+ \def\OptionTikzCBB{current bounding box.center}%
+ \IfStrEq{\MainAlignementV}{0}%
+ {\def\OptionTikzCBB{current bounding box.south}}{}%
+ \IfStrEq{\MainAlignementV}{1}%
+ {\def\OptionTikzCBB{current bounding box.north}}{}%
+ %melange du jeu
+ \ClearList{CartesJeuMelange}%
+ \IfStrEq{\MainJeuType}{Poker}%si c'est le poker
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuPoker}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MainJeuType}{Bataille}%si c'est la bataille
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MainJeuType}{Rami}%si c'est le rami
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuRami}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MainJeuType}{Uno}%si c'est le uno
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuUno}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MainJeuType}{Belote}%si c'est le poker
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MainJeuType}{Tarot}%si c'est le tarot
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\CartesJeuTarot}}%
+ \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
+ }%
+ {}%
+ %environnement tikzpicture
+ \begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
+ \foreach \i in {1,2,...,#2}{%
+ \GetItem{CartesJeuMelange}{\inteval{\CarteDebutRand+\i-1}}{CarteMainChoisie}%
+ %\itemtomacro\ListeCartesMain[\i]\CarteMain%
+ \ifboolKV[AffMainAleaCartes]{Eventail}%
+ {%
+ \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
+ \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
+ \def\DecAngleMain{\fpeval{0.5*#2*\MainRotation}}%
+ \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMainChoisie}%
+ }%
+ {%
+ \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
+ \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
+ \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMainChoisie}%
+ }%
+ }%finpour
+ \end{tikzpicture}%
+}
+
+%------commande mini-cartes
+\defKV[AffMiniCartes]{%
+ Largeur=\def\MiniCarteLargeur{#1},
+ FondAtout=\def\MiniCarteFondAtout{#1}
+}
+\setKVdefault[AffMiniCartes]{%
+ Largeur=0.55cm,%
+ FondAtout=PeachPuff
+}
+
+\NewDocumentCommand\AffMiniCarteJeu{ O{} m }{%1=options,2=nbcartes
+ \useKVdefault[AffMiniCartes]%
+ \setKV[AffMiniCartes]{#1}%
+ %découpage de l'argument
+ \StrCut{#2}{.}\csVal\csCplt%
+ %couleur de fond
+ \def\csFond{White}%
+ \def\csCoul{black}%
+ %le cas du 10.11...21
+ \IfStrEq{\csVal}{10}{\def\csVal{\scalebox{0.5}[1]{10}}}{}%
+ \IfStrEq{\csVal}{11}{\def\csVal{\scalebox{0.5}[1]{11}}}{}%
+ \IfStrEq{\csVal}{12}{\def\csVal{\scalebox{0.5}[1]{12}}}{}%
+ \IfStrEq{\csVal}{13}{\def\csVal{\scalebox{0.5}[1]{13}}}{}%
+ \IfStrEq{\csVal}{14}{\def\csVal{\scalebox{0.5}[1]{14}}}{}%
+ \IfStrEq{\csVal}{15}{\def\csVal{\scalebox{0.5}[1]{15}}}{}%
+ \IfStrEq{\csVal}{16}{\def\csVal{\scalebox{0.5}[1]{16}}}{}%
+ \IfStrEq{\csVal}{17}{\def\csVal{\scalebox{0.5}[1]{17}}}{}%
+ \IfStrEq{\csVal}{18}{\def\csVal{\scalebox{0.5}[1]{18}}}{}%
+ \IfStrEq{\csVal}{19}{\def\csVal{\scalebox{0.5}[1]{19}}}{}%
+ \IfStrEq{\csVal}{20}{\def\csVal{\scalebox{0.5}[1]{20}}}{}%
+ \IfStrEq{\csVal}{21}{\def\csVal{\scalebox{0.5}[1]{21}}}{}%
+ %le cas du Excuse
+ \IfStrEq{#2}{Exc}%
+ {\def\csSymb{\ding{168}}\def\csCoul{blue}%
+ \def\csVal{\scalebox{0.33}[1]{EXC}}}{}%
+ %le cas du Joker
+ \IfStrEq{\csVal}{J}%
+ {\def\csSymb{\ding{166}}\def\csVal{\scalebox{0.5}[1]{JO}}}{}%
+ %si c'est un coeur
+ \IfStrEq{\csCplt}{C}%
+ {\def\csSymb{\ding{170}}\def\csCoul{red}}{}%
+ %si c'est un carreau
+ \IfStrEq{\csCplt}{K}%
+ {\def\csSymb{\ding{169}}\def\csCoul{red}}{}%
+ %si c'est un coeur
+ \IfStrEq{\csCplt}{P}%
+ {\def\csSymb{\ding{171}}}{}%
+ %si c'est un trèfle
+ \IfStrEq{\csCplt}{T}%
+ {\def\csSymb{\ding{168}}}{}%
+ %si c'est un atout 68
+ \IfStrEq{\csCplt}{AT}%
+ {\def\csFond{\MiniCarteFondAtout}\def\csSymb{\ding{88}}}{}%
+ %si c'est un rouge
+ \IfStrEq{\csCplt}{R}%
+ {\def\csCoul{red}}{}%
+ %minicarte
+ \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=Gray,rectangle,rounded corners,inner sep=1.6pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\csVal\scalebox{0.75}[0.75]{\csSymb}};%
+}
+
+%------commande mini-main-cartes
+\defKV[AffMiniMainCartes]{%
+ Largeur=\def\MiniMainLargeur{#1},%
+ FondAtout=\def\MiniMainFondAtout{#1}
+}
+\setKVdefault[AffMiniMainCartes]{%
+ Largeur=0.55cm,%
+ FondAtout=PeachPuff
+}
+
+\NewDocumentCommand\MainMiniCartesJeu{ O{} m }{%1=options,2=liste
+ \useKVdefault[AffMiniMainCartes]%
+ \setKV[AffMiniMainCartes]{#1}%
+ \ignoreemptyitems%
+ \setsepchar{§}%
+ \readlist*\MiniCartesMain{#2}%
+ \foreachitem\MiniCarteAffich\in\MiniCartesMain{%
+ \AffMiniCarteJeu[FondAtout=\MiniMainFondAtout,Largeur=\MiniMainLargeur]{\MiniCarteAffich}%
+ }%
+}
+
+%------commande mini-main aléatoire
+\defKV[MiniMainAleaCartes]{%
+ Largeur=\def\MiniMainAleaLargeur{#1},%
+ TypeJeu=\def\MiniMainAleaType{#1},%
+ FondAtout=\def\MiniMainAleaFondAtout{#1}
+}
+\setKVdefault[MiniMainAleaCartes]{%
+ Largeur=0.55cm,%
+ TypeJeu=Poker,%
+ FondAtout=PeachPuff
+}
+
+\xdef\MiniCartesJeuPoker{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
+\xdef\MiniCartesJeuBelote{7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
+\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
+\xdef\MiniCartesJeuTarot{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,C.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,C.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,C.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,C.K,D.K,R.K,A.K,1.AT,2.AT,3.AT,4.AT,5.AT,6.AT,7.AT,8.AT,9.AT,10.AT,11.AT,12.AT,13.AT,14.AT,15.AT,16.AT,17.AT,18.AT,19.AT,20.AT,21.AT,Exc}%
+\xdef\MiniCartesJeuRami{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
+\NewList{MiniCartesJeuMelange}
+
+\NewDocumentCommand\MainMiniCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes
+ \useKVdefault[MiniMainAleaCartes]%
+ \setKV[MiniMainAleaCartes]{#1}%
+ %melange du jeu
+ \ClearList{MiniCartesJeuMelange}%
+ \IfStrEq{\MiniMainAleaType}{Poker}%si c'est le poker
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPoker}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{Bataille}%si c'est la bataille
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBataille}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{Belote}%si c'est le belote
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBelote}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{Tarot}%si c'est le tarot
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuTarot}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{Rami}%si c'est le rami
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuRami}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ %création de la main
+ \foreach \i in {1,2,...,#2}{%
+ \GetItem{MiniCartesJeuMelange}{\inteval{\i-1}}{MiniCarteMainChoisie}%
+ \AffMiniCarteJeu[FondAtout=\MiniMainAleaFondAtout,Largeur=\MiniMainAleaLargeur]{\MiniCarteMainChoisie}%
+ }%finpour
+}
+
\endinput
\ No newline at end of file diff --git a/macros/latex/contrib/pdflscape/README.md b/macros/latex/contrib/pdflscape/README.md index 89416f1b8d..bdbec6af7a 100644 --- a/macros/latex/contrib/pdflscape/README.md +++ b/macros/latex/contrib/pdflscape/README.md @@ -1,10 +1,16 @@ -# pdflscape - -pdflscape package for LaTeX +# pdflscape package for LaTeX +Version: 2022-10-28 v0.13 Package pdflscape adds PDF support to the environment landscape of package lscape by setting the PDF page attribute /Rotate. +% Copyright (C) +% 2001, 2004, 2006-2008 Heiko Oberdiek +% 2016-2022 Oberdiek Package Support Group +% https://github.com/ho-tex/pdflscape/issues + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/macros/latex/contrib/pdflscape/pdflscape.dtx b/macros/latex/contrib/pdflscape/pdflscape.dtx index d85ffb9bcd..c0d45d9f67 100644 --- a/macros/latex/contrib/pdflscape/pdflscape.dtx +++ b/macros/latex/contrib/pdflscape/pdflscape.dtx @@ -1,12 +1,12 @@ % \iffalse meta-comment % % File: pdflscape.dtx -% Version: 2019/12/05 v0.12 +% Version: 2022-10-28 v0.13 % Info: Display of landscape pages in PDF % % Copyright (C) % 2001, 2004, 2006-2008 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group +% 2016-2022 Oberdiek Package Support Group % https://github.com/ho-tex/pdflscape/issues % % This work may be distributed and/or modified under the @@ -27,7 +27,8 @@ % % This work consists of the main source file pdflscape.dtx % and the derived files -% pdflscape.sty, pdflscape.pdf, pdflscape.ins, pdflscape.drv, +% pdflscape.sty, pdflscape-nometadata, pdflscape.pdf, +% pdflscape.ins, pdflscape.drv, % % Distribution: % CTAN:macros/latex/contrib/pdflscape/pdflscape.dtx @@ -61,6 +62,7 @@ % % Installation: % TDS:tex/latex/pdflscape/pdflscape.sty +% TDS:tex/latex/pdflscape/pdflscape-nometadata.sty % TDS:doc/latex/pdflscape/pdflscape.pdf % TDS:source/latex/pdflscape/pdflscape.dtx % @@ -79,7 +81,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: pdflscape 2019/12/05 v0.12 Display of landscape pages in PDF (HO)} +\Msg{* Package: pdflscape 2022-10-28 v0.13 Display of landscape pages in PDF (HO)} \Msg{************************************************************************} \keepsilent @@ -91,11 +93,11 @@ This is a generated file. Project: pdflscape -Version: 2019/12/05 v0.12 +Version: 2022-10-28 v0.13 Copyright (C) 2001, 2004, 2006-2008 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group + 2016-2022 Oberdiek Package Support Group This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -116,7 +118,8 @@ https://github.com/ho-tex/pdflscape/issues This work consists of the main source file pdflscape.dtx and the derived files - pdflscape.sty, pdflscape.pdf, pdflscape.ins, pdflscape.drv, + pdflscape.sty, pdflscape-nometadata.sty, pdflscape.pdf, + pdflscape.ins, pdflscape.drv, \endpreamble \let\MetaPrefix\DoubleperCent @@ -125,7 +128,8 @@ and the derived files \file{pdflscape.ins}{\from{pdflscape.dtx}{install}}% \file{pdflscape.drv}{\from{pdflscape.dtx}{driver}}% \usedir{tex/latex/pdflscape}% - \file{pdflscape.sty}{\from{pdflscape.dtx}{package}}% + \file{pdflscape-nometadata.sty}{\from{pdflscape.dtx}{package}}% + \file{pdflscape.sty}{\from{pdflscape.dtx}{package-new}}% } \catcode32=13\relax% active space @@ -136,6 +140,7 @@ and the derived files \Msg{* file into a directory searched by TeX:} \Msg{*} \Msg{* pdflscape.sty} +\Msg{* pdflscape-nometadata.sty} \Msg{*} \Msg{* To produce the documentation run the file `pdflscape.drv'} \Msg{* through LaTeX.} @@ -152,7 +157,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{pdflscape.drv}% - [2019/12/05 v0.12 Display of landscape pages in PDF (HO)]% + [2022-10-28 v0.13 Display of landscape pages in PDF (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \usepackage{graphics} @@ -167,7 +172,7 @@ and the derived files % \GetFileInfo{pdflscape.drv} % % \title{The \xpackage{pdflscape} package} -% \date{2019/12/05 v0.12} +% \date{2022-10-28 v0.13} % \author{Heiko Oberdiek\thanks % {Please report any issues at \url{https://github.com/ho-tex/pdflscape/issues}}} % @@ -184,13 +189,21 @@ and the derived files % \section{Documentation} % % \subsection{Supported drivers} +% +% If the PDF management is loaded by the use of \verb+\DocumentMetadata{}+ at +% the beginning of the document, the engines and backends supported by \texttt{l3backend} +% can be used. Driver options are passed to graphics and are typically only needed if +% \LaTeX{} is used with \texttt{dvipdfmx}. +% +% Without the PDF management the following driver options can be used (many are +% simply aliases to each other): % % \begin{itemize} % \item \xoption{pdftex},\xoption{luatex} % \item \xoption{dvips}, \xoption{dvipsone}, -% \xoption{pctex32}, \xoption{pctexps} +% \xoption{pctexps} % (and other drivers that provide a non-empty \cs{Gin@PS@raw}) -% \item \xoption{dvipdfm} +% \item \xoption{dvipdfm}, \xoption{dvipdfmx}, \xoption{xetex} % \end{itemize} % % \subsection{Caveat} @@ -224,8 +237,55 @@ and the derived files % } % % \section{Implementation} +% \subsection{New version using the methods of the PDF management} +% Identification +% \begin{macrocode} +%<*package-new> +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\ProvidesExplPackage{pdflscape}{2022-10-27}{0.13} + {Display of landscape pages in PDF}% +% \end{macrocode} +% Testing if the pdfmanagement is used +% \begin{macrocode} +\@ifl@t@r\fmtversion{2022-06-01} + { + \IfDocumentMetadataTF {}{\RequirePackageWithOptions{pdflscape-nometadata}} + \IfDocumentMetadataTF {}{\endinput} + } + {\RequirePackageWithOptions{pdflscape-nometadata}} +% \end{macrocode} +% Load lscape, but don't pass the \texttt{pdftex} option +% as it would use \cs{pdfpageattr} which is incompatible with the pdf management. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}} +\ProcessOptions +\RequirePackage{lscape} +% \end{macrocode} +% this always turns in the same direction as the original code +% of pdflscape does. left and right would need +% \verb+\pdfmanagement_add:nnn{ThisPage}{Rotate}{..}+ +% on every page (e.g. in a shipout hook) and some option to control the wanted +% orientation. + +% \begin{macrocode} +\tl_new:N\g__pdflscape_saverotate_tl +\hook_gput_code:nnn {env/landscape/begin}{pdflscape} + { + \pdfmanagement_get:nnN {Page}{Rotate}\l_tmpa_tl + \tl_gset_eq:NN\g__pdflscape_saverotate_tl\l_tmpa_tl + \clearpage + \pdfmanagement_add:nnn{Page}{Rotate}{90} + } +\hook_gput_code:nnn {env/landscape/after}{pdflscape} + { + \quark_if_no_value:NTF\g__pdflscape_saverotate_tl + {\pdfmanagement_remove:nn{Page}{Rotate}} + {\pdfmanagement_add:nnx{Page}{Rotate}{\g__pdflscape_saverotate_tl}} + } +%</package-new> +% \end{macrocode} % -% \subsection{Package identification} +% \subsection{Old version without the PDF management} % % \begin{macrocode} %<*package> @@ -233,8 +293,8 @@ and the derived files % Package identification. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pdflscape}% - [2019/12/05 v0.12 Display of landscape pages in PDF (HO)] +\ProvidesPackage{pdflscape-nometadata}% + [2022-10-28 v0.13 Display of landscape pages in PDF (HO)] % \end{macrocode} % % \subsection{Driver options} @@ -452,19 +512,18 @@ and the derived files % \begin{macrocode} \def\PLS@temp{dvips} \ifx\PLS@temp\PLS@driver - \RequirePackage{atbegshi}% - \AtBeginShipout{\PLS@AtBeginShipout}% + \AddToHook{shipout/before}{\PLS@AtBeginShipout}% \let\PLS@AtBeginShipout\@empty \def\PLS@AddRotate#1{% \ifnum#1=0 % \else \def\PLS@AtBeginShipout{% - \global\setbox\AtBeginShipoutBox\vbox{% + \global\setbox\ShipoutBox\vbox{% \Gin@PS@raw{% [{ThisPage}\string<\string</Rotate #1\string>\string>% /PUT pdfmark% }% - \box\AtBeginShipoutBox + \box\ShipoutBox }% }% \fi @@ -478,16 +537,15 @@ and the derived files % \begin{macrocode} \def\PLS@temp{dvipdfm} \ifx\PLS@temp\PLS@driver - \RequirePackage{atbegshi}% - \AtBeginShipout{\PLS@AtBeginShipout}% + \AddToHook{shipout/before}{\PLS@AtBeginShipout}% \let\PLS@AtBeginShipout\@empty \def\PLS@AddRotate#1{% \ifnum#1=0 % \else \def\PLS@AtBeginShipout{% - \global\setbox\AtBeginShipoutBox\vbox{% + \global\setbox\ShipoutBox\vbox{% \special{pdf: put @thispage <</Rotate #1>>}% - \box\AtBeginShipoutBox + \box\ShipoutBox }% }% \fi @@ -584,26 +642,6 @@ and the derived files % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `pdflscape' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/pdflscape.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{pdflscape.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip pdflscape.tds.zip -d ~/texmf| -% \end{quote} -% % \subsection{Package installation} % % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting @@ -620,6 +658,7 @@ and the derived files % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} % pdflscape.sty & tex/latex/pdflscape/pdflscape.sty\\ +% pdflscape-nometadata.sty & tex/latex/pdflscape/pdflscape-nometadata.sty\\ % pdflscape.pdf & doc/latex/pdflscape/pdflscape.pdf\\ % pdflscape.dtx & source/latex/pdflscape/pdflscape.dtx\\ % \end{tabular}^^A @@ -798,6 +837,10 @@ and the derived files % Documentation updates. % \item \xpackage{iftex} package. % \end{Version} +% \begin{Version}{2022-10-28 v0.13} +% \item Made the package compatible with the PDF management. +% \item Removed the dependency to atbegshi. +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/pdflscape/pdflscape.pdf b/macros/latex/contrib/pdflscape/pdflscape.pdf Binary files differindex b94089a91e..ee0637ae40 100644 --- a/macros/latex/contrib/pdflscape/pdflscape.pdf +++ b/macros/latex/contrib/pdflscape/pdflscape.pdf diff --git a/macros/latex/contrib/transparent/README.md b/macros/latex/contrib/transparent/README.md index d45c0c1668..79df6a6bd8 100644 --- a/macros/latex/contrib/transparent/README.md +++ b/macros/latex/contrib/transparent/README.md @@ -1,8 +1,21 @@ -# transparent +# transparent package for LaTeX -transparent package for LaTeX +Version: 2022-10-27 v1.5 -Since version 1.40 pdfTeX supports several color stacks. This +pdfTeX and luatex supports several color stacks. This package shows, how a separate color stack can be used for transparency, -a property besides color. +a property besides color, that works across page breaks. + +If the PDF management is used it can also be used with other engines +but without support for page breaks. + +% Copyright (C) +% 2007 Heiko Oberdiek +% 2016-2022 Oberdiek Package Support Group +% https://github.com/ho-tex/transparent/issues + + +## License +LATEX Project Public License, version 1.3c or later. + diff --git a/macros/latex/contrib/transparent/transparent.dtx b/macros/latex/contrib/transparent/transparent.dtx index 1cfec67cf9..786ae2127a 100644 --- a/macros/latex/contrib/transparent/transparent.dtx +++ b/macros/latex/contrib/transparent/transparent.dtx @@ -1,12 +1,12 @@ % \iffalse meta-comment % % File: transparent.dtx -% Version: 2019/11/29 v1.4 +% Version: 2022-10-27 v1.5 % Info: Transparency via pdfTeX's color stack % % Copyright (C) % 2007 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group 2018 +% 2016-2022 Oberdiek Package Support Group 2018 % https://github.com/ho-tex/transparent/issues % % This work may be distributed and/or modified under the @@ -27,8 +27,8 @@ % % This work consists of the main source file transparent.dtx % and the derived files -% transparent.sty, transparent.pdf, transparent.ins, transparent.drv, -% transparent-example.tex. +% transparent.sty, transparent-nometadata.sty, transparent.pdf, +% transparent.ins, transparent.drv, transparent-example.tex. % % Distribution: % CTAN:macros/latex/contrib/transparent/transparent.dtx @@ -62,6 +62,7 @@ % % Installation: % TDS:tex/latex/transparent/transparent.sty +% TDS:tex/latex/transparent/transparent-nometadata.sty % TDS:doc/latex/transparent/transparent.pdf % TDS:source/latex/transparent/transparent.dtx % @@ -80,7 +81,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: transparent 2019/11/29 v1.4 Transparency via pdfTeX's color stack (HO)} +\Msg{* Package: transparent 2022-10-27 v1.5 Transparency via pdfTeX's color stack (HO)} \Msg{************************************************************************} \keepsilent @@ -92,11 +93,11 @@ This is a generated file. Project: transparent -Version: 2019/11/29 v1.4 +Version: 2022-10-27 v1.5 Copyright (C) 2007 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group + 2016-2022 Oberdiek Package Support Group This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -117,8 +118,8 @@ https://github.com/ho-tex/transparent/issues This work consists of the main source file transparent.dtx and the derived files - transparent.sty, transparent.pdf, transparent.ins, transparent.drv, - transparent-example.tex. + transparent.sty, transparent-nometadata.sty, transparent.pdf, + transparent.ins, transparent.drv, transparent-example.tex. \endpreamble \let\MetaPrefix\DoubleperCent @@ -127,13 +128,10 @@ and the derived files \file{transparent.ins}{\from{transparent.dtx}{install}}% \file{transparent.drv}{\from{transparent.dtx}{driver}}% \usedir{tex/latex/transparent}% - \file{transparent.sty}{\from{transparent.dtx}{package}}% + \file{transparent-nometadata.sty}{\from{transparent.dtx}{package}}% + \file{transparent.sty}{\from{transparent.dtx}{package-new}}% \usedir{doc/latex/transparent}% \file{transparent-example.tex}{\from{transparent.dtx}{example}}% - \nopreamble - \nopostamble -% \usedir{source/latex/transparent/catalogue}% -% \file{transparent.xml}{\from{transparent.dtx}{catalogue}}% } \catcode32=13\relax% active space @@ -144,6 +142,7 @@ and the derived files \Msg{* file into a directory searched by TeX:} \Msg{*} \Msg{* transparent.sty} +\Msg{* transparent-nometadata.sty} \Msg{*} \Msg{* To produce the documentation run the file `transparent.drv'} \Msg{* through LaTeX.} @@ -160,7 +159,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{transparent.drv}% - [2019/11/29 v1.4 Transparency via pdfTeX's color stack (HO)]% + [2022-10-27 v1.5 Transparency via pdfTeX's color stack (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \begin{document} @@ -170,35 +169,20 @@ and the derived files % \fi % % -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} % % \GetFileInfo{transparent.drv} % % \title{The \xpackage{transparent} package} -% \date{2019/11/29 v1.4} +% \date{2022-10-27 v1.5} % \author{Heiko Oberdiek\thanks % {Please report any issues at \url{https://github.com/ho-tex/transparent/issues}}} % % \maketitle % % \begin{abstract} -% Since version 1.40 \pdfTeX\ supports several color stacks. This +% \pdfTeX\ and lua\TeX{} supports several color stacks. This % package shows, how a separate color stack can be used for transparency, -% a property besides color. +% a property besides color, that also works across page break. % \end{abstract} % % \tableofcontents @@ -207,12 +191,23 @@ and the derived files % % The package \xpackage{transparent} defines \cs{transparent} and % \cs{texttransparent}. They are used like \cs{color} and \cs{textcolor}. -% The first argument is the transparency value between 0 and 1. -% -% Because of the poor interface for page resources, there can be problems -% with packages that also use \cs{pdfpageresources}. -% -% Example for usage: +% The first argument is the transparency value between 0 and 1 where 0 +% is fully transparent and 1 is opaque. +% +% \section{Engine support} +% If the PDF management is loaded by using \verb+\DocumentMetadata{}+ at the beginning +% of the document the package makes use of \texttt{l3opacity} and +% can be used with all engines supported by \texttt{l3backend}. +% But only with \pdfTeX\ and lua\TeX{} the transparency will also work across page break. +% +% +% Without the PDF management, the package works only with \pdfTeX\ and lua\TeX{}. +% It then uses the original code by Heiko Oberdiek. It then uses the +% primitive \cs{pdfpageresources} and can clash with other packages that also use +% \cs{pdfpageresources}. +% +% +% \section{Example for usage} % \begin{macrocode} %<*example> \documentclass[12pt]{article} @@ -241,14 +236,47 @@ Hello World % } % % \section{Implementation} -% -% \subsection{Identification} -% +% \subsection{New version using the methods of the PDF management} +% Identification +% \begin{macrocode} +%<*package-new> +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\ProvidesExplPackage{transparent}{2022-10-27}{1.5} + {Transparency with color stacks}% +% \end{macrocode} +% Testing if the pdfmanagement is used +% \begin{macrocode} +\@ifl@t@r\fmtversion{2022-06-01} + { + \IfDocumentMetadataTF {}{\RequirePackage{transparent-nometadata}} + \IfDocumentMetadataTF {}{\endinput} + } + {\RequirePackage{transparent-nometadata}} +% \end{macrocode} +% \begin{macrocode} +\RequirePackage{l3opacity} + +\NewDocumentCommand{\transparent} { m } + { + \opacity_select:n{\fp_eval:n{ min(max(0,#1),1) } } + } + +\NewDocumentCommand{\texttransparent}{m m} + { + \mode_leave_vertical: + \group_begin: + \transparent{#1} + #2 + \group_end: + } +%</package-new> +% \end{macrocode} +% \subsection{Old version without the PDF management} % \begin{macrocode} %<*package> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{transparent}% - [2019/11/29 v1.4 Transparency via pdfTeX's color stack (HO)]% +\ProvidesPackage{transparent-nometadata}% + [2022-10-27 v1.5 Transparency via pdfTeX's color stack (HO)]% % \end{macrocode} % % \subsection{Initial checks} @@ -432,25 +460,6 @@ Hello World % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `transparent' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/transparent.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{transparent.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip transparent.tds.zip -d ~/texmf| -% \end{quote} % % \subsection{Package installation} % @@ -468,6 +477,7 @@ Hello World % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} % transparent.sty & tex/latex/transparent/transparent.sty\\ +% transparent-nometadata.sty & tex/latex/transparent/transparent-nometadata.sty\\ % transparent.pdf & doc/latex/transparent/transparent.pdf\\ % transparent-example.tex & doc/latex/transparent/transparent-example.tex\\ % transparent.dtx & source/latex/transparent/transparent.dtx\\ @@ -603,6 +613,9 @@ Hello World % \item % Use \xpackage{iftex} package. % \end{Version} +% \begin{Version}{2022-10-27 v1.5} +% \item Made the package compatible with the PDF management. +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/transparent/transparent.pdf b/macros/latex/contrib/transparent/transparent.pdf Binary files differindex 3eec17c736..bc7e6db6ed 100644 --- a/macros/latex/contrib/transparent/transparent.pdf +++ b/macros/latex/contrib/transparent/transparent.pdf |