Avec le package xlop, je peux obtenir toutes les opérations avec deux nombres et présenter des documents niveau CE1 très facilement, ce qui m'est bien utile en ces temps de confinement. Malheureusement, les élèves de CE1 font des additions avec trois nombres et apprennent à les présenter en colonne, présentation que je ne peux pas obtenir avec xlop. J'ai essayé une solution pour contourner cette limite en utilisant le package spreadtab, un peu un marteau pilon pour écraser une mouche. Le résultat obtenu ne me convient pas vraiment, le signe + de l'addition se trouvant trop éloigné du nombre à ajouter. Le code que j'utilise, retrouvé sur Internet est ci-dessous :

Ouvrir dans l'éditeur Overleaf
{\begin{spreadtab}{{tabular}{@{}lr@{}}}
   & 1202  \\
@+ & 98  \\
@+ & 671  \\
\hline
@= & b1+b2+b3
\end{spreadtab}}

Je souhaite, si la solution spreadtab reste la réponse, créer une commande avec trois paramètres du genre \addcol{b1}{b2}{b3}, mais je ne vois pas comment écrire une telle commande avec un \begin{} et un \end{}. Pierre Je ne comprends pas comment mettre le code Latex en forme correctement entre des balises avec CTrL+K, l'explication de l'icône est un mystère.

Voici un ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[french]{babel}
\DecimalMathComma
\usepackage{mathrsfs,amssymb,mathtools}

\usepackage{spreadtab}
\usepackage{xlop}

\begin{document}

{\begin{spreadtab}{{tabular}{@{}lr@{}}}
   & 1202  \\
@+ & 98  \\
@+ & 671  \\
\hline
@= & b1+b2+b3
\end{spreadtab}}

\opadd[style=display]{1202}{671}

\noindent\textbf{Remarque} : L'espace entre les chiffres facilite grandement la lecture, pas vraiment facile à obtenir.

\end{document}

Posée 22 Mar '20, 15:43

pzorba75's gravatar image

pzorba75
15741522
Taux d'acceptation : 18%

Modifiée 24 Mar '20, 13:34

Pathe's gravatar image

Pathe ♦♦
7.4k29197245

1

Merci d'essayer de fournir un ECM et pas seulement un extrait de code.

