IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Créer des grilles se comportant comme des caractères

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Créer des grilles se comportant comme des caractères
    Bonjour, dans le cadre de modélisations, je suis amenée à dessiner des grilles, c'est à dire des assemblages de carrés noirs ou blancs. Ces grilles doivent se comporter comme des caractères pour être insérées dans le texte (en fait des formules mathématiques spéciales).
    Après avoir pas mal cherché, j'ai trouve le package cwpuzzle qui fait ce que je cherche. Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{cwpuzzle}
     
    \newcommand\gridA{\hbox{\begin{Puzzle}{5}{5}
    |{} |[][f]X |[][f]* |.
    |[][f]X |{} |[][f]* |{} |.
    |{} |[][f]X |[][f]* |[][f]* |[][f]X |.
    |{} |[][f]X |{} |{} |.
    |{} |[][f]* |[][f]X |.
    \end{Puzzle}}}
     
    \begin{document}
    \PuzzleUnitlength=0.333em
    Début \hbox{\begin{Puzzle}{5}{5}
    |{} |[][f]X |[][f]* |.
    |[][f]X |{} |[][f]* |{} |.
    |{} |[][f]X |[][f]* |[][f]* |[][f]X |.
    |{} |[][f]X |{} |{} |.
    |{} |[][f]* |[][f]X |.
    \end{Puzzle}} fin.% ici, ça fonctionne
     
    Début \gridA\ fin.% ici, ça ne fonctionne pas
    \end{document}
    J'ai plusieurs questions :
    1) comme je dois souvent employer la grille, je voulais définir une macro \grilleA qui contient le code du dessin au lieu d'écrire le code entier à chaque fois. Pourquoi la macro \grilleA ne fonctionne t-elle pas ?
    2) surtout, la syntaxe de ce package est très pénible à écrire et j'ai beaucoup de grilles à faire. Y a til un moyen de faire une commande \definenewgrid qui définit une grille (j'en ai beaucoup à définir) de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    \definenewgrid\grilleA{%
     x*
    xx*
     x**x
     x
     *x}
    ou si c'est impossible, imprimer une grille avec une macro \printgrid :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    \printgrid{%
     x*
    xx*
     x**x
     x
     *x}
    les "x" signifie "case blanche encadrée), les "*" pour "case noire" et les espaces pour "case invisible". C'est ainsi qu'un logiciel me les donne, je n'aurai donc plus qu'à les recopier dans latex

    Merci d'avance à toute bonne âme qui peut me venir en aide.

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Pourquoi la macro \grilleA ne fonctionne t-elle pas ?
    C'est à cause du changement de catcode de| qui pour les besoins du package a été rendu actif (catcode 13 alors qu'il est de catégorie 12)
    Avec un exemple c'est plus parlant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{cwpuzzle}
     
     
    \catcode`\|=13
    \newcommand\gridA{\hbox{\begin{Puzzle}{5}{5}
    |{} |[][f]X |[][f]* |.
    |[][f]X |{} |[][f]* |{} |.
    |{} |[][f]X |[][f]* |[][f]* |[][f]X |.
    |{} |[][f]X |{} |{} |.
    |{} |[][f]* |[][f]X |.
    \end{Puzzle}}}
    \catcode`\|=12
     
    \newcommand\gridB{\hbox{\begin{Puzzle}{5}{5}
    |{} |[][f]X |[][f]* |.
    |[][f]X |{} |[][f]* |{} |.
    |{} |[][f]X |[][f]* |[][f]* |[][f]X |.
    |{} |[][f]X |{} |{} |.
    |{} |[][f]* |[][f]X |.
    \end{Puzzle}}}
    \begin{document}
    \PuzzleUnitlength=0.333em
    Début \hbox{\begin{Puzzle}{5}{5}
    |{} |[][f]X |[][f]* |.
    |[][f]X |{} |[][f]* |{} |.
    |{} |[][f]X |[][f]* |[][f]* |[][f]X |.
    |{} |[][f]X |{} |{} |.
    |{} |[][f]* |[][f]X |.
    \end{Puzzle}} fin.% ici, ça fonctionne
     
    Début \gridA fin. maintenant ca fonctionne
     
    \gridB celle ci non
    \end{document}

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse.

    Comment répondre à ma 2è question, c'est surtout celle là qui m'intéresse et qui me facilitera la tache.

    Merci d'avance.

Discussions similaires

  1. [Débuter] Lier des boutons entre eux (comme des boutons radio)
    Par Avatar36 dans le forum Qt Quick
    Réponses: 11
    Dernier message: 10/12/2014, 19h40
  2. Réponses: 2
    Dernier message: 15/05/2011, 15h42
  3. Registres se comportant comme des pointeurs
    Par J4e8a16n dans le forum x86 32-bits / 64-bits
    Réponses: 9
    Dernier message: 01/04/2009, 12h04
  4. pour que les < se comportent comme des " (include)
    Par hpavavar dans le forum Visual C++
    Réponses: 4
    Dernier message: 07/05/2007, 09h46
  5. Réponses: 1
    Dernier message: 25/07/2006, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo