Les conditions

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Coyote
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 117
Inscription : dimanche 06 mai 2007, 09:23
Localisation : Chambéry

Les conditions

Message par Coyote »

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.

Ph. Ivaldi
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 267
Inscription : vendredi 12 janvier 2007, 23:27

Re: [Asymptote] les conditions !

Message par Ph. Ivaldi »

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 :) )

Coyote
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 117
Inscription : dimanche 06 mai 2007, 09:23
Localisation : Chambéry

Re: [Asymptote] les conditions !

Message par Coyote »

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: .

Ph. Ivaldi
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 267
Inscription : vendredi 12 janvier 2007, 23:27

Re: [Asymptote] les conditions !

Message par Ph. Ivaldi »

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}

Coyote
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 117
Inscription : dimanche 06 mai 2007, 09:23
Localisation : Chambéry

Re: [Asymptote] Les conditions !

Message par Coyote »

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.

Ph. Ivaldi
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 267
Inscription : vendredi 12 janvier 2007, 23:27

Re: [Asymptote] Les conditions !

Message par Ph. Ivaldi »

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.

Coyote
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 117
Inscription : dimanche 06 mai 2007, 09:23
Localisation : Chambéry

Re: [Asymptote] Les conditions !

Message par Coyote »

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.