(22 Mar '20, 15:47) denis ♦♦ denis's gravatar image

Ça peut être l'occasion de soumettre une demande de fonctionnalité @jean-come (Jean-Côme Charpentier), l'auteur de xlop : en ces temps de confinement, il aura peut-être le loisir d'y travailler :)

(22 Mar '20, 15:50) denis ♦♦ denis's gravatar image
1

Attention ! Les contre-obliques (\) saisies telles quelles dans les contributions ne sont visibles que si elles sont insérées en tant que ⟨code⟩. Pour insérer du ⟨code⟩, notamment des commandes LaTeX, cf. la FAQ Comment mettre en forme ma contribution ?. Merci de corriger votre contribution si cela n'a pas déjà été fait.

(22 Mar '20, 15:51) denis ♦♦ denis's gravatar image

J'ai déjà vu des demandes similaires, un peu anciennes et restées sans réponse. Ce que je comprends vu les possibilités étendues de xlop.

(22 Mar '20, 15:59) pzorba75 pzorba75's gravatar image

Je ne comprends pas comment mettre le code Latex en forme correctement entre des balises avec CTRL+K, l'explication de l'icône est un mystère.

Par exemple, pour mettre en forme au sein d'un paragraphe l'extrait de code \addcol{b1}{b2}{b3}, il suffit de l'entourer de « back quotes » : `\addcol{b1}{b2}{b3}`. Pour ce faire, il suffit, dans les questions et réponses (ça ne fonctionne pas dans les commentaires), de sélectionner l'extrait de code en question puis de saisir le raccourci clavier Ctrl+k.

(22 Mar '20, 16:19) denis ♦♦ denis's gravatar image

L'extension spreadtab (un simple tableur LaTeX) pourrait aussi faire l'affaire.

(22 Mar '20, 16:28) joseph-tux joseph-tux's gravatar image

Voir l'ECM que j'ai posté entre temps et les remarques sur le résultat de spreadtab.

(22 Mar '20, 16:44) pzorba75 pzorba75's gravatar image
2

Pour positionner les signe d'addition et l'égalité vous pouvez, par exemple, taper {{tabular}{@{}l@{\hskip30pt}r@{}}}.

Pour créer une commande à la xlop ce n'est pas facile, mais ce n'est pas impossible.

Enfin, savez vous que spreadtab ne sait pas gérer automatiquement les retenues?

(22 Mar '20, 19:08) touhami touhami's gravatar image

@denis Le commentaire que j'ai posté n'était pas visible pour un moment. C'est OK maintenant.

(22 Mar '20, 22:17) touhami touhami's gravatar image
Affichage de 5 parmi 9 Afficher 4 commentaire(s) en plus

Voici une solution avec spreadtab. Une commande \mtopadd est définie, qui peut être utiliser sous deux formes, étoilée ou non.

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper,french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{spreadtab}

\newwrite\mtaddition
\newif\ifmtopaddstar
\makeatletter 
\newcommand*{\mtopadd}{\@ifstar{\mtopaddstartrue\MTopadd}{\mtopaddstarfalse\MTopadd}}
\newcommand*{\MTopadd}[3]{%
    \immediate\openout\mtaddition=\jobname.spad
    \immediate\write\mtaddition{%
    \string\begin{spreadtab}{{tabular}{@{}l@{\hskip2pt}r@{}}}
       & #1  \string\\
    @+ & #2  \string\\
    @+ & #3  \string\\
    \string\hline
    @= & \ifmtopaddstar\let\string\mtspnum\string\mttspnum\fi:={b1+b2+b3}
    \string\end{spreadtab}}
    \immediate\closeout\mtaddition
    \input{\jobname.spad}}
\makeatother

\newcommand*\mtspnum[1]{\MTspnum#1\relax}
\newcommand*\MTspnum[1]{\ifx\relax#1\unskip\else#1\space\expandafter\MTspnum\fi}
\newcommand*\mttspnum[1]{\MTTspnum#1\relax}
\newcommand*\MTTspnum[1]{\ifx\relax#1\unskip\else--\space\expandafter\MTTspnum\fi}
\renewcommand\STprintnum[1]{\mtspnum{#1}}

\begin{document}

\mtopadd*{1202}{98}{672}
\mtopadd{1202}{98}{672}

\end{document}

alt text

Lien permanent

Publiée 24 Mar '20, 09:30

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Bonjour, je ne suis pas du niveau de nôtre JCC national, mais son package xlop fournit quelques subtilités :)

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt]{article}
%\usepackage{pst-all}
\usepackage{xcolor}
\usepackage{xlop}

\pagestyle{empty}

\newcommand\trou[2]{#1}

\begin{document}
%\psset{xunit=\opcolumnwidth,yunit=\oplineheight}%
%\psgrid[subgriddiv=1,gridlabels=7pt,griddots=5](0,8)(10,-2)
\oplput(2.5,4){\color{green}\tiny1}
\oplput(1.25,3){\color{red} 2}
\oplput(2.25,3){\color{red} 1}
\oplput(3.25,3){\color{red} 4}
\oplput(0,2){\color{blue} $+$}
\opadd[decimalsepsymbol={,},voperator=bottom,resultstyle.1=\trou{1},resultstyle.2=\trou{9},resultstyle.3=\trou{3}]{153}{24}
\end{document}

On peut l'automatiser avec un peu d'aléatoire :)

Multiples additions

Lien permanent

Publiée 23 Mar '20, 13:05

christophe-poulain's gravatar image

christophe-poulain
8661527
Taux d'acceptation : 37%

Modifiée 23 Mar '20, 18:40

Astucieux, mais pas vraiment lisible si l'on fait des feuilles de calculs à la chaîne avec des copier-coller qu'il faut rectifier caractère par caractère.

(23 Mar '20, 16:15) pzorba75 pzorba75's gravatar image

Un simple tabular peut faire de belles choses. J'en ai composé un grâce au tableur embarqué dans Emacs. Examinez le code source LaTeX ici.

Voici le rendu

link text

edit : J'ai amélioré sensiblement mon fichier source : maintenant, seuls les nombres à additionner sont à saisir dans la colonne de gauche du tableur en orgmode (Données modifiables). lien vers le fichier amélioré Vous pouvez maintenant ajouter autant de lignes et de colonnes que vous voudrez, la composition du tabular se fait automatiquement. La seule chose à assumer est qu'il y ait assez de colonnes pour contenir tous les chiffres des opérandes. La composition du tabular n'est évidemment pas obligatoirement à faire par Emacs, vous pouvez bien sûr la faire « à la main »

Pour faire plaisir à Denis, je poste le code du tabular qui n'a absolument rien de génial et qui est composé par une procédure automatique. On peut aussi bien le composer « à la main ».

Ouvrir dans l'éditeur Overleaf
 \newcommand{\Fmt}[1]{\color{red}\tiny #1} 
 % BEGIN RECEIVE ORGTBL Addition
 \begin{tabular}{@{}c@{\,}c@{}c@{}c@{\,}c@{}c@{}c}
    &  & \Fmt{2} & \Fmt{2} & \Fmt{1} & \Fmt{1} & \\
    &  &  & 8 & 7 & 6 & 9\\
  + &  & 2 & 9 & 5 & 0 & 4\\
  + &  &  & 8 & 9 & 7 & 3\\
  \hline
    & 0 & 4 & 7 & 2 & 4 & 6\\
 \end{tabular}
Lien permanent

Publiée 24 Mar '20, 12:26

Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image

Jean-jacques Rétorré
55615
Taux d'acceptation : 44%

Modifiée 26 Mar '20, 00:07

1

Nota : c’est du LaTeX farci au org-mode et cela ne fonctionne qu’avec emacs.

org-mode est un outil merveilleux pour créer des tableaux.

(24 Mar '20, 13:38) Pathe ♦♦ Pathe's gravatar image

@pathe Je trouve que LaTeX « pur » n'est pas à la portée du latexien moyen pour effectuer des calculs : il vaut mieux utiliser un outil adequat. Avec ses mode Calc et Org Mode, Emacs fournit un calculateur (symbolique) et un tableur (également capable de calculs symboliques) intégré.

(24 Mar '20, 16:56) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image
1

@Jean-jacques Rétorré Pourquoi ne pas insérer le code source directement dans la réponse, plutôt que de renvoyer à un site tiers ?

(25 Mar '20, 16:55) denis ♦♦ denis's gravatar image

@denis Je n'aime pas l'éditeur de ce site. Je trouve très fastidieuse la mise en forme d'un document source. Avec l'extension ix (un pastebin) Emacs me crée instantanément un lien qui est prêt à être coller n'importe où. Je suis habitué à éditer tous mes documents en mode texte, et avoir à manipuler une souris me hérisse un peu le poil.

(25 Mar '20, 17:38) Jean-jacques Rétorré Jean-jacques%20R%C3%A9torr%C3%A9's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.