Les conditions

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

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.

Les conditions

Messagepar Coyote » Jeudi 15 Mai 2008, 15:05

Bonjour à tous,

toujours à la découverte de ce magnifique langage ... j'expose mon problème :

j'ai deux macros : \vsujet{#1} et \vcorr{#1}, qui me permettent de rentrer le sujet de l'exo puis la correction de celui-ci !
Une fois ceci fait, un petit \input combiné avec des booléens, dans un deuxième fichier, me donne un joli sujet suivi d'un joli corrigé.
Le soucis, est : lorsque je mets du code asymptote dans l'une ou dans l'autre de mes macros, j'ai une erreur ! Il ne vois visiblement pas la fin de l'environnement asy !

J'ai suivi quelques pistes (guide d'intégration d'asymptote et Latex) mais je vois pas ... ! Si quelqu'un peu m'aider ?
Merci d'avance.
Coyote
Kilo-utilisateur
 
Messages: 117
Inscription: Dimanche 06 Mai 2007, 08:23
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: [Asymptote] les conditions !

Messagepar Ph. Ivaldi » Jeudi 15 Mai 2008, 15:42

Coyote a écrit:J'ai suivi quelques pistes (guide d'intégration d'asymptote et Latex) mais je vois pas...

As-tu testé les deux propositions de la section 2.4. Insertion conditionnelle page 5 ?
Si oui, il faudrait donner un ECM (vraiment C et vraiment M :) )
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] les conditions !

Messagepar Coyote » Jeudi 15 Mai 2008, 15:56

Oui, oui pour les tests des deux exemples mais sans succés ... notamment un plantage au niveau de l'instruction : \comment .... \endcomment

Je vais essayer de faire court (c'est pas mon fort ... :oops: ).

Voilà le doc principal (minimal :D ):
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage{bipcours}
\begin{document} \inputdev{tgest-bb-01} \end{document}


puis le doc exo :

Code: Tout sélectionner
\vsujet{blablal code asymptote}

\vcorr{ reblabla}


Les définitons de la macro \inputdev :

Code: Tout sélectionner
\newcommand*{\inputdev}[1]{\setcounter{exo}{0}
\ifthenelse{\not\boolean{livre}}
   {\ifthenelse{\equal{\pageref{exercice}}{1}}
      {\sujet \input{#1}
      \newpage \setcounter{numb}{0} \setcounter{page}{1} \setcounter{qcm}{0} \setcounter{section}{0} \setcounter{exo}{0}
      \sujet \input{#1}
      \newpage \setcounter{numb}{0} \setcounter{page}{1} \setcounter{qcm}{0} \setcounter{section}{0} \setcounter{exo}{0}
      \corr  \small \input{#1}
      }
       {\ifthenelse{\isodd{\pageref{exercice}}}%{impair}{pair}
         {\sujet \input{#1}
         \newpage \ev \vfill \begin{center} {\Huge Saut de page déstinée à faire commencer la correction sur une page paire} \end{center} \vfill
          \newpage \setcounter{numb}{0} \setcounter{page}{1} \setcounter{qcm}{0} \setcounter{section}{0} \setcounter{exo}{0}
          \corr  \small \input{#1}
         }
         {\sujet \input{#1}
          \newpage \setcounter{numb}{0} \setcounter{page}{1} \setcounter{qcm}{0} \setcounter{section}{0} \setcounter{exo}{0}
          \corr  \small \input{#1}
         }
      }
   }
   {\sujet \input{#1}
   \newpage \calend \setcounter{numb}{0} \setcounter{page}{1} \setcounter{qcm}{0} \setcounter{section}{0} \setcounter{exo}{0}
   \begin{center} \etad{Résumé des adresses des exercices}{Dossier : #1} \end{center}
   \bcol   \input{#1}   \ecol
   }
}


et de sujet (la même pour correction) :
Code: Tout sélectionner
\newcommand{\vsujet}[1]{\ifthenelse{\boolean{sujet}}{#1}{}}
\newcommand{\vcorr}[1]{\ifthenelse{\boolean{corr}}{#1}{}}


En espérant que ce soit soit minimal .... :roll: .
Coyote
Kilo-utilisateur
 
Messages: 117
Inscription: Dimanche 06 Mai 2007, 08:23
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] les conditions !

Messagepar Ph. Ivaldi » Jeudi 15 Mai 2008, 21:11

Coyote a écrit:En espérant que ce soit soit minimal .... :roll: .

Pas vraiment...
Surtout ce n'est pas compilable :|

Voici ce que je te propose de compilable et minimal qui devrait, si j'ai bien compris le problème, te permettre de faire ce que tu veux:

maitre.tex contient:
Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage{asymptote}
\usepackage{verbatim}

\newif\ifsujet
%\sujettrue
\newenvironment{sujet}{}{}
\ifsujet\relax\else\renewenvironment{sujet}{\comment}{\endcomment}\fi

\begin{document}
\input{exo.tex}
\end{document}


exo.tex contient:
Code: Tout sélectionner
\section{le sujet}
\begin{sujet}
  Balabla
  \begin{center}
\begin{asy}
size(2cm,2cm);
draw(unitcircle);
\end{asy}
  \end{center}
  Blabla
\end{sujet}


En compilant ((pdf)latex->asy->(pdf)latex) tel quel maitre.tex tu n'obtiens que le titre de la section.
En décommentant %\sujettrue tu obtiendras la section et le contenu de l'environnement sujet (avec la figure).
Attention à ne pas indenter \begin{asy} et \end{asy}
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Les conditions !

Messagepar Coyote » Vendredi 16 Mai 2008, 08:20

Bonjour,

c'est exactement le problème et cela résout le soucis si sujet est un environnement. Or \vsujet est une commande, donc le code rentré dans l'exo est du type :

Code: Tout sélectionner
\vsujet{

blabla

}


J'ai essayé de transposer ta solution sur ma commande mais c'est sans succès, pour le coup je te donne la définition de \vsujet (une booléenne sujet a été définie auparavant) :

Code: Tout sélectionner
\newcommand{\vsujet}[1]{\ifthenelse{\boolean{sujet}}{#1}{}}


Merci en tout cas.
Coyote
Kilo-utilisateur
 
Messages: 117
Inscription: Dimanche 06 Mai 2007, 08:23
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Les conditions !

Messagepar Ph. Ivaldi » Vendredi 16 Mai 2008, 10:11

Coyote a écrit:J'ai essayé de transposer ta solution sur ma commande mais c'est sans succès.

L'environnement asy dérive de l'environnement verbatim (plus exactement de comment); il hérite donc de ses limitations et dans la documentation de verbatim il est dit:
« However, there are still a number of restrictions:
...
2. You cannot use the verbatim environment inside user defined commands;
... »


Ceci dit, je pense qu'un environnement sujet est plus dans l'esprit LaTeX qu'une commande sujet.
Ph. Ivaldi
Méga-utilisateur
 
Messages: 267
Inscription: Vendredi 12 Janvier 2007, 23:27
Statut actuel: Actif et salarié

Re: [Asymptote] Les conditions !

Messagepar Coyote » Vendredi 16 Mai 2008, 17:23

Argh !!! Donc pas de commande possible ... et bien soit, les environnements seront de la partie !!

Merci en tout cas pour les réponses et ton site sur asymptote ...

une mine d'exemples et d'informations !

Le bonjour à la belle cité médiévale !

Cordialement.
Coyote
Kilo-utilisateur
 
Messages: 117
Inscription: Dimanche 06 Mai 2007, 08:23
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant


Retourner vers Asymptote

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron