web-dev-qa-db-fra.com

symbole mathML / HTML pour vecteur mathématique

Y at-il un moyen de faire quelque chose comme l'image ci-dessous en utilisant HTML/mathML basé sur le texte. Mon souci concerne les flèches sur la lettre v. C'est pour iOS (webKit); Je préférerais ne pas utiliser mathJAX ou similaire si je peux l'aider.

enter image description here

4
William Jockusch

J'ai trouvé ça:

2v⃗+w⃗=0⃗

2v⃗ + w⃗ = 0⃗

2vplusw

Ce serait bien s'il y avait un moyen plus intuitif de le faire. Mais au moins ça marche.

4
William Jockusch

Principalement, les symboles de vecteurs doivent être notés en italique gras, conformément à la norme internationale concernant les notations mathématiques, ISO 80000-2. C'est facile en HTML:

<b><i>v</i></b>

En théorie, vous pouvez également utiliser des caractères spéciaux tels que U + 1D497 MINUSCULE ITALIQUE GRASSE V (qui peut être écrit sous la forme &#x1d497; en HTML), mais ces caractères sont pris en charge par très peu de polices .

Le standard autorise une notation alternative utilisant une flèche au-dessus d'un symbole (qui doit apparaître en italique s'il s'agit d'une variable). Il n'identifie pas la flèche au niveau de l'encodage des caractères, mais il est apparemment identifiable avec U + 20D7 COMBINAISON ARROW RIGHT ABOVE, qui peut être écrit en tant que &#x20d7; ou en tant que &#8407; en HTML.

Cependant, support de la police pour ce personnage est plutôt pauvre, à plusieurs égards. Quelques polices le supportent, et la plupart sont des polices sans empattement (qui ne conviennent généralement pas pour les textes mathématiques) et ne comportent pas de caractères italiques. Bien que la flèche elle-même ne devrait pas être en italique, cela signifie que le caractère de base doit provenir d'une police différente, ce qui crée généralement un désordre. De plus, les navigateurs et autres logiciels de rendu ne semblent pas placer la flèche correctement, probablement parce qu’elle est mal définie dans les polices. Donc, avec les implémentations actuelles, utiliser une flèche ci-dessus n'est pas une option raisonnable.

En MathML, vous pouvez écrire, par exemple,.

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mover>
    <mi>v</mi>
    <mo>&rarr;</mo>
    </mover>
</math>

mais le rendu est plutôt médiocre (la flèche est trop longue), et par ex. IE 9 ne prend pas en charge MathML incorporé à un document HTML.

La conclusion est que MathJax ou jqMath est probablement le meilleur tireur de la pratique, si vous souhaitez utiliser la notation "flèche au-dessus" (ou utiliser généralement des formules mathématiques comportant deux valeurs intrinsèques). -dimensionnalité, par opposition aux simples séquences de caractères et aux simples indices et exposants).

2
Jukka K. Korpela

La flèche par défaut est un peu grosse pour être utilisée comme une flèche supplémentaire, mais vous pouvez le faire.

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mover>
    <mi>v</mi>
    <mo mathsize="50%">&rarr;</mo>
    </mover>
</math>

qui rend raisonnablement bien dans firefox (gecko) et chrome (webkit) sur Windows, ne peut pas tester iOS.

1
David Carlisle

Je ne pense pas que la plupart des gens connaissent la convention italique en gras pour les valeurs vectorielles, donc je pense qu'il est préférable de placer la petite flèche au-dessus des vecteurs afin qu'ils puissent être facilement identifiés en tant qu'entités différentes, avec leurs comportements différents en Physique, des scalaires (et pas la partition ci-dessus, la notation alternative, parce que celle-ci, peut être confondue avec un ensemble complémentaire ou une notation élémentaire).