questions sur la rotation du texte sous LaTeX

Bonjour à tous,

Je suis à la recherche d'une aide qui me serait précieuse. J'essaie de définir l'équivalent de la commande \verb*=\underbrace= (qui donne une accolade horizontale : $\underbrace{\mathrm{à\ peu\ près\ cela}}$ ) mais avec le crochet carré (comme un \left[ mais à l'horizontale). Je n'en ai pas trouvé, dans aucune des revues concernant LaTeX que j'ai pu avoir sous la main. Alors, si quelqu'un savait comment faire, ce serait très sympa de m'aider...

Mais sans rester sans rien faire, entre temps je cherche à expérimenter quelques trucs; Par exemple, j'ai fait une tentative avec \left[ dont l'argument était tourné de 90°. Après cela, je tournerais le tout encore une fois de 90°, mais en fait, LaTeX crée une espace vide supplémentaire... Bof !! Je ne comprends pas. Voilà ce qui se passe :
Ça c'est l'argument :
\rotatebox{90}{$x^2-5x+1$} \text{plus quelque chose d'autre}
\verb*=\rotatebox{90}{$x^2-5x+1$} \text{plus quelque chose d'autre}=
mais après avec \left[, ça donne cela :

\left[ \rotatebox{90}{$x^2-5x+1$} \right. \text{plus quelque chose d'autre}
\verb*=\left[ \rotatebox{90}{$x^2-5x+1$} \right. \text{plus quelque chose d'autre}=

Alors, comment faire afin que le crochet \left[ soit exactement de la même hauteur que son argument, sans l'espace vide ?

Merci à tous,

Pier-Luigi.


PS: Je viens de voir que sur le forum la rotation ne se "traduit" pas... SVP, allez jeter un coup-d'oeil au code LaTeX et éventuellement essayez chez vous... Merci beaucoup à l'avance pour toute aide future.

Réponses

  • Le code suivant a l'air de donner ce que tu veux.

    \documentclass{article}

    \usepackage{amsmath}
    \usepackage{graphicx}

    \begin{document}

    $\left[ \rotatebox[origin=c]{90}{$x^2-5x+1$} \right.$ \text{plus quelque chose d'autre}

    \end{document}

    6126
  • Génial ! Merci pg.

    Autrement, concernant l'accolade "carrée" horizontale, penses-tu qu'il existe un moyen déjà prédéfini en LaTeX, que sais-je dans le package amsmath ou autre? Comment t'y prendrais-tu pour le réaliser? Mon approche est-elle correcte ou trop compliquée?

    De Joyeuses Paques,

    Pierluigi.

    PS: petite question de tout autre nature: "comment écrit-on,ici sur le forum, les accents circonflexes... quand j'essaie, je vois à l'écran un tréma à la place...
  • Bonjour,

    En utilisant ton conseil, je suis arrivé à cela :

    Dans le préambule, j'ai défini deux nouvelles commande (dont la première je l'ai empruntée de \lien{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/lettre21.pdf} ) :

    \verb*/\newcommand{\CoucheD}[1]{\rotatebox[origin=c]{-90}{#1}}
    \newcommand{\underbracesq}[1]{\rotatebox[origin=c]{90}{$\left[ \CoucheD{\phantom{\hspace{2pt}}$#1$} \right.$}}/


    Le but de tout cela étant de pouvoir écrire des notes au-dessous d'une partie d'une formule. Alors, j'ai un problème, car si j'utilise la commande \verb*=\stackrel= le signe = se place à la hauteur du message que j'ai ajouté plutôt que de rester au nievau de l'expressione mathématique x^2-2x+1. Donc, dans le corps du document, ça donne ceci :

    \newcommand{\CoucheD}[1]{\rotatebox[origin=c]{-90}{#1}}
    \newcommand{\underbracesq}[1]{\rotatebox[origin=c]{90}{$\left[ \CoucheD {\phantom{\hspace{2pt}}$#1$} \right.$}}
    x=\stackrel{\underbracesq{x^2-2x+1}}{\small\text{n'est irréductible}}

    Comment faire pour régler ce problème ?
    Merci...
    Pierluigi.

    [Les commandes que tu définis ne marchent pas sur le forum :-( AD]

    PS: Si les commandes LaTeX que j'ai écrites ne marchent pas sur le forum, je vous prie de cliquer sur "code latex" et de les importer dans votre éditeur LaTeX. Normalement, ça marche.
  • Tu devrais essayer \underbracket{xxx} du package empheq, voir jeter un oeil à la doc de ce package.

    Vois aussi la commande \undergroup{xxx} du package mathabx (et la doc au besoin).
  • \underset semble marcher mieux que \stackrel

    En plus de la suggestion d'Eric, tu peux aussi essayer \underbrace

    Voici le code des trois possibilités et le résutlat de chacune.

    \documentclass{article}

    \usepackage[latin1]{inputenc}
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage{empheq}

    \newcommand{\CoucheD}[1]{\rotatebox[origin=c]{-90}{#1}}
    \newcommand{\underbracesq}[1]{\rotatebox[origin=c]{90}{$\left[ \CoucheD {\phantom{\hspace{2pt}}$#1$} \right.$}}

    \begin{document}

    %$\left[ \rotatebox[origin=c]{90}{$x^2-5x+1$} \right.$ \text{plus quelque chose d'autre}

    \vspace{60pt}

    $f(x)=\underset{\small\text{n'est pas irréductible}}{\underbracesq{x^2-2x+1}}$

    \vspace{24pt}

    $f(x)=\underset{\small\text{n'est pas irréductible}}{\underbrace{x^2-2x+1}}$

    \vspace{24pt}

    $f(x)=\underset{\small\text{n'est pas irréductible}}{\underbracket{x^2-2x+1}}$

    \end{document}
    6135
  • Merci Eric et merci pg,

    La situation s'est améliorée avec vos suggestions, mais n'est pas encore optimale; si on regarde bien, en utilisant ma commande \verb*=\underbracesq= je trouve que le crochet est plus fin et plus joli, mais l'expression mathématique n'est pas vraiment alignée avec =, ce qui au contraire se réalise dans les deux autres exemples en utilisant \verb*=\underbrace= et \verb*=\underbracket=. Ceux deux derniers, par contre, ne sont pas beaux : ce que je reproche à ces symboles, c'est d'être justement trop "gros": cela se manifeste surtout quand leur argument est de petite taille, du genre \verb*=\underbrace{x}= et \verb*=\underbracket{x}=. Croyez-vous que ce serait possible de les rendre d'une épaisseur plus fine ? Autrement, quelque suggestion pour améliorer ma commande \verb*=\underbracesq= afin que l'alignement avec le signe = mais aussi avec ce qui pourrait suivre ? : exemple,


    \verb*/f(x)=\underset{\small\text{n'est pas irréductible}}{\underbracesq{x^2-2x+1}}+y^2+1/

    Merci de votre aide,
    Bonne soirée...
    Pierluigi.

    PS: excusez-moi, je n'arrive pas à faire exécuter les commandes LaTeX comme il faut, sur le site...
    [Effectivement, les packages nécessaires ne sont pas activés sur le site. AD]
  • C'est possible, mais c'est plus technique.

    Il faut mettre le contenu du fichier zip joint dans le répertoire courant. Ensuite, pour changer la taille du trait, il suffit de redéfinir \bracketwidth (dans le préambule si on veut le fixer une fois pour toutes).

    \documentclass{article}

    \usepackage[latin1]{inputenc}
    \usepackage{amsmath}
    \usepackage{graphicx}
    \usepackage{empheq}

    \begin{document}
    \renewcommand{\bracketwidth}{0.5pt}
    $f(x)=\underset{\small\text{n'est pas irréductible}}{\underbracket{x^2-2x+1}}$

    \vspace{24pt}

    \renewcommand{\bracketwidth}{0.1pt}
    $f(x)=\underset{\small\text{n'est pas irréductible}}{\underbracket{x^2-2x+1}}$

    \end{document}

    6138
  • Merci gp, je vais essayer.

    Mais je t'avoue que je ne suis pas très doué pour les "manoeuvres techniques". Quand tu dis qu'il faut mettre le contenu du fichier mathtools.zip dans le répertoire courant, est-ce que chez moi ça pourrait être le répertoire ci-dessous :

    /local/texlive/2007/texmf/tex/latex ?

    Et dans le péambule, dois-je aussi déclarer le package mathtools avec \usepackage{mathtools} ?

    Encore merci,

    Pierluigi.
  • Il n'y a pas besoin de déclarer le package mathtools car le package empheq l'appelle automatiquement.

    Par répertoire courant, je voulais dire le répertoire où est ton fichier .tex
  • Parfait! Ça marche !! Génial, exactement ce que je voulais. Mais pourquoi le trait avec \overbracket ne s'amincie pas? J'ai essaiyé, mais le trait reste gros. Je pensais qu'avec le \renewcommand{\bracketwidth}{0.5pt} j'allais reduire l'épaisseur de tous le "bracket", \underbracket mais également \overbracket... Où j'ai fait erreur?

    Et pour \underbrace (\oveerbrace), je pourrais le(s) "amincir" aussi ? J'ai essayé avec

    \renewcommand{\bracewidth}{0.5pt}

    mais ça ne marche pas; ça donne erreur...

    Mais de toute manière un gros merci pg.

    Pierluigi.
  • C'est normal que \overbracket ne soit pas affecté, je ne l'avait pas changé. De toutes manières, il y a une manière plus "propre" de faire tout cela. Au lieu de modifier le fichier mathtools.sty (qu'il faut supprimer du répertoire courant car il n'est plus utile), il suffit d'avoir les bons trucs dans le préambule.

    Concernant \overbrace et \underbrace, il n'est pas possible de faire grand chose car les bouts incurvés sont faits par des polices qui sont relativement grasses par défaut. On peut diminuer un petit peut la largeur, comme le montre l'image jointe, mais pas à volonté.

    6145
  • WOW pg! Le crochet carré est très beau; exactement ce que je voulais.

    Par contre, comme tu disais, le trait de l'accolade horizontale rete toujours un peu épais. J'ai finalement décidé de garder uniquement tes commandes pour le \underbracket{} et le \underbracket{}.

    Pour revenir aux \underbrace et \overbracket par défault, c'est correct si je supprime la première partie de tes commandes ? :

    \newcommand{\bracerdt}{\makebox{\tiny$\bracerd$}}
    \newcommand{\bracerut}{\makebox{\tiny$\braceru$}}
    \newcommand{\bracelut}{\makebox{\tiny$\bracelu$}}
    \newcommand{\braceldt}{\makebox{\tiny$\braceld$}}

    \makeatletter
    \def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
    \bracelut\leaders\vrule height 0.8pt depth\z@\hfill\bracerdt
    \braceldt\leaders\vrule height 0.8pt depth\z@\hfill\bracerut$}
    \def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
    \braceldt\leaders\vrule height 0.8pt depth\z@\hfill\bracerut
    \bracelut\leaders\vrule height 0.8pt depth\z@\hfill\bracerdt$}
    \makeatother

    Merci pg.

    En passant, étant donné tes connaissances exceptionnelles en LaTeX, puis-je oser te demander autre chose?

    (1): Je voudrais pouvoir écrire en couleur l'énoncé des théorèmes avec le nom Théorème (avec sa numérotation) en couleur aussi, dans le contexte \begin{théorème}... \end{théorème}. Je peux arriver à écrire en couleur l'énoncé mais je ne sais point comment "colorer" le mot Théorème...

    (2): Autrement, toujour dans le même contexte \begin{théorème}... \end{théorème}, pour colorer uniquement le mot "Théorème"(avec sa numérotation), c-a-d sans colorer l'énoncé, et également pour le mot "Preuve" dans la démontration ?

    (3): Et si je voulais que ce soit écrit "Démostration" plutôt que "Preuve", comment dois-je m'y prendre?

    Encore merci bien pg,

    Pierluigi
Connectez-vous ou Inscrivez-vous pour répondre.