Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 2

07 Déc '19, 21:13

touhami's gravatar image

touhami
9.9k410

Voici une idée. Après une petite réflexion, il me semble que c'est plus pratique avec des arguments donc la commande à utiliser comme suit `\mttablemultiplicationmodulo[rayon]{unite}{nombremax}` avec `rayon` est `2cm` par défaut. \documentclass[a4paper,french]{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage[margin=2.5cm]{geometry} \usepackage{tikz} \newcommand{\mttablemultiplicationmodulo}[3][2cm]{% \begin{tikzpicture}[rotate=90] \draw (0,0) circle (#1); \foreach \i in {0,...,\numexpr#3-1} { \fill[green!40!black] (\i*36/#3*10:#1) circle (.4mm); \draw ({(\i+1)*36/#3*10}:#1)--({(mod(\i*#2,#3)+1)*36/#3*10}:#1);} \end{tikzpicture}} \begin{document} \section{Multiplication par 2} \mttablemultiplicationmodulo{2}{10} \mttablemultiplicationmodulo{2}{60} \mttablemultiplicationmodulo{2}{100} \section{Multiplication par 3} \mttablemultiplicationmodulo{3}{10} \mttablemultiplicationmodulo{3}{60} \mttablemultiplicationmodulo{3}{100} \section{Multiplication par 6} \mttablemultiplicationmodulo{6}{10} \mttablemultiplicationmodulo{6}{60} \mttablemultiplicationmodulo{6}{100} \end{document} **Réponse originale.** On a définie trois macros. * `\mtcircle` pour sauvegarder la valeur du rayon du cercle. * `\mtunite` le nombre dont on veut représenter la table de multiplication * `\mtpoints` le nombre des points a mettre sur le cercle, (hauteur de la table) el la macro `\mttablemultiplicationmodulo` qui fait le tikz. \documentclass[a4paper,french]{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage[margin=2.5cm]{geometry} \usepackage{tikz} \newcommand{\mtcircle}{2cm} \newcommand{\mttablemultiplicationmodulo}{% \begin{tikzpicture}[rotate=90] \draw (0,0) circle (\mtcircle); \foreach \i in {0,...,\numexpr\mtpoints-1} { \fill[green!40!black] (\i*36/\mtpoints*10:\mtcircle) circle (.4mm); \draw ({(\i+1)*36/\mtpoints*10}:\mtcircle)--({(mod(\i*\mtunite,\mtpoints)+1)*36/\mtpoints*10}:\mtcircle);} \end{tikzpicture}} \begin{document} \section{Multiplication par 2} \newcommand{\mtunite}{2} \newcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \section{Multiplication par 3} \renewcommand{\mtunite}{3} \renewcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \section{Multiplication par 6} \renewcommand{\mtunite}{6} \renewcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \end{document}
cliquez ici pour masquer/afficher la révision 1

07 Déc '19, 20:57

touhami's gravatar image

touhami
9.9k410

Voici une idée. On a définie trois macros. * `\mtcircle` pour sauvegarder la valeur du rayon du cercle. * `\mtunite` le nombre dont on veut représenter la table de multiplication * `\mtpoints` le nombre des points a mettre sur le cercle, (hauteur de la table) el la macro `\mttablemultiplicationmodulo` qui fait le tikz. \documentclass[a4paper,french]{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage[margin=2.5cm]{geometry} \usepackage{tikz} \newcommand{\mtcircle}{2cm} \newcommand{\mttablemultiplicationmodulo}{% \begin{tikzpicture}[rotate=90] \draw (0,0) circle (\mtcircle); \foreach \i in {0,...,\numexpr\mtpoints-1} { \fill[green!40!black] (\i*36/\mtpoints*10:\mtcircle) circle (.4mm); \draw ({(\i+1)*36/\mtpoints*10}:\mtcircle)--({(mod(\i*\mtunite,\mtpoints)+1)*36/\mtpoints*10}:\mtcircle);} \end{tikzpicture}} \begin{document} \section{Multiplication par 2} \newcommand{\mtunite}{2} \newcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \section{Multiplication par 3} \renewcommand{\mtunite}{3} \renewcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \section{Multiplication par 6} \renewcommand{\mtunite}{6} \renewcommand{\mtpoints}{10} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{60} \mttablemultiplicationmodulo \renewcommand{\mtpoints}{100} \mttablemultiplicationmodulo \end{document}