web-dev-qa-db-fra.com

Ajouter Mathjax à un site Web Joomla

J'aimerais ajouter la fonctionnalité MathJax à mon site Web, mais je ne sais pas comment s'y prendre.

  • Est-ce que cela nécessite l’utilisation d’un modèle spécifique ou la modification d’un modèle existant? (J'utilise actuellement AllRounder si la réponse est spécifique à un modèle.)
  • Dois-je utiliser un autre éditeur? (J'utilise actuellement JCE Editor)?

Actuellement, la gestion du contenu du site Web est exclusivement effectuée par moi du côté administratif, bien que je ne sache pas si cela compte. (Il est possible qu'un site Web veuille restreindre l'utilisation de MathJax à certains utilisateurs privilégiés?)

6
bobthechemist

Tout ce dont vous avez besoin est un plugin. Vous pouvez écrire un plugin de contenu en ajoutant une méthode onContentPrepare:

    public function onContentPrepare($context, &$article, &$params, $page = 0)
    {   
            $doc = JFactory::getDocument();
            $doc->addScript("http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML");
    }

ou vous pouvez utiliser le plugin jexbox .

Modifier:

En tant que réponse @Anibal, vous pouvez modifier le fichier de modèle. J'améliore la réponse @Anibal pour supporter votre code $\frac{a}{b}$

...
    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
            tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
        });
    </script>
    <script type="text/javascript"
        src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>

</head>
<body id="shadow">
....
6
csbenjamin

Il y a plusieurs façons:

A. Au niveau du modèle : Accédez à votre modèle et ajoutez la ligne cdn de Mathjax dans la zone de tête. Par exemple. Dans le modèle beez3:

templates/beez3/index.php, ligne 85

...
    <script type="text/javascript"
      src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>

    </head>
    <body id="shadow">
....

B. Avec un module HTML personnalisé : Vous pouvez ajouter quelques lignes de code source PHP dans un module de script personnalisé. De cette manière, vous pouvez affecter le script Mathjax cdn à des menus spécifiques, par exemple avec NoNumber Sourcerer http://www.nonumber.nl/extensions/sourcerer

{source}
<?php

    $doc = JFactory::getDocument();
    $doc->addScript('http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML', 'text/javascript');

?>
{/source}
4
Anibal

J'ai copié et collé

<script type="application/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

juste avant </head>tiquette dans le fichier de page principal du modèle PHP.

Ensuite, il me suffisait d’utiliser les délimiteurs MathJaX dans des articles .

Cela fonctionne, et de la manière habituelle de Nice.

Addendum: Je n'avais pas remarqué avant aujourd'hui que, depuis les derniers mois, quelques changements et doit être pris en compte par les utilisateurs qui souhaitent choisir ce moyen simple d'implémentation.

Commutation https://c328740.ssl.cf1.rackcdn.com/ à https://cdn.mathjax.org/ dans le lien ci-dessus voudrait - j'ai vérifié - garder cette réponse à jour.

3
MattAllegro