Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

\overline{} oppure \bar{} ?

1,952 views
Skip to first unread message

Massimo Pinto

unread,
Mar 28, 2001, 4:38:34 AM3/28/01
to
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

Enrico Gregorio

unread,
Mar 28, 2001, 5:36:03 AM3/28/01
to
Massimo Pinto <pi...@graylab.ac.uk> scrive:

> 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.

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

Maurizio Loreti

unread,
Apr 3, 2001, 3:51:40 AM4/3/01
to
Massimo Pinto <pi...@graylab.ac.uk> writes:

> 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?

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.

Giuseppe Bilotta

unread,
Apr 5, 2001, 10:17:29 AM4/5/01
to
Maurizio Loreti wrote:
> Massimo Pinto <pi...@graylab.ac.uk> writes:
>
> > 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'.

[snip]

> > Suggerimenti?
>
> Caro Massimo, io e te continuiamo ad inciampare sugli stessi problemi
> 8^)

Sarà l'iniziale del nome ... ;-) Notate come sia la stessa lettera che
crea problemi di soprallineatura ;-)

> 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;

Che tra l'altro è suggerito comunque, soprattutto se il simbolo barrat
è usato più d'una volta, anche nella documentazione AMS-LaTeX.

> se qualcuno avesse una soluzione migliore e' il benvenuto...

Sai che mi sta venendo una mezza idea?

> 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.

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

Enrico Gregorio

unread,
Apr 5, 2001, 10:40:55 AM4/5/01
to
Giuseppe Bilotta <obl...@freemail.it> scrive:

> [SNIP]


> 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.

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

Giuseppe Bilotta

unread,
Apr 6, 2001, 6:48:59 AM4/6/01
to
Enrico Gregorio wrote:
> Farlo per più lettere contemporaneamente non dovrebbe essere
> più difficile che per una sola (?).

Ed invece sì, giacché la correzione (vedi poi) dipende dalle lettere,
e dovresti isolare separatamente la prima ed ultima lettera, con
relativo font.

> Ti prego, correzione per il corsivo, non *correzione italica*!
>
> "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.

Oscar Lazzarino

unread,
Apr 6, 2001, 7:16:26 AM4/6/01
to
Giuseppe Bilotta wrote:
>
> 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.

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

Giuseppe Bilotta

unread,
Apr 6, 2001, 4:12:23 PM4/6/01
to
Oscar Lazzarino wrote:
> 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,

O anche semplicemente rientro.

> Su http://www.irisa.fr/faqtypo/lexique.html casomai a qualcuno
> interessasse.

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

Maurizio Loreti

unread,
Apr 17, 2001, 11:50:19 AM4/17/01
to
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}}}}

0 new messages