2
3

Le trait suscrit que j'obtiens est trop court :

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
$\bar{XY}$
\end{document}

Pourquoi ?

Posée 30 Nov '17, 01:27

Jean-Michel's gravatar image

Jean-Michel
36271318
Taux d'acceptation : 0%

1

Avez-vous essayé la commande \overline ?

(30 Nov '17, 01:42) Pathe ♦♦ Pathe's gravatar image

Une solution simple : utiliser la commande \widebar de l'extension mathabx. Elle peut nécessiter d'ajouter un peu de crénage pour un résultat optimal.

Une meilleure solution (à mon avis du moins) : j'ai emprunté un code sur TeX Stack Exchange, et défini une (petite) extension widebar, qui tient compte de l'« angle italique » de la police.

Démo:

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{widebar}

    \DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
    \DeclareFontShape{U}{mathx}{m}{n}{
    <5><6><7><8><9><10>
    <10.95><12><14.4><17.28><20.74><24.88>
    mathx10
    }{}
    \DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
    \DeclareFontSubstitution{U}{mathx}{m}{n}
    \DeclareMathAccent{\varwidebar}{0}{mathx}{"73}

\begin{document}

$\bar{XY}Z\quad \varwidebar{XY\mkern3mu}\mkern -3mu Z\quad\widebar{XY}Z$

\end{document}

alt text

Le fichier widebar.sty:

Ouvrir dans l'éditeur Overleaf
%%%%%%%%%%%%%%%%%%%%%%%%
% IDENTIFICATION
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{widebar}

%%%%%%%%%%%%%%%%%%%%%%%%
%%% Définit une commande \widebar analogue à \widehat,  meilleure que \bar et \overline
\RequirePackage{amsmath}
%%% et une commande \wideunderbar (à vérifier) %% Ajout 27 décembre 2015
%%% Peut avoit des problèmes avec les indices
%%% Trouvé ici : http://tex.stackexchange.com/questions/16337/can-i-get-a-widebar-without-using-the-mathabx-package/60253#60253
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\let\save@mathaccent\mathaccent
\newcommand*\if@single[3]{%
  \setbox0\hbox{${\mathaccent"0362{#1}}^H$}%
  \setbox2\hbox{${\mathaccent"0362{\kern0pt#1}}^H$}%
  \ifdim\ht0=\ht2 #3\else #2\fi
  }
%The bar will be moved to the right by a half of \macc@kerna, which is computed by amsmath:
\newcommand*\rel@kern[1]{\kern#1\dimexpr\macc@kerna}
%If there's a superscript following the bar, then no negative kern may follow the bar;
%an additional {} makes sure that the superscript is high enough in this case:
\DeclareRobustCommand\widebar[1]{\@ifnextchar^{{\wide@bar{#1}{0}}}{\wide@bar{#1}{1}}}
%Use a separate algorithm for single symbols:
\newcommand*\wide@bar[2]{\if@single{#1}{\wide@bar@{#1}{#2}{1}}{\wide@bar@{#1}{#2}{2}}}
\newcommand*\wide@bar@[3]{%
  \begingroup
  \def\mathaccent##1##2{%
%Enable nesting of accents:
    \let\mathaccent\save@mathaccent
%If there's more than a single symbol, use the first character instead (see below):
    \if#32 \let\macc@nucleus\first@char \fi
%Determine the italic correction:
    \setbox\z@\hbox{$\macc@style{\macc@nucleus}_{}$}%
    \setbox\tw@\hbox{$\macc@style{\macc@nucleus}{}_{}$}%
    \dimen@\wd\tw@
    \advance\dimen@-\wd\z@
%Now \dimen@ is the italic correction of the symbol.
    \divide\dimen@ 3
    \@tempdima\wd\tw@
    \advance\@tempdima-\scriptspace
%Now \@tempdima is the width of the symbol.
    \divide\@tempdima 10
    \advance\dimen@-\@tempdima
%Now \dimen@ = (italic correction / 3) - (Breite / 10)
    \ifdim\dimen@>\z@ \dimen@0pt\fi
%The bar will be shortened in the case \dimen@<0 !
    \rel@kern{0.6}\kern-\dimen@
    \if#31
      \overline{\rel@kern{-0.6}\kern\dimen@\macc@nucleus\rel@kern{0.4}\kern\dimen@}%
      \advance\dimen@0.4\dimexpr\macc@kerna
%Place the combined final kern (-\dimen@) if it is >0 or if a superscript follows:
      \let\final@kern#2%
      \ifdim\dimen@<\z@ \let\final@kern1\fi
      \if\final@kern1 \kern-\dimen@\fi
    \else
      \overline{\rel@kern{-0.6}\kern\dimen@#1}%
    \fi
  }%
  \macc@depth\@ne
  \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar
  \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}%
  \macc@set@skewchar\relax
  \let\mathaccentV\macc@nested@a
%The following initialises \macc@kerna and calls \mathaccent:
  \if#31
    \macc@nested@a\relax111{#1}%
  \else
%If the argument consists of more than one symbol, and if the first token is
%a letter, use that letter for the computations:
    \def\gobble@till@marker##1\endmarker{}%
    \futurelet\first@char\gobble@till@marker#1\endmarker
    \ifcat\noexpand\first@char A\else
      \def\first@char{}%
    \fi
    \macc@nested@a\relax111{\first@char}%
  \fi
  \endgroup
}
Lien permanent

Publiée 30 Nov '17, 03:05

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.