Re: [Syracuse] Retournement de correction d'exercices

Auteur: <christophe.poulain@melusine.eu.org>
Date: mar mai 23 2006 - 20:49:14 CEST

On Tue, 23 May 2006 20:38:13 +0200
Jean-Côme Charpentier <Jean-Come.Charpentier@wanadoo.fr> wrote:

> christophe.poulain@melusine.eu.org a écrit :
> > Bonsoir,
> >
> > je pense que Jean-Côme a la solution (ou d'autres) :)
>
> Sans doute pas que moi :-)

Pour le moment si. Et puis j'aime bien tes explications :)

>
> > \documentclass{article}
> > \usepackage[latin1]{inputenc}
> > \usepackage[T1]{fontenc}
> > \usepackage[frenchb]{babel}
> > \usepackage{graphicx}
> >
> > \newenvironment{Solu}{\rotatebox{180}{\begin{minipage}{\linewidth}}{\end{minipage}}}
> >
> > \begin{document}
> > \exo toto
> > \begin{Solu}
> > tata
> > \end{Solu}
> > \end{document}
> >
> > ne marche bien évidemment pas.
> > Comment faire pour obtenir l'effet désiré ?
>
> Bon d'abord, cela ne peut effectivement pas fonctionner parce que
> dans un environnement, les commandes indiquées dans la première partie
> de la définition doivent pouvoir être exécutées immédiatement. Ici, le
> \rotatebox ne peut pas être exécutée puisque le contenu de la boîte
> n'est pas encore connu.

Oui, j'avais bien cerné le problème :) mais je n'avais pas de solution.

> Finalement, cela devient assez logique alors. La commande \rotatebox
> doit être exécutée une fois que le contenu complet est connu donc
> obligatoirement dans la deuxième partie de l'environnement. Le corps de
> l'environnement doit être placé dans une boîte (nommée) pour pouvoir
> être utilisée ultérieurement. Reste un dernier problème : comment un
> environnement peut-il mettre en boîte son propre corps. La solution est
> d'utiliser l'environnement \begin{lrbox}{nom-boite} ... \end{lrbox}.

OK, je m'endormirais moins bête ce soir.

> Maintenant, il y a un autre problème sur ta façon de faire. Tu
> imposes une largeur \linewidth à ta boîte. Pas de problème ) priori mais
> dans ce cas, la solution doit obligatoirement être composée sous forme
> d'un paragraphe sans retrait (sinon, tout va foutre le camp dans la
> marge, tu ne verra rien (ou pas tout) et TeX va gueuler à propos
> d'Overfull \hbox.
> Autre problème, le \rotatebox, comme son nom l'indique, fait une
> rotation. Ici, la rotation de 180 degré va inverser le haut et le bas,
> ce qui, je pense, était voulu, mais aussi la droite et la gauche, ce qui
> me semble plus bizarre et moins courant. Je pense qu'une solution à base
> de \scalebox{1}[-1]{boîte} est plus courante pour ce genre de
> présentation... mais c'est toi qui vois !

Je souhaitais que les élèves tournent la page mais je vais regarder ta solution :)

> Pour bien illustrer le problème, j'ai ajouté un cadre autour de la
> solution.
>
> \documentclass{article}
> \usepackage[latin1]{inputenc}
> \usepackage[T1]{fontenc}
> \usepackage[frenchb]{babel}
> \usepackage{graphicx}
> \usepackage{calc} % pour des raisons pédagogiques !
>
> \newsavebox\zouliboite
>
> \newenvironment{Solu}
> {
> \begin{lrbox}{\zouliboite}
> \begin{minipage}{\linewidth-2\fboxsep-2\fboxrule}
> }
> {
> \end{minipage}%
> \end{lrbox}
> \par\noindent % c'est plus sûr
> \fbox{\rotatebox{180}{\usebox{\zouliboite}}}
> }
>
> \newcommand\exo{Non défini dans l'ECM !}

euh, je l'ai vu trop tard :)

> \begin{document}
> \exo toto
> \begin{Solu}
> tata
> \end{Solu}
> \end{document}

Merci Jean-Come :)

>
> Jean-Côme Charpentier

Christophe.

_______________________________________________
Syracuse mailing list
Syracuse@melusine.eu.org
http://melusine.eu.org/cgi-bin/mailman/listinfo/syracuse
Received on Tue May 23 20:46:08 2006

Cette archive a été créée par hypermail 2.1.8 : mer mai 24 2006 - 09:37:01 CEST