Re: Simbolo matematico della fase

#6858
Up
0
Down
::

Sono sincero. Non ci sarei mai arrivato, però a dire la verità il codice non è molto complicato.

Se non erro \strip@pt trasmorma una lunghezza in un numero puro “toglie pt”.
Phasetot è pari all’antezza più la profondità della box \phasebox, è cioè pari all’altezza totale.
Poi aumenti di 0.23ex per allineare verticalmente.
La stessa cosa fai in lunghezza ed aumenti di 0.5\phasetot per aumentare la linea sotto e per allineare orizzontalmente quello che c’è dopo la funzione.

Poi scrivi
` \begin{picture}(\ph@x,\ph@y)
\put(0,0){\circle*{.4}}
\put(0,0){\line(1,0){\ph@x}}\put(0,0){\line(1,2){\ph@dx}}
\put(\ph@dx,1){\raise\phasedp\vbox{\box\phasebox}}
\end{picture}%`

L’unica cosa che non ho capito è il compito di questo comando, poi con calma mi leggo la doc di pict2e.

Perché scrivi \put(0,0){\circle*{.4}}?.

Poi di seguito metti la linea obligua e quella orizzontale e poi la funzione tramite \box\phasebox.

Inoltre spiegami come funziona il comando \line(x,y){lunghezza}, perché non ho capito quale è il punto di partenza e quello finale, cioè i due estremi.

Aumento la dimensione verticale totale di 0.23ex (cioè, a corpo 10, di un punto, ma scalando se si usano corpi maggiori) per lasciare lo spazio fra il simbolo e la linea orizzontale.

L’aumento di .5\phasetot della dimensione orizzontale è per lasciare lo spazio per la barra obliqua. All’inizio avevo messo .58, che è l’inverso della radice di 3, geometricamente corretto, ma non veniva altrettanto bene, a occhio.

L’ambiente picture serve a disegnare le due linee. Il piccolo disco pieno (cioè \circle*{.4}) serve a mascherare gli attacchi dei due segmenti. Se lo commenti puoi vedere l’effetto. Non è proprio il massimo, ma a dimensioni normali sembra che funzioni.

Il comando \line ha una sintassi curiosa: \line(x,y){n} disegna il segmento di retta di coefficiente angolare y/x che corrisponde a uno spostamento orizzontale di n (le misure sono rispetto a \unitlength). Per esempio, con \put(0,0){\line(2,1){4}} il punto iniziale è (0,0) e quello finale è (4,2); con \put(1,3){\line(1,2){8}} il punto iniziale è (1,3), quello finale è (1+8,3+8*2)=(9,19)

Ho scelto una \line(1,2) perché ha la stessa inclinazione della barra usuale.

La supposizione su \strip@pt è corretta; ne ho bisogno per trasformare una lunghezza nella sua misura rispetto a \unitlength.

Ciao
Enrico

Go to top