Barrer une expression avec opérateur

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.

Barrer une expression avec opérateur

Messagepar zorba » Mardi 25 Août 2009, 15:12

Bonjour à tous,
toujours dans mon initiation à la rédaction de corrigés avec des formules, après avoir trouvé le package cancel qui fait pas mal de choses, je suis arrêté sur une macro qui fonctionne dans des cas simples et déclenche une erreeur de compilation quand les expressions sont un petit peu plus compliquées.
Voici le source .tex :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath,color}
\newcommand\hcancel[2][black]{%
  \setbox0=\hbox{#2}%
    \rlap{\raisebox{.45\ht0}{%
      \textcolor{#1}{\rule{\wd0}{1pt}}}}#2}
\begin{document}


Je ne comprends pas les messages de compilation, ayant juste ajoué à mon texte la focntion sqrt{....} autour de l'expression 3X+2.
Je mets les 2 fichiers .tex et .log en pièces jointes au cas où vous en auriez besoin.
D'avance merci du temps consacré, bonne fin de journée.
Pierre

Code: Tout sélectionner
$\hcancel{3}\qquad\hcancel[red]{1234567}$\\[0.5cm]
$\hcancel[red]{3}\qquad\hcancel[red]{1234567}$\\[0.5cm]
$\hcancel{3x+1}\qquad\hcancel{3x+2}$\\[0.5cm]
%$\hcancel{3x+1}\qquad\hcancel{\sqrt{3x+2}}$
\end{document}


Ainsi rédigé les trois expressions sont bien barrées horizontalement en noir ou en rouge, sans avoir besoin du package cancel.
En revanche quand je retire % sur la quatrième ligne, LaTex trouve les erreur suivantes :

Code: Tout sélectionner
! Missing $ inserted.
<inserted text>
                $
l.15 $\hcancel{3x+1}\qquad\hcancel{\sqrt{3x+2}}
                                               $
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

! Extra }, or forgotten $.
\\hcancel [#1]#2->\setbox 0=\hbox {#2}
                                      \rlap {\raisebox {.45\ht 0}{\textcolor...
l.15 $\hcancel{3x+1}\qquad\hcancel{\sqrt{3x+2}}
                                               $
I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

! Missing } inserted.
<inserted text>
                }
l.16 \end{document}
                   
I've inserted something that you may have forgotten.
(See the <inserted text> above.)
With luck, this will get me unwedged. But if you
really didn't forget anything, try typing `2' now; then
my insertion and my current dilemma will both disappear.

! Missing $ inserted.
<inserted text>
                $
l.16 \end{document}
                   
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

[1

] (Cancel-Barrer-des-Formules-2.aux) )


Je ne comprends pas le message d'erreur qui demande in $ supplémentaire, alors que je n'ai qu'ajouté la fonction sqrt{...} autour de l'expression 3x+2.
Je remercie toute personne de l'aide apportée, les fichiers .tex et .log sont en pièces jointes si vous avez besoin du contexte complet.
A bientôt.
Pierre
Fichiers joints
Cancel-Barrer-des-Formules-2.tex
(527 Octets) Téléchargé 98 fois
Cancel-Barrer-des-Formules-2.log
(11.46 Kio) Téléchargé 84 fois
Dernière édition par MB le Mardi 25 Août 2009, 16:13, édité 4 fois.
Raison: Utilise les balises code, s'il te plait
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Publicité

Re: Barrer une expression avec opérateur

Messagepar rebouxo » Mardi 25 Août 2009, 15:36

\newcommand ne marcherait-il pas mieux en mettant le nom de la nouvelle commande entre accolades ?

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6933
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Barrer une expression avec opérateur

Messagepar kojak » Mardi 25 Août 2009, 15:45

bonjour,

le code LaTeX se met entre les balises code et non entre les balises color : il serait bon de lire les indications en bas de tes précédents messages qu'on est obligé d'éditer afin de mettre ces balises code.
pas d'aide par MP
kojak
Modérateur
 
Messages: 10403
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Re: Barrer une expression avec opérateur

Messagepar zorba » Mardi 25 Août 2009, 17:20

Acceptez mes excuses pour la confusion des balises, je ne comprenais pas le problème quand je pré visualisais mon message, à l'avenir je prendrais garde pour éviter ces difficultés.
Bonne soirée.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Barrer une expression avec opérateur

Messagepar zorba » Mardi 25 Août 2009, 17:28

rebouxo a écrit:\newcommand ne marcherait-il pas mieux en mettant le nom de la nouvelle commande entre accolades ?

Olivier



Je ne comprends pas ce message. La commande $\verb+\hcancel{...}+$ fonctionne correctement quand l'expression de contient pas de fonction. $\verb=\hcancel{3x+1}=$ est correctement barré alors que $\verb=\hcancel{\sqrt{3x+2}}=$ pose le problème à la compilation.
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Barrer une expression avec opérateur

Messagepar rebouxo » Mardi 25 Août 2009, 19:37

Je trouve ton newcommand bizarre, c'est tout.

Pour moi \newcommand{\mamacro}[arg]{expression} et non ce que tu as écris. D'ailleurs ici je mettrais un \newcommand*.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6933
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Grapeshot [Crawler], Yandex [Bot] et 8 invités

cron