Re: [Syracuse] noeud et boites colorées

Auteur: <christophe.poulain_chez_melusine.eu.org>
Date: dim fév 25 2007 - 09:31:23 CET

Bonjour,

On Sat, 24 Feb 2007 21:39:21 +0100
Jean-Côme Charpentier <jean-come.charpentier@wanadoo.fr> wrote:

> christophe.poulain@melusine.eu.org a écrit :
> > [...]
> > Et puis metapost me prend pas mal de temps.
>
> Je me dis tout le temps qu'il faudrait que je m'y remette
> sérieusement. J'ai tout oublié : c'est affreux !

Toi, avoir tout oublié, c'est une plaisanterie :)

>
> >> Bé oui. Heureusement, dans la plupart des cas, on peut retarder
> >le > remplissage. Si tu me disais ce que tu veux faire *exactement* ?
> >> Peut-être qu'un \psframebox est la bonne piste, non ?
> >
> > C'est que j'avais essayé mais il ne prend pas pour référence les
> > noeuds (en tout cas, pas à ma connaissance :))
>
> Je ne sais pas trop ce que tu veux dire par là mais si c'est pour
> spécifier des coins opposés du cadre, non, effectivement. \psframebox
> s'adapte à son contenu. Cela dit, on peut jouer également sur le
> paramètre framesep pour jouer sur les marges (donc sur l'emplacement
> du cadre par rapport au texte). C'est ce que j'ai fait.

Tu avais bien compris ce que je voulais dire.

>
> > Voilà exactement ce que je veux faire :)
> >
> > \documentclass[12pt,a4paper,twocolumn]{report}
>
> Si tu as des flottants à coller dans tes passages en double-colonne,
> je ne dis rien. Sinon, jette l'option twocolumnà la poubelle et
> utilise l'extension multicol... elle est *infiniment plus puissante !

En fait, tout le document est en deux colonnes.
En quoi, pour un document long, multicol serait plus puissante ?

> Il y a eu une discussion récente à propos des options de classe.

sur fctt ?

> Personnellement, je ne mets jamais a4paper en option de classe puisque
> cela fait double emploi par rapport à geometry et que cette option
> n'est utilisée, en fait, quasiment que par geometry.

OK. Je reconnais le puriste.
Maintenant, je ne mets que les sources sur syracuse, je ne suis pas un
puriste du codage. :)
Ceci dit, je vais bien sûr tenir compte de tes remarques, Jean-Côme.

>
> > \usepackage[latin1]{inputenc}
> > \usepackage[T1]{fontenc}
> > \usepackage[frenchb]{babel}
> > \parindent0pt
> > \usepackage[dvips,margin=1.5cm,nohead]{geometry}
>
> Idem. Il y a eu des discussions sur le fait de mettre ou non dvips
> (ou
> pdftex) comme option de certaines extensions. Sauf cas très spécial,
> j'ai plutôt tendance à éviter : cela met plus le souk que ça résout de
> problèmes.

J'adore Jean-Côme pour les plus values dont il fait preuve dans les
messages.
Je prends note de cette remarque également.

>
> > \usepackage{pst-all}
> > \SpecialCoor
> > \usepackage{lmodern,pifont,marvosym,manfnt}
> >
> > \newenvironment{Danger}{
> > \par\hspace*{5mm}\rnode{Ad}{\Large\textdbend}\begin{quote}}{\end{qu
> > ote}
>
> On sent bien que tout cela fait un peu bidouille :-) Je vais essayer
> d'être plus directe. Dans le cas présent, on peut même (presque) se
> passer de noeuds.

Bidouille ? :) Quand on ne sait pas faire autrement :)

>
> > \hfill\rnode{Bd}{}\hspace*{2mm}
> > \ncangles[nodesepA=2mm,angleA=-180]{-}{Ad}{Bd}
> > \ncangle[nodesepA=1mm,angleB=-90]{-}{Ad}{Bd} \par
>
> Je ne sais pas si c'est voulu mais cela donne une sorte de
> dépassement
> des lignes en bas à droite. Dans ma proposition, il n'y a plus ce
> dépassement. Si ce n'était pas un artefact malheureux (après tout,
> cela donne une certain style non déplaisant), on pourra toujours
> revoir l'environnement. Je ne pense pas que cela demandera beaucoup de
> travail.

