[Résolu] Suppression d'un espace vertical

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.

[Résolu] Suppression d'un espace vertical

Messagepar evariste_G » Lundi 18 Février 2013, 17:08

Bonjour.

J'ai voulu écrire une norme de la façon suivante :

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{esvect}
\begin{document}
\[ \left\| \vv{\text{AB}} \right\| \]
\end{document}


mais je me suis aperçu qu'il y avait un espace vide en bas du texte dans la norme ... ce qui ne me plaît pas trop.

Auriez-vous une idée pour le supprimer ?
Dernière édition par evariste_G le Mardi 19 Février 2013, 18:08, édité 1 fois.
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Publicité

Re: Suppression d'un espace vertical

Messagepar balf » Lundi 18 Février 2013, 17:41

Essayez sans \left ... \right. C'est un peu insuffisant, mais acceptable (pour moi).
Mais effectivement, c'est bizarre : j'ai essayé en utilisant \smash[b]{...}, ou de forcer le choix de la taille avec \bigl ... \bigr : rien ne change dans ces cas-là.

B.A.
balf
Zetta-utilisateur
 
Messages: 3748
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Suppression d'un espace vertical

Messagepar evariste_G » Lundi 18 Février 2013, 17:53

Je souhaite utiliser les \left et \right car sans ça, la flèche du vecteur n'est pas contenue dans la norme.
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: Suppression d'un espace vertical

Messagepar evariste_G » Lundi 18 Février 2013, 20:11

Après quelques réflexions, j'ai trouvé une solution :

Code: Tout sélectionner
\raisebox{2pt}{\ensuremath{\big\|\mathclose{}\raisebox{-2pt}{$\vv{\text{AB}}$}\mathopen{}\big\|}}


A titre d'information, je suis en train de faire une extension qui permet d'écrire simplement bon nombre de choses mathématiques, dont celles-ci.
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: Suppression d'un espace vertical

Messagepar balf » Lundi 18 Février 2013, 20:14

En fin de compte, tout me paraît normal : le symbole de norme monte jusqu'à la flèche du vecteur, et il descend symétriquement par rapport à la ligne de base pour les formules (je ne me rappelle plus le nom exact ; ce n'est pas la ligne de base pour le texte, mais l'axe qui traverse le signe = en son milieu).

Je vous envoie le fichier qui m'a servi de test, avec le pdf résultant ; j'y ai comparé ce que donnent respectivement \left - \right, \Bigl - \Bigr, \bigl - \bigr et rien du tout. Il n'y a pas, à ma connaissance de taille intermédiaire.

B.A.
Fichiers joints
testespace.pdf
(32.42 Kio) Téléchargé 120 fois
testespace.tex
(590 Octets) Téléchargé 40 fois
balf
Zetta-utilisateur
 
Messages: 3748
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Suppression d'un espace vertical

Messagepar balf » Lundi 18 Février 2013, 20:17

Je viens de voir votre macro. Je pense que les valeurs pour le \raisebox dépendent de la police utilisée : ce ne sera pas la même valeur pour Latin Modern, pour Fourier, Kpfonts, &c. ?

B.A.
balf
Zetta-utilisateur
 
Messages: 3748
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Suppression d'un espace vertical

Messagepar evariste_G » Lundi 18 Février 2013, 21:52

En effet, c'est assez artificielle comme valeur ... Il faudrait que je trouve un moyen de calculer cette valeur de façon automatique ...
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: Suppression d'un espace vertical

Messagepar un bon petit » Mardi 19 Février 2013, 13:03

