[Résolu] Dessiner un dé à plat en forme de croix

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Re: [Résolu]Dessiner un dé à plat en forme de croix

Messagepar projetmbc » Mardi 01 Février 2011, 15:56

Merci un bon petit pour l'ajout de la fonctionnalité.

Cela va me permettre de faire des petits jeux. En utilisant [black]{}, on obtient une case noire, et {} une case vide, ceci qui permet d'envisager même de faire des mots croisés.

Ceci étant, il pourrait être pratique de numéroter les lignes. Pour cela, une simple case sans bord pourrait faire l'affaire. Est-ce faisable ? Promis après j'arrête mon délire. :lol:

un bon petit a écrit:
projetmbc a écrit:Comment avoir des carrés sans coins arrondis ? Pourquoi cette demande ? En fait, ton environnement permet de présenter des grilles de mots de type "mots croisés partiels" comme dans l'émission Slam de France 3.

Je ne connais pas, mais si Slam se sert de mon code, je demande des royalties.

Comme tu n'as pas posé de Copyright, je vais juste de piquer ton idée pour m'enrichir à tes dépends. :wink:

un bon petit a écrit:
projetmbc a écrit:Toi tu as envie de taquiner altermundus..

Oui, j'avoue ! Et encore, je me suis retenu de venir foutre mon bordel dans le fil à troll tikz/pstricks. Je ménage Alain car dans peu de temps, j'aurai un truc à lui demander :oops:

J'attends de voir cela avec impatience... :mrgreen:
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: [Résolu]Dessiner un dé à plat en forme de croix

Messagepar un bon petit » Mardi 01 Février 2011, 16:52

projetmbc a écrit:Ceci étant, il pourrait être pratique de numéroter les lignes. Pour cela, une simple case sans bord pourrait faire l'affaire. Est-ce faisable ?

Tout est faisable, la question qui se pose est : est-ce vraiment indispensable de rajouter x fonctionnalités ? En attendant, je te laisse implémenter cela par jeu : ajouter une ligne au début du tableau et une cease au début de chaque ligne n'est pas si difficile. Il suffit ensuite de faire afficher un nombre ou une lettre dans ces cases...
un bon petit
Giga-utilisateur
 
Messages: 718
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu]Dessiner un dé à plat en forme de croix

Messagepar projetmbc » Mardi 01 Février 2011, 16:58

En fait, l'idée était de numéroter à la main, c'est l'utilisateur qui fait le boulot via un code comme ci-dessous :
Code: Tout sélectionner
\begin{dice}{}
            &     &  [nb] 1         \\
            &     &  B              \\
    [nb] 2  &  A  &  C  &  E  &  F  \\
            &     &  D
\end{dice}


Il faudrait donc partir de ta gestion des couleurs... :?:
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu]Dessiner un dé à plat en forme de croix

Messagepar un bon petit » Mardi 01 Février 2011, 21:00

projetmbc a écrit:En fait, l'idée était de numéroter à la main, c'est l'utilisateur qui fait le boulot via un code comme ci-dessous