Oui, c'était voulu. Je trouvais, tout comme toi, que c'était un peu plus
joli qu'une simple boite rectangulaire.

> Dans ton cas, il suffit de le sauvegarder dans une boîte et LaTeX a
> tout ce qu'il faut pour cela. Le principe général est de créer une
> boîte
>
> \newsavebox{\maboite}
>
> et de se servir de l'environnement lrbox avec le \begin dans la partie
> initiale de l'environnement et le \end dans sa partie finale. Voici un
> exemple débile qui refait ce que fait \fbox !
>
> \newenvironment{mafbox}{%
> \begin{lrbox}{\maboite}
> }
> {%
> \end{lrbox}
> \fbox{\usebox{\maboite}}%
> }
>
> Complètement crétin mais c'est juste pour voir que cela fonctionne.
> Attention ! Comme son nom l'indique, lrbox est une boîte LR (donc une
> boîte horizontale). Si on veut mettre en boîte plusieurs lignes, il
> faut passer en mode paragraphe avec minipage. C'est ce qui va être
> fait dans l'exemple.
>
> Ayé ! On a tout pour produire l'environnement voulu. Cela donne :
>
> \documentclass[12pt,a4paper,twocolumn]{report}
> \usepackage[latin1]{inputenc}
> \usepackage[T1]{fontenc}
> \usepackage[frenchb]{babel}
> \parindent0pt
> \usepackage[margin=1.5cm,nohead]{geometry}
> \usepackage{pst-all}
> % calc va aider à avoir une syntaxe plus simple
> \usepackage{calc}
> \SpecialCoor
> \usepackage{lmodern,pifont,marvosym,manfnt}
>
> \newsavebox{\dangerbox}
>
> % On règle les marges définitivement ici
> \newlength{\marge}\setlength{\marge}{5mm}
> % Contrôle fin pour le panneau
> \newlength{\margehaut}\setlength{\margehaut}{2mm}
>
> \newenvironment{Danger}{%
> \par
> \begin{lrbox}{\dangerbox}
> \begin{minipage}{\linewidth-2\marge-2\pslinewidth}
> \par\vspace*{\margehaut}
> }
> {%
> \end{minipage}%
> \end{lrbox}
> % Affiche le texte dans un cadre en couleur.
> \rput[tl](0,0){%
> \psframebox[fillstyle=solid, fillcolor=yellow, framesep=\marge]{%
> \usebox{\dangerbox}%
> }%
> }%
> % Efface le trait juste ce qu'il faut
> \rput(\marge,0){%
> \psline[linewidth=2\pslinewidth,linecolor=white](0,0)(2.4em,0)
> }
> % Affiche le panneau
> \rput(2\marge,0){\Large\textdbend}
> % Réserve la place verticale pour la suite
> \par
> \setlength{\marge}{\ht\dangerbox+\dp\dangerbox+2\marge}
> \vspace{\marge}
> }
>
> \columnseprule0.4pt
>
> \begin{document}
> \parskip8pt
> toto va bien :)
> \begin{Danger}
> Voici un danger : ne pas divulger directement ce que l'on veut
> faire. C'est plus facile pour JCC si on lui dit tout :)
> \end{Danger}
> Du texte qui suit, suffisamment long pour montrer que le cadre a une
> largeur très exactement égale à celle de l'empagement.
> \end{document}

OK. Merci Jean-Côme. Ca marche du tonnerre :) euh, pardon, du sabre
laser ;-)

>
> Jean-Côme Charpentier
>
>
Christophe.

_______________________________________________
Liste de diffusion Syracuse
Syracuse@melusine.eu.org
http://melusine.eu.org/cgi-bin/mailman/listinfo/syracuse
Adresse alternative du site :
http://syracuse.eu.org/syracuse/
Received on Sun Feb 25 09:27:52 2007

Cette archive a été créée par hypermail 2.1.8 : dim fév 25 2007 - 19:37:02 CET