Une solution vite fait car manque de temps. Il y a peut-être plus simple.
Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{esvect}
\newcommand*\norme[1]{%
   \begingroup\setbox0 \hbox{$\vcenter{\hbox{$\vv{\text{#1}}$}}$}%
   \setbox1 \hbox{$\vv{\text{#1}}$}%
   \leavevmode\raise\dimexpr\dp0-\dp1\relax\hbox{$\left\|\box0 \right\|$}\endgroup
}
\begin{document}
La norme \norme{AB} du vecteur.

{\scriptsize
La norme \norme{AB} du vecteur.}

La norme \norme{p} du vecteur.

{\scriptsize
La norme \norme{p} du vecteur.}

\[\norme{AB}\]
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 663
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: Suppression d'un espace vertical

Messagepar evariste_G » Mardi 19 Février 2013, 18:08

C'est pas mal du tout ! Et bien mieux que ce que j'ai proposé. Merci !
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: [Résolu] Suppression d'un espace vertical

Messagepar balf » Mardi 19 Février 2013, 21:44

Pas mal en effet ! Deux remarques cependant : pourquoi ne pas utiliser \mathrm{...} plutôt que \text{...}. D'ailleurs l'usage peut aussi être dans un contexte où on utilise l'italique (norme du vecteur u par exemple).

D'autre part, comment se fait-il que pour le vecteur p, les doubles barres verticales descendent environ 1 point au-dessous du bas de la lettre p, alors que pour AB, elles descendent de façon infime ? Personnellement, je trouve plus esthétique qu'elles descendent un peu.

B.A.
balf
Zetta-utilisateur
 
Messages: 3748
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: [Résolu] Suppression d'un espace vertical

Messagepar un bon petit » Mardi 19 Février 2013, 22:09

balf a écrit:D'autre part, comment se fait-il que pour le vecteur p, les doubles barres verticales descendent environ 1 point au-dessous du bas de la lettre p, alors que pour AB, elles descendent de façon infime ?

Parce que les delimiteurs mathématiques ne grandissent pas de façon continue, même dans la cas simple où ils sont des barres verticales.

balf a écrit:Personnellement, je trouve plus esthétique qu'elles descendent un peu.

Dans ce cas, il faut programmer soi-même des délimiteurs «|» qui grandissent de façon continue ce qui est très facile avec \hrule ou \vrule. Ici, ils dépassent de 0.25ex en haut et en bas :

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{esvect}
\newcommand*\norme[1]{%
   \begingroup\setbox0 \hbox{$\vv{\text{#1}}$}%
   \edef\drule{\vrule height\the\dimexpr\ht0+.25ex\relax depth\the\dimexpr\dp0+.25ex\relax width.6pt }%
   \quitvmode
   \hbox{\drule\kern.16667em\drule\kern.16667em \box0 \kern.16667em\drule\kern.16667em\drule}\endgroup
}
\begin{document}
La norme \norme{AB} du vecteur.

{\scriptsize
La norme \norme{AB} du vecteur.}

La norme \norme{p} du vecteur.

{\scriptsize
La norme \norme{p} du vecteur.}

\[\norme{AB}\]
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 663
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: [Résolu] Suppression d'un espace vertical

Messagepar balf » Mardi 19 Février 2013, 22:23

C'est parfait ! Je l'adopte.
Un grand merci,

B.A.
balf
Zetta-utilisateur
 
Messages: 3748
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: [Résolu] Suppression d'un espace vertical

Messagepar evariste_G » Mardi 19 Février 2013, 22:26

balf a écrit:Pas mal en effet ! Deux remarques cependant : pourquoi ne pas utiliser \mathrm{...} plutôt que \text{...}. D'ailleurs l'usage peut aussi être dans un contexte où on utilise l'italique (norme du vecteur u par exemple).B.A.


Et bien, utiliser \text{} permet justement de mettre en italique le "u" :

Code: Tout sélectionner
\norme{$u$}


alors qu'en utilisant \mathrm{}, ce n'est plus possible.
evariste_G
Téra-utilisateur
 
Messages: 1374
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: [Résolu] Suppression d'un espace vertical

Messagepar un bon petit » Mardi 19 Février 2013, 22:34

Ici, l'utilisation de \text est de toutes façons une faute.
En effet, \text sert à insérer du texte non math dans une formule (pour mettre une unité par exemple).

Je propose donc de se passer de \mathrm ou de \text et de mettre l'argument #1 tel quel. Charge à l'utilisateur de spécifier quelle fonte il veut :

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{esvect}
\newcommand*\norme[1]{%
   \begingroup\setbox0 \hbox{$\vv{#1}$}%
   \edef\drule{\vrule height\the\dimexpr\ht0+.25ex\relax depth\the\dimexpr\dp0+.25ex\relax width.6pt }%
   \quitvmode
   \hbox{\drule\kern.16667em\drule\kern.16667em \box0 \kern.16667em\drule\kern.16667em\drule}\endgroup
}
\begin{document}
La norme \norme{u}, \norme{\mathrm{p}}, \norme{AB}, \norme{\mathrm{AB}}, \norme{\mathsf{AB}}.
\end{document}
un bon petit
Giga-utilisateur
 
Messages: 663
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
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: Alexa [Bot], Google Adsense [Bot], Proximic [Spider] et 37 invités