J'ai pas trop bien compris... Bref, si le caractère "@" commence une case, les bords ne sont pas tracés et il n'y a pas de remplissage :
Code: Tout sélectionner
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xstring}
\usepackage{pstricks}
\usepackage[frenchb]{babel}
\makeatletter
\def\name@env{dice}
\newif\if@display@frame
\newcommand\calc@maxcol[1]{%
   \def\max@col{0}%
   \def\remain@body{#1\\}%
   \loop
      \StrBefore\remain@body{\noexpand\\}[\current@line]%
      \StrCount{\current@line&}&[\tmp@col]%
      \ifnum\tmp@col>\max@col\let\max@col\tmp@col\fi
      \StrBehind\remain@body{\noexpand\\}[\remain@body]%
      \unless\ifx\remain@body\@empty
   \repeat}

\long\def\get@body@tab#1\end{%
   \expandafter\def\expandafter\body@tab\expandafter{\body@tab#1}\test@end@body}

\newcommand\test@end@body[1]{%
   \def\temp@{#1}%
   \ifx\temp@\name@env
      \def\temp@{\end{#1}}%
      \expandafter\temp@
   \else
      \expandafter\def\expandafter\body@tab\expandafter{\body@tab\end{#1}}%
      \expandafter\get@body@tab
   \fi}

\newcommand\dice@grab@arg[2][]{%
   \let\body@tab\@empty
   \edef\temp@{{framearc=0.2\ifx\@empy#1\@empty\else,#1\fi}}\expandafter\psset\temp@
   \def\dice@arg{#2}%
   \get@body@tab}

\newenvironment{dice}
   {\expandarg
   \@makeother\!%
   \dice@grab@arg
   }%
   {\unless\ifx\@body@tab\@empty
      \IfEndWith\body@tab{\noexpand\\ }%
         {\StrGobbleRight\body@tab2[\body@tab]}%
         {\IfEndWith\body@tab{\noexpand\\}{\StrGobbleRight\body@tab1[\body@tab]}\relax}%
      \expandafter\calc@maxcol\expandafter{\body@tab}%
      \edef\tab@preamble{{*{\max@col}{c}}}%
      \StrSubstitute{\expandafter\cell@start\body@tab\cell@end}&{\noexpand\cell@end&\cell@start}[\body@tab]%
      \StrSubstitute\body@tab{\noexpand\\}{\noexpand\cell@end\\\cell@start}[\body@tab]%
      \def\arraystretch{0}\tabcolsep\z@
      \expandafter\tabular\tab@preamble\body@tab\endtabular
   \fi}

\def\cell@start#1\cell@end{%
   \StrDel{\noexpand#1}\space[\cell@content]%
   \unless\ifx\@empty\cell@content
      \IfBeginWith\cell@content[%
         {\StrBetween\cell@content[][\opt@color]%
         \StrBehind\cell@content][\cell@content]}%
         {\let\opt@color\@empty}%
      \pspicture(1,1)%
         \if @\expandafter\expandafter\expandafter\noexpand\expandafter\@car\cell@content\@nil
            \psframe[linestyle=none,fillstyle=none](0,0)(1,1)%
            \rput[c](0.5,0.5){\hbox to \z@{\hss\dice@arg\expandafter\@gobble\cell@content\hss}}%
         \else
            \edef\opt@color{\unless\ifx\opt@color\@empty[fillstyle=solid,fillcolor=\opt@color]\fi}%
            \expandafter\psframe\opt@color(0,0)(1,1)%
            \rput[c](0.5,0.5){\hbox to \z@{\hss\dice@arg\cell@content\hss}}%
         \fi
      \endpspicture
   \fi}

\makeatother
\begin{document}
\begin{dice}[framearc=0,dimen=middle,unit=0.75cm,fillstyle=solid,fillcolor=blue!66]{\bfseries}
 &M&@4\\
L&A&T&E&X\\
@x&N\\
 &G&@1\\
 &E&N\\
 &Z
\end{dice}
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 718
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar Altermundus » Mardi 01 Février 2011, 23:46

un bon petit a écrit:On peut aussi vraiment programmer un environnement. J'ai privilégié pstrick puisqu'on est sérieux ici, mais les fans de tikz pourront très facilement modifier le code pour tracer des dessins avec leur outil préféré :


Le fan de tikz évite l'environnement et utilise pgfkeys (ça c'est sérieux) pour les problèmes de personnalisation mais là le fan il fait son package sur les stats et les graphes

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar Altermundus » Mardi 01 Février 2011, 23:48

zorba a écrit:Super, c'est la solution que je cherche. Il me reste à comprendre le code ..
Pierre


Il n'y a pas vraiment de code mais beaucoup d'options mais la structure est très simple.

alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar Altermundus » Mardi 01 Février 2011, 23:53

projetmbc a écrit:Bonjour,
on peut faire ceci pour avoir une commande :

On doit pouvoir faire mieux. Pour les couleurs, je ne vois pas comment rendre possible leur définition de façon locale car il n'y a que 9 paramètres disponibles..


Déjà il y a des styles et de plus pgfkeys. par exemple on peut faire un style Face
\tikzset{Face/.style={rectangle,text=white,fill=#1}} il suffit de mettre Face=red ou Face= green et si on est flemmard on prend un foreach.
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar Altermundus » Mardi 01 Février 2011, 23:57

projetmbc a écrit:Bonsoir.

Très sympa cet environnement. A priori, je ne vois pas comment transformer cela en version TiKz... J'essaierais bien par simple jeu.

un bon petit a écrit:J'ai privilégié pstrick puisqu'on est sérieux ici...

Toi tu as envie de taquiner altermundus.. :D


Altermundus il s'en fout, dans son monde il n' a pas de pstricks ou d'asymptote pour lui prendre la tête. Pour la transformation on passe assez facilement de pstricks à tikz, il n'y a que sur la transparence que cela couine chez pstricks et sur certains calculs ou cela couine chez tikz. mais bon pour une marelle, on ne doit pas trop se prendre la tête

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar un bon petit » Mercredi 02 Février 2011, 07:05

Altermundus a écrit:Altermundus il s'en fout, dans son monde il n' a pas de pstricks ou d'asymptote pour lui prendre la tête.

Altermundus se ferme avec mauvaise foi à d'autres possibilités tout autant digne d'intérêt, voire plus, que son tikz d'amour. Rejeter ce que l'on ne maîtrise pas en invoquant la prise de tête n'est pas très constructif... Le but d'Altermundus ne serait pas --- j'espère que non --- de programmer uniquement en tikz en oubliant complètement TeX/LaTeX qui sont probablement, eux aussi, prise de tête ?
Dernière édition par un bon petit le Mercredi 02 Février 2011, 14:23, édité 1 fois.
un bon petit
Giga-utilisateur
 
Messages: 718
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar Altermundus » Mercredi 02 Février 2011, 07:27

un bon petit a écrit:
Altermundus a écrit:
projetmbc a écrit:Altermundus il s'en fout, dans son monde il n' a pas de pstricks ou d'asymptote pour lui prendre la tête.

Altermundus se ferme avec mauvaise foi à d'autres possibilités tout autant digne d'intérêt, voire plus, que son tikz d'amour. Rejeter ce que l'on ne maîtrise pas en invoquant la prise de tête n'est pas très constructif... Le but d'Altermundus ne serait pas --- j'espère que non --- de programmer uniquement en tikz en oubliant complètement TeX/LaTeX qui sont probablement, eux aussi, prise de tête ?


pas de mauvaise fois ! je dis ce que je pense clairement non. J'ai commencé par pstricks donc je connais pstricks et je sais pourquoi je n'en veux plus. C'est surtout pour la syntaxe et les termes utilisés. J'ai encore de superbes figures en pstricks pour mes cours que je dois traduire mais je compile encore du pstricks. Asymptote c'est autre chose, là la syntaxe est insupportable, je n'aime pas et je n'y peux rien et c'est une prise de tête.
Et comme dit dans une autre enfilade, c'est un soft externe moins bien intégré.
Le but n'est pas que de programmer, mais de taper des textes pendant encore quelques mois d'activité et sûrement encore après; les illustrations il est vrai, représentent la partie amusement. Donc si possible, on fait cette partie avec plaisir et rapidement. Pour moi c'est TikZ
Je crois justement que sur le sujet "TikZ" est lent, j'ai conseillé de continuer à bosser avec Pstricks, non ?
TeX/LaTeX prise de tête ? il ne faudrait pas délirer ... car alors je me prends la tête 12 heures par jour, ce n'est pas raisonnable !

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Re: Dessiner un dé à plat en forme de croix

Messagepar projetmbc » Mercredi 02 Février 2011, 13:52

Bonjour,
un bon petit a écrit:J'ai pas trop bien compris...

Et bien si. C'est bien à cela que je pensais. Merci, c'est nickel. :mrgreen: Voici un exemple de ce que je souhaite faire :
Code: Tout sélectionner
\begin{dice}[framearc=0,
             dimen=middle,
             unit=0.75cm,
             fillstyle=solid,
             fillcolor=blue!66]{\bfseries}
        &     &  @1                  \\
        &     &  M                   \\
    @2  &  L  &  A  &  T  &  E  &  X \\
        &     &  N                   \\
        &     &  G                   \\
        &     &  E  &  N  &  @3      \\
        &     &  Z
\end{dice}

On peut alors proposer une grille vide en donnant les définitions suivant chaque numéro.

Par contre,...
un bon petit a écrit:
Altermundus a écrit:
projetmbc a écrit:Altermundus il s'en fout, dans son monde il n' a pas de pstricks ou d'asymptote pour lui prendre la tête.

...

... c'est quoi cette citation. :shock: Peux-tu rectifier le message STP ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Précédente

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler] et 25 invités