Newsgroup: it.comp.software.tex
Titolo: \overline{} oppure \bar{} ?

Ho bisogno di scrivere il valore medio di una grandezza in una equazione.
Il comando
\overline{M}_{i}
produce una barra molto larga sopra la lettera `M'. Essendo la M piuttosto
`inclinata', la barra tende ad uscire fuori la base minore del trapezio in
cui si puo' immaginare inscritta la M (Giobbe Covatta qui direbbe `Che
cosa ho detto non lo so, ma aggio parlato troppo bbello').
Se invece uso
\bar{M}
la barra viene molto piccola. Un pochino troppo, per un valore medio.
Suggerimenti?
Saluti al NG,
Massimo
-- 
Massimo Pinto
Ph.D. student
Gray Laboratory Cancer Research Trust
http://www.graylab.ac.uk/usr/pinto

 la barra viene molto piccola. Un pochino troppo, per un valore medio.
E' un vecchio, anche se non piccolo, problema.
Nel pacchetto dei font Mathtime esisteva la possibilita' di
usare un `\widebar' analogo a `\widetilde', ma purtroppo
questa possibilita' non c'e' nei font tradizionali.
In realta', la mia idea e' che il `valor medio' e' un operatore
che quindi andrebbe indicato con qualcosa che "copre" il simbolo.
Mi rendo conto che questa convenzione non e' sempre usata; ma che 
ci vuoi fare? 
Un modo potrebbe essere quello di "ingannare" LaTeX sulla reale 
dimensione del carattere da sovralineare (che ne pensi di questa?)
con qualche trucco di \phantom.
Prova!
Enrico

 Suggerimenti?
Caro Massimo, io e te continuiamo ad inciampare sugli stessi problemi
8^)
Io ho cercato varie volte di definire un comando che sostituisse in
modo esteticamente gradevole \overline (che e' una primitiva di TeX);
e sono arrivato alla conclusione che una definizione generale (ovvero
che ``soprallineasse'' gradevolmente _qualsiasi_cosa_) semplicemente
NON e' possibile.  Ogni volta che ho un problema del genere mi
definisco un simbolo-barrato ad hoc; se qualcuno avesse una soluzione
migliore e' il benvenuto...
La _mia_ E-bar e' la seguente:
\newcommand{\Ebar}{\ensuremath{E}%
  \kern-0.58em\hbox{\rule[1.8ex]{0.52em}{0.47pt}}}
Se a te non piacesse (magari perche' hai un font diverso o criteri
estetici differenti), sei libero di giocare con i numerini fino a
trovare una E-bar piu' acconcia per i tuoi gusti.  Il comando di sopra
scrive una $E$, torna indietro di 0.58 em, sale di 1.8 ex ed infine
stampa una righina lunga 0.52 em e spessa 0.47 pt.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.

 stampa una righina lunga 0.52 em e spessa 0.47 pt.
Mi chiedevo se non fosse possibile qualcosa del genere (meta-codice, 
ancora da tradurre in TeX):
\newcommand{\mybar}[1]{
    1) fai una box con #1;
    2) prendi le dimensioni di #1 (tipo wd\numero della box);
    3) torna indietro di wd#1 - 1 * (correzione italica di #1);
    4) fai una riga ad altezza ht#1, spessa [dimensione preferito]
       e ampia wd#1 - 1 * (correzione italica);
}
Qualcosa del genere. Ci penso un po' su. Ovviamente c'è da vedere se 
la ampiezza wd#1 - 1 * (correzione) è veramente quella "giusta" (la 
correzione italica è in di quanto la lettera sporge dal suo 
bbox, ed in qualche modo in relazione con la sua inclinazione). 
Inoltre il tutto funzionerebbe solo con singole lettere, e non con 
intere parole.
-- 
Giuseppe Bilotta
Axiom I of the Giuseppe Bilotta
theory of IT:
Anything is better than MS

 intere parole.
Farlo per più lettere contemporaneamente non dovrebbe essere
più difficile che per una sola (?).
Ti prego, correzione per il corsivo, non *correzione italica*!
"Italics" è il termine inglese per "corsivo".
Ciao
Enrico

 "Italics" è il termine inglese per "corsivo".
Il corsivo si chiama anche italico, anche in italiano, perché è stato 
inventato in Italia (come puoi verificare su qualunque libro di 
tipografia). Per quanto riguarda la correzione, avrei dovuto chiamarla 
"correzione per l'italico" e non "italica", lo ammetto. Mi chiedo se 
qualcuno ne conosce il nome italiano.


 qualcuno ne conosce il nome italiano.
In effetti il Garzanti 
http://www.garzanti.it
 concorda...
Quanto alla 'italic correction', non so come si chiami in italiano, ma
in compenso ho scoperto che il kerning si chiama crenatura, il roman si
chiama tondo, l'indentazione si chiama rientranza, ecc. Su
http://www.irisa.fr/faqtypo/lexique.html
 casomai a qualcuno
interessasse.
Oscar Lazzarino

 interessasse.
Ottimo. Ne ho un gran bisogno per l'interfaccia italiana del ConTeXt. 
Ma com'è che è francese, il sito?


Il problema non e' solo quello; si tratta anche di avere qualcosa che
funzioni in displaystyle, textstyle, scriptstyle, ...; se usi il
simbolo soprallineato in una frazione, ad esempio?  Io avevo pensato a
mettere in un box \mathrm{simbolo} e di prendere la larghezza del box
come misura base per la soprallineatura, e di prendere la "correzione
corsiva" dai fontdimen (si, c'e' il suo valore).  Mi sono arrabattato
a lungo.
Questa e' la versione attuale (beta!) della macro; si accettano
volentieri consigli.
% Simboli soprallineati nel "modo giusto" (ai miei occhi :-)
% - Un primo comando \ob[size]{symbol} e' adatto all'uso in
%   displaystyle e textstyle, in modo testo e matematico: il
%   primo parametro (opzionale, default 0.48pt) e' lo spessore
%   della soprallineatura; il secondo e' il simbolo *matematico*
%   da soprallineare.
% - Un secondo comando \overbar{symbol} e' fatto per il modo
%   matematico soltanto; l'output scala in modo appropriato per
%   ogni size e in pedici ed apici.
\newcommand{\ob}[2][0.48pt]{\setbox0=\hbox{\ensuremath{#2}}%
  \dimen0=\ht0\advance\dimen0 by0.2ex%
  \dimen3=\ht0\multiply\dimen3 by17\divide\dimen3 by100%
  \dimen1=\wd0\advance\dimen1 by-\dimen3\advance\dimen1 by-0.02em%
  \dimen2=\dimen1\advance\dimen2 by-0.03em%
  \ensuremath{#2}%
  \kern-\dimen1\hbox{\rule[\dimen0]{\dimen2}{#1}}%
}
\newcommand{\overbar}[1]{{\mathchoice
  {\displaystyle\ob{\displaystyle#1}}%
  {\textstyle\ob{\textstyle#1}}%
  {\scriptstyle\ob[0.36pt]{\scriptstyle#1}}%
  {\scriptscriptstyle\ob[0.24pt]{\scriptscriptstyle#1}}}}
