Utiliser la virgule comme séparateur décimal dans MathJax

a marqué ce sujet comme résolu.

Salut,

La virgule est en français (de France du moins) le séparateur décimal, en lieu et place du point. Pourtant, si vous regardez les deux formules ci-dessous :

$$ 0.1 $$

$$ 0,1 $$

Vous remarquerez que la deuxième à un écartement bizarre, et disgracieux, qui montre que la virgule est considérée comme une vraie virgule, et non comme un séparateur décimal…

Je me demandais donc s'il était possible de configurer simplement MathJax pour changer ça et avoir de plus belles valeurs numériques.

+0 -0

Salut,

Ce n’est pas une solution sur le long-terme, mais en utilisant 0{,}1, on obtient $0{,}1$. En allant sur la documentation de MathJax, je tombe sur ça qui peut être intéressant.

+0 -0

Salut,

Je ne pense que ce soit une bonne idée, la virgule est énormément utilisée dans d'autres contextes quand on écrit une formule. Que ce soit pour séparer les éléments d'un ensemble, les deux bornes d'un intervalle, les composantes d'un vecteur ligne, des petites équations écrites sur la même ligne, etc. Ce serait dommage de se rendre la tâche plus compliquée pour tous ces cas d'usage juste pour pouvoir utiliser la virgule tranquillement quand on écrit un nombre décimal (ce qui me semble être beaucoup plus rare que les autres cas, d'ailleurs).

Dans le lien que donne Karnaj, je vois ça :

decimalsign: "."

This is the character to be used for decimal points in numbers. if you change this to ",", then you need to be careful about entering points or intervals. E.g., use (1, 2) rather than (1,2) in that case.

Est-ce que c'est plus compliqué de mettre quelques espaces régulièrement ou de devoir se taper des accolades dès qu'on a des nombres dans des formules ? Je sais que les virgules dans les maths sont rares en physique (les formules restent simples), mais pas les applications numériques.

Est-ce que c'est plus compliqué de mettre quelques espaces régulièrement ou de devoir se taper des accolades dès qu'on a des nombres dans des formules ?

Le truc me laisse perplexe sur ce point. Si un simple espace suffit, pourquoi pas en effet. Par contre, si il faut commencer à échapper des espaces pour faire ce que fait une virgule, c'est plus gênant. À tester pour en avoir le cœur net, donc.

Je sais que les virgules dans les maths sont rares en physique (les formules restent simples), mais pas les applications numériques.

Mouais… Pas convaincu par aucun de ces deux points. Cela dit, si effectivement comme la doc semble le suggérer des espaces simples suffisent pour utiliser les virgules comme elles sont censées l'être, la question ne se pose même pas, ça ne mangera pas de pain d'autoriser la virgule comme séparateur décimal (si on peut aussi garder le point pour ne pas casser ce qui existe déjà et surtout permettre d'écrire des intervalles comme $[1.2, 2.6]$ sans se retrouver avec un truc complètement bizarre).

Si une solution de long terme est choisie, faites attention à la retrocompatibilité : toute mes maths avec des virgules sont écrites

$$ 0,\!1$$

0,\!1. Mais j'approuve que ce soit fait automatiquement. :)

+0 -0

Bonjour, le problème c'est que MathJax a une class ('mn') qui ajoute un espace après la virgule. Vous pouvez utiliser ce code après la configuration de votre Mathjax pour effacer la class et utiliser vos formules sans accolades (curly brackets{}).

/(1,3/)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<script>

    MathJax.Hub.Config({
       //votre config
    }); 

    //code à ajouter 
    MathJax.Hub.Register.StartupHook("End",function () { 
            var mesMn = $('.mn')
            mesMn.each(function(i,e){
                var value = $(this).prev().text()
                if(value == ','){
                    $(this).attr('style','font-family: MathJax_Main;')
            }
        })
    });
</script>
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte