Newsgroup: it.scienza.fisica
Titolo: Sulla scrittura di simbolo matematici nei forum

 
Essendo, per colpa mia, avvenuta una discussione OFF TOPIC nel thread "Sulla corrente di quantità di moto" riporto qui, per chi volesse, parte della discussione.
 
[mod: secondo me era un OT accettabile]
 
- Wakinian Tanka nel descrivere una formula chiarisce i simboli in essa usati "Indico con "pi" il simbolo pi greco minuscolo grassetto (...) per diversificarlo dal "d" del differenziale totale e dalla "d con asta ricurva a sinistra" del differenziale parziale."
 
- io osservo la stranezza del "fatto che la comunicazione via rete, sviluppata in ambito scientifico, non abbia proposto fin dall'inizio uno standard per la scrittura di espressioni matematiche."
e indico un "semplice" modo usato in rete per identificare in modo non ambiguo le formule, si tratta di AsciiMath
- Giorgio Pastore replica sul metodo usato su stackexchange: "se uno conosce LaTeX, Mathjax non è un serio problema problema." 
- io indico la differenza nella semplicità di scrittura del metodo da me indicato
 
- Giorgio Pastore parla della specificità dei NG, che hanno il vincolo comune di *non* usare linguaggi di descrizione del testo (markup languages), aggiungendo che un vantaggio c'e' nel costringere a descrivere
tutto il più possibile a parole o con caratteri all'interno di
codifiche standard. 
- Frigeni replica che la scrittura da me indicata è possibile anche in Mathjax.
[per chi vuol vedere la formula: 
https://www.scuolefvg.org/doc/f.html?int_0
^oof(x)dxapproxsum_(i=1)^nw_ie^(x_i)f(x_i) ]
 
 
Ritengo che la discussione non abbia l'obiettivo di obbligare a uno standard di scrittura, che a volte non potrebbe essere gestito da alcuni partecipanti al NG, né essere piacevole da usare anche dai più esperti, visto che molto si chiarisce dal contesto.
 
Tuttavia quando si va sul tecnico si hanno dei doveri, ad esempio
 
"p è uno scalare, un vettore o viene scritto in grassetto per qualche altro motivo, magari è un tensore?", ovvero `a`, `vec a` o `bb a` in AsciiMath o in Mathjax.
 
 
A questo proposito correggo una falsa contrapposizione, da me creata: dalla versione 3, se non erro, Mathjax ha deciso di incorporare AsciiMath, per cui anche in quell'ambiente è possibile una scrittura semplificata.
 
Semplificata fino ad un certo punto (*)...
- Velocità media: bar v=(Delta s) / (Delta t) ; bar v è la lettera "v" con sopra una barretta;
 
- Legge di Coulomb: vec F =1/(4 pi epsilon_0) (q_1 *q_2)/r^2 hat r ; vec Fmette una freccetta sopra la lettera F, mentre hat r - che indica un versore - mette sopra r un accento circonflesso; gli indici sono collegati alla lettera che la precede dal segno di sottolineatura _;
 
- Forma integrale della legge di Ampère: oint vec B*d vec s=mu_o epsilon_0 (del Phi_E)/(del t) +mu_o I; del è la "d con asta ricurva a sinistra" del differenziale parziale."
- Una delle forma matriciali del tensore di stress di Cauchy
bb sigma[[sigma_(x x),sigma_(x y),sigma_(x z)],
 [sigma_(y x),sigma_(y y),sigma_(y z)],
[sigma_(z x),sigma_(z y),sigma_(z z)]]
 
 
In sintesi: ognuno scriva come vuole, ma se la discussione va molto sul tecnico, alcuni standard esistenti su rete hanno la funzione di facilitare l'identificazione precisa di quanto scriviamo e aiuta chi legge a interpretare bene l'intenzione dello scrivente.
 
FP
 
---
Per provare:
http://asciimath.org/
 
(*) formule visibili in 
https://www.scuolefvg.org/doc/editor.html
 

 
Ok, in 
http://asciimath.org/
 funzionano le stringhe scritte qui sotto, ma l'unico modo per vedere il risultato è copiarle li? 
 
Densità di qdm:
 
\vecpi=(\delta\vecP)/(\delta\sigma)
 
 
Relazione tra pi e F: 
 
(d\vecpi)/(dt) =d((\delta\vecP)/(\delta\sigma))/(dt)=(\delta(d\vecP)/(dt))/(\delta\sigma)=(\delta\vecF)/(\delta\sigma)=stress-=\Theta\ \bbn
 
 
elemento di Forza attraverso l'elemento di superficie:
 
\delta\vecF=\Theta\ \bbn\ \delta\sigma
 
 
Corrente di qdm attraverso la superficie Sigma:
 
\vecF=\int_\Sigma\Theta\ \bbn\ \delta\sigma
 
 
--
Wakinian Tanka

 Ok, in 
http://asciimath.org/
 funzionano le stringhe scritte qui sotto, ma l'unico modo per vedere il risultato è copiarle li? 
 
 
Visto che Google Gruppi non carica l'interprete Mathjax, non c'è modo di vedere in questo NG il risultato delle formule, a differenza di quanto accade in 
https://physics.stackexchange.com
 .
 
Allora l'ortografia di questi interpreti a cosa serve?
Ci suggerisce solamente un modo di scrivere le formule senza ambiguità (eccessive).
Chiaramente se scrivo 
F=ma 
nessuno si sognerà di dover scrivere 
vec F = m * vec a
o
\vec F = m * \vec a ;
qui il contesto è chiaro!
 
 
L'ortografia suggerita dalle formule diventa più importante in formule complesse, ma si tratta di usare un'ortografia abbastanza vicina alla scrittura "naturale", altrimenti perdiamo lo scopo comunicativo della scrittura: siamo in un NG non stiamo scrivendo un libro.
 
Ad esempio, a
\vecpi=(\delta\vecP)/(\delta\sigma) (Densità di qdm)
personalmente preferirei 
vec pi = (delta vec P)/(delta sigma) ; "Densità di qdm"
oppure
vec pi = delta/(delta sigma) vec P
Se tutti sanno già quali variabili siano vettori, potrei tranquillamente trascurare il "vec".
 
 
L'interprete ajax/javascript analizza la riga un carattere alla volta e quando incontra un token, una parola chiave, la rende immediatamente. Infatti scrivendo "vec pi" su 
http://asciimath.org/
 vediamo che nello scrivere  la resa grafica cambia in continuazione, fino a stabilizzarsi.
Potrei, se voglio farmi del male, scrivere anche solo
vecpi=delta/(deltasigma)vecP !
Ma lo scopo è quello di permettere al lettore di seguire il discorso, non di rendergli la vita difficile o allontanarlo.
 
Quindi la relazione tra pi e F: 
(d\vecpi)/(dt) =d((\delta\vecP)/(\delta\sigma))/(dt)=(\delta(d\vecP)/(dt))/(\delta\sigma)=(\delta\vecF)/(\delta\sigma)=stress-=\Theta\ \bbn
 
Potrebbe essere scritta (ma è solo una delle proposte possibili)
 
 
(d vec pi)/dt = d/dt  delta/(delta sigma) vec P = delta/(delta sigma) d/dt vec P = (delta vec F)/(delta sigma) ="stress" -= Theta bb n
 
Se è chiaro, allora vec e bb possono essere trascurati.
 
E per il resto: elemento di Forza attraverso l'elemento di superficie
\delta\vecF=\Theta\ \bbn\ \delta\sigma
delta vec F = Theta bb n * delta sigma
Introduco un "*", che sta per il puntino, ma è una scelta personale.
ma con una certa ambiguità: intendevo 
delta vec F = bb Theta vec n * delta sigma ?
o preferivo una scrittura "grafica" non semantica, come
delta bb F = bb Theta bb n * delta sigma
ecco che la scrittura toglie l'ambiguità al lettore, forse...
 
Corrente di qdm attraverso la superficie Sigma:
\vecF=\int_\Sigma\Theta\ \bbn\ \delta\sigma
vec F = int_Sigma (Theta bbn) delta sigma , o simile
Nota: Ho preferito mettere le parentesi per chiarire su quali elementi agisce l'integrazione
 
E' solo una discussione, in fondo il NG va avanti da annorum senza lamentele.
 
La mia lamentela è verso i creatori del web (il Signore li benedica comunque), scienziati che non hanno fin dall'inizio previsto questa necessità di chiarezza.
 
Furio

 La mia lamentela è verso i creatori del web (il Signore li benedica comunque), scienziati che non hanno fin dall'inizio previsto questa necessità di chiarezza.
 
E che c'entra il web? I NG Usenet NON sono web. Sono altro. Esattamete 
come la e-mail, e altre modalità di scambio di informazioni su Internet. 
Internet permette molte modalità. Il web ne assorbe una gran parte, 
fornendo anche a "cose" che non sono web un'interfaccia web unificante. 
Ma questo non vuol dire che tutto sia web. I server nntp parlano un 
altra "lingua" rispetto ai server web.
 
Se lo strumento NG sta stretto occorre cambiare strumento invece di 
cercaredi stravolgere i NG. P.s. usando un forum già esistente (però 
attenzione che stackexchange non è un forum).
 
Giorgio

 altra "lingua" rispetto ai server web.
 
Usenet usa NNTP, un protocollo di trasporto a 7 bit.
 
Questo non vuol dire che quanto trasportato debba essere visibile "com'è", altrimenti non ci sarebbero gruppi con foto e video, come alt.binaries.pictures.fine-art
 
--- inciso tecnico ---
Anche SMTP è protocollo di trasmissione di email, e POP2 o IMAP di gestione della casella postale.
Poi c'è il client di posta (ad esempio thunderbird) che gestisce in locale e visualizza.
Cosa visualizza?
 
Qui interviene il MIME che nell'intestazione Content-Type riconosce le diverse parti del messaggio. A noi interessa il tipo Text, dati testuali leggibili, in particolare il riconoscimento segue le codifiche text/rfc822 [RFC822]; text/plain [RFC2646]; text/html [RFC2854].
Ed eccoci ad HTML, che si accoppia normalmente all'HTTP, protocollo usato dal web.
--- fine inciso ---
 
 
Il protocollo HTTP può essere quindi usato anche nella lettura delle email (sono finiti i tempi in cui non ci si firmava per risparmiare caratteri).
Ci sono delle limitazioni, anche di sicurezza.
Tuttavia con Thunderbird si possono inserire formule (inserisci>matematica) direttamente.
In genere si preferisce, nella posta elettronica inviare un allegato o un'immagine, ad esempio realizzata da 
https://www.intmath.com/help/send-math-email.php
 oppure un collegamento quale 
https://www.scuolefvg.org/doc/f.html?sum_(i=1)
^ni^3=((n(n+1))/2)^2 .
 
Personalmente leggo il NG tramite google gruppi che rende in web il contenuto del NG.
 
 
E' quindi vero che NG e email non sono web, usano protocolli diversi, ma è vero anche che l'interpretazione del contenuto dipende dagli standard definiti in diversi RFC, e che nelle email tutto è più facile.
 
 
Resta il mio rammarico che non sia stato nativamente previsto, o in seguito raccomandato, un modo semplice (non certo MathML) per scrivere e rendere formule matematiche.
 
 
Ciò non modifica la discussione attuale, che consiste soprattutto nel discutere su come questi standard (Mathjax / AsciiMath) nati in web possono dare dei suggerimenti su come scrivere formule ben formate anche sui NG.
 
