Affichage conditionnel ifthenelse - mieux : package version

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

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.
pylou
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : mardi 08 août 2006, 11:41

[Résolu] Affichage conditionnel ifthenelse - mieux : package version

Message par pylou »

J'écris un cours de maths. Je souhaiterais afficher ou pas la référence aux pages des exercices à l'intérieur du cours.
Je mets dans mon entete :

Code : Tout sélectionner

%Cas où pas d'affichage
\newcommand\cahier[1]{}

%Cas affichage ok
\ifthenelse{\value{printcahier} = 1}
{
\renewcommand\cahier[1]{#1}
}

et dans mon document principal : 
\newcounter{printcahier}
\setcounter{printcahier}{1}
\cahier{blabla}
J'obtiens après bien des essais, un message d'erreur qui me renvoie à :

Code : Tout sélectionner

\ifthenelse{\value{printcahier} = 1}
en me disant "can't use \relax after \the

Je bloque : merci bien pour votre aide.
Dernière modification par pylou le mercredi 30 septembre 2020, 14:26, modifié 1 fois.

un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 825
Inscription : vendredi 12 juin 2009, 22:35
Localisation : Chambéry

Re: Affichage conditionnel ifthenelse

Message par un bon petit »

Merci de poster un ECM et non pas des bouts de codes qu'il est impossible de tester chez soi.

pylou
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : mardi 08 août 2006, 11:41

Re: Affichage conditionnel ifthenelse

Message par pylou »

Bien-sûr :oops: :

Code : Tout sélectionner

\newcommand\cahier[1]{}

\ifthenelse{\value{printcahier}=1}
{
\renewcommand\cahier[1]{#1}
}

\newcounter{printcahier}
\setcounter{printcahier}{0}

\begin{document}

Mon texte

\cahier{ex3p8}

\end{document}
ou l'ECM avec entete :

Code : Tout sélectionner

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{frenchle}
\usepackage{ifthen}

\newcommand\cahier[1]{#1}

\ifthenelse{\equal{\value{printcahier}}{1}}
{
\renewcommand\cahier[1]{#1}
}

\newcounter{printcahier}
\setcounter{printcahier}{1}

\begin{document}

Mon texte

\cahier{ex3p8}

\end{document}

marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 884
Inscription : jeudi 25 novembre 2010, 22:10

Re: Affichage conditionnel ifthenelse

Message par marco56 »

Je pense que le package "version" te conviendrait. Un exemple ici :
https://tex.stackexchange.com/questions ... er-environ
ou tout en bas ici :
viewtopic.php?t=17443

pylou
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : mardi 08 août 2006, 11:41

Re: Affichage conditionnel ifthenelse

Message par pylou »

Ah oui !... c'est nettement mieux avec ce package. Mille merci !