Furio
 
 
 
 

 Il protocollo HTTP può essere quindi usato 
Sorry: il Markup Language HTML.
fp

 
 
 
Ma non è più semplice e leggibile una scrittura plain-text unicode tipo 
questa?
 
�� -- = 1/(4πε₀) (q₁q₂)/r² È"

 �-- = 1/(4πε₀) (q₁q₂)/r² �"
 
il mio sistema usa UTF-8 encoding
In effetti il primo e penultimo simbolo mi appaiono deome 
punti interrogativi bianchi in un ovale pieno nero.
Non esiste una codifica plain-text realmente portabile salvo 
il 7-bit ASCII.
 
certo, unicode copre bene il mondo windows che è una fetta 
ampia.
Ma qui me lo supportano bene solo certi programmi tipo LbO, 
gli altri dipende
 
 
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)

 il mio sistema usa UTF-8 encoding
 
Così è... nell'ASCII non esteso, quello codificabile a 7 bit, gli unici caratteri che è possibile usare sono:
 
SPAZIO ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

 ���-- = 1/(4πε₀) (q₁q₂)/r² �"
 
Purtroppo nei ng moderati molti simboli non passano
correttamente. Anch'io avevo provato con successo su it.test
e poi su isf il mio post pieno di simboli e` arrivato
illeggibile.
 
Ciao
Paolo Russo

 
 
Non esageriamo, l'unicode ormai è supportato ovunque. Del resto tu 
stesso stai usando le vocali accentate, che sono non-ASCII.
 
Per π o ∆ è la stessa cosa.
 
Altri simboli un po' più particolari o combinazioni insolite potrebbero 
non essere rese ottimamente oppure del tutto ignorate.

 non essere rese ottimamente oppure del tutto ignorate.
 
... o anche rifiutate.
 
Ho provato ad inviare un messaggio contenente la tabella di ASCII estesa (caratteri dal 126 al 255) che è stato rifiutato dal Robot moderatore che lo ha considerato un'immagine contravvenendo alla regola [CODICE: nobinaries: base64 encoded].
 
In sintesi le immagini possono essere spedite solo nei NG *.binaries.* o it.binari.* e così un certo numero di caratteri speciali: quali? Non lo so.
Come è stato detto, di solito le lettere con accento vengono permesse e così per alcune lettere greche.
 
 
Ecco perché è consigliabile, nella scrittura attenersi ad una scrittura più semplice possibile; possibilmente senza aggravarla con troppi "\"  o precisando prima la natura (scalare, vettore, tensore...) delle variabili.
 
Il problema esiste anche per le operazioni, ma mi pare che usiamo per il prodotto scalare e quello vettoriale i simboli anglosassoni . e x (basta non usare la "x" come variabile, in AsciiMath si usa * e xx). 
 
Certi simboli che ho visto usare, come la freccia in su può essere espressa in italiano ad esempio frecciasu, invece che con il convenzionale uarr (che ricorda l'Unione degli Atei Razionalisti).
 
Tuttavia bisogna pensare a chi legge e alle possibili interpretazioni errate.
 
fp

 ignorate.
 
in genere UTF-8 riesce a includere la maggior parte dei 
simboli unicode come sequenze valide.
Però ci sono alcuni (credo limitati) range di codici che 
sono validi o solo in unicode o solo in UTF
nel qual caso vengono resi un po' a cazzo dai programmi 
utente che cercano cmq di preservare la resa di tutto il 
resto anche dopo un codice invalido (che viene 
"circoscritto" al minimo danno per il seguito)
.
UTF-8 è molto compatto come occupazione di spazio, grazie 
alla variable size, ma ha una codifica non "assoluta", nel 
senso che nei multibyte la validità dello stato di un byte a 
volte dipende dalla "storia" degli 1 o 2 byte che lo precedono.
Se non ricordo male unicode è "assoluto" nel senso che ogni 
sequenza è in teoria valida
La forte affermazione di unicode ha portato a introdurre ad 
es. in C la dichiarazione "wide char" per le stringhe non ASCII.
Quel che forse non è sempre vero è che non sempre un FONT 
selezionato contiene simboli per tutte le 65536 combinazioni 
del dato wide char, per cui si possono avere simboli che, 
ancorché validi come stringa, non riescono a essere resi 
bene perché o il Font non è dichiarato oppure non è 
"embedded" nell'oggetto e nemmeno installato nel sistema, a 
quel punto il programma che renderizza il testo si deve 
arrendere ed emettere un simbolo di default.
 
Il trattamento del testo è tra le più fastidiose e 
frustranti problematiche quando pensi a gestione "generica" 
delle stringhe di testo (seconda però alla gestione dei 
formati DATA/ORA dove ci si addentra nell'esoterismo puro)


 
 
 


 
 
Un po' scomodo però.

Il 21/02/20 15:12, Paolo Russo ha scritto:

Comunque ho sbagliato io a scrivere. La formula giusta era questa:
 
F⃗ = 1/(4πε₀) (q₁q₂)/r² r̂


azzo adesso la vedevo !!!
è una F con una freccina sopra ... e non ho cambiato nessun 
settaggio !


 Un po' scomodo però.
 
 


 
 
 �� -- = m 𝐚 
 
a proposito di Unicode :-) 
 
--
Gino Di Ruberto, IK8QQM
(american callsign K8QQM),
ID DMR: 2228273

 
Si. Quel simbolo significa "versore di r" ovvero vec r/r altrimenti dovresti dividere per r^3 e moltiplicare per vec r. 
 
--
Wakinian Tanka

 
 
Quello è il problema minore. Il problema grosso delle codifiche è quando 
viene reso il simbolo sbagliato, e questo problema, con l'unicode è 
stato risolto.
 

 
 
Una stringa rigorosamente ASCIIZ è perfettamente compatibile con UTF-8, 
il problema è che in tal caso non puoi usare nemmeno le vocali accentate.
 

  Gecko/20100101 Thunderbird/68.5.0
che non dovrebbe essere tanto lontano dal mio sistema (non quanto
Windows, almeno).
 
 
-- 
Elio Fabri

 idee
 
Ritengo positivo, della discussione, questa considerazione, condivisa anche da te: cerchiamo di non uscire dall'ASCII "puro".
Aggiungerei: descriviamo la natura delle variabili prima di scriverle, così non abbiamo bisogno di freccette sopra le lettere o grassetti.
 
 
Personalmente ho mostrato che persone che studiano il problema da numerosi anni (dal 2007) hanno individuato dei metodi precisi di scrittura in ASCII puro; ho anche espresso l'opinione che i linguaggi troppo tecnici (MathML, LaTeX...) a volte sono così pesanti da non essere adeguati ad un NG e che Mathjax e Asciimath forniscono dei suggerimenti validi per la scrittura di formule, anche se un po' troppo orientati alla lingua inglese.
 
FP


ecco io lo so che farò e ho già fatto incazzare prima fisici 
e matematici, ma proporrei l'obbligatorietà di usare almeno 
TRE caratteri per qualsiasi variabile con rarissime 
eccezioni (meglio nessuna)
 
con tre caratteri normali, anche case-insensitive, si ha già 
un discreto "spazio nomi" per scatenare poche collisioni, e 
non è che le formule si allungherebbero chissà quanto.
 
Lo so : sarebbe come con l'Esperanto, soluzione partirita a 
tavolino, e mai parlato da nessuno :\
 
cmq vi esterno tutto il mio odio viscerale (da 
amatore-programmatore) per chi scrive codice con nomi di 
variabili di una lettera.
E si : eccedo largamente all'estremo opposto :)


 
 
A quanto pare ho solo una versione più aggiornata di Thunderbird.

 
 
Sì, ma dall'ASCII puro ci esci anche usando le vocali accentate.