122 votes

Saisir les formules mathématiques dans Microsoft Word à la manière de LaTeX ?

Je me demande s'il existe des solutions gratuites pour saisir des formules mathématiques à la manière de LaTeX dans un document Microsoft Word (Office 2007) ?

3voto

stalendp Points 91

J'ai écrit un outil pour générer du MathML, j'ai amélioré le code de Devid, et ajouté quelques fonctions pour faciliter l'édition. Voici le code :

    <!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
        <title>tex texample</title>
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script type="text/x-mathjax-config">
      MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
    </script>
<script>
    function SelectText(element) {
        var doc = document
            , text = doc.getElementById(element)
            , range, selection
        ;    
        if (doc.body.createTextRange) {
            range = document.body.createTextRange();
            range.moveToElementText(text);
            range.select();
        } else if (window.getSelection) {
            selection = window.getSelection();        
            range = document.createRange();
            range.selectNodeContents(text);
            selection.removeAllRanges();
            selection.addRange(range);
        }
    }
    $(document).ready(function(){
        $("#latexContent").val("$$  $$");
        $('#latexContent').bind('input propertychange', function() {
              $("#myoutput").text($("#latexContent").val());
             // MathJax.Hub.Queue(["TypeseTextt",MathJax.Hub,"myoutput"]);
              MathJax.Hub.Typeset("myoutput")
        });
        $("#btnShowMathML").click(function(){
            var con =  $(".MJX_Assistive_MathML").html();
            $("#myMathml").text(con);
            SelectText("myMathml");
        });
        $("#btnClear").click(function(){
            $("#latexContent").val("$$  $$");
            $("#myoutput").html("<p style='color: grey; font-style: italic;'> The LaTeX will display here ! </p>");
            $("#myMathml").text("");
        });

    });
</script>
    </head>
    <body>
        <center>
    <p> Enter LaTeX here! </p>
        <textarea id="latexContent" rows="5" cols="100"> </textarea>
    <button id="btnClear" type="button">clear</button>
    <button id="btnShowMathML" type="button">Show The MathML</button> </br></br>
    <span id="myoutput">
        <p style="color: grey; font-style: italic;"> The LaTeX will display here ! </p>
    </span> </br>
    <span id="myMathml"> </span>
</center>
    </body>
    </html>

Lorsque vous copiez MathML vers Word, veillez à copier le texte pur, en utilisant les touches Ctrl+Alt+V (ou copiez-le d'abord dans le bloc-notes puis dans Word).

2voto

Tobias Points 141

Microsoft Office ProPlus Version 1902 avec le format LaTeX activé.

La macro suivante modifie toutes les formules LaTeX délimitées par des paires de caractères $ dans la sélection actuelle du document Word vers des formules Word :

Sub LaTeX()
        If Selection.Start < Selection.End Then
            Set myRange = ActiveDocument.Range(Selection.Start, Selection.End)
            Do While myRange.Find.Execute(FindText:="$*$", Forward:=True, MatchWildcards:=True) = True
                    ActiveDocument.OMaths.Add Range:=myRange
                    ActiveDocument.OMaths.BuildUp
                    Set myRange = ActiveDocument.Range(myRange.Start, Selection.End)
            Loop
        End If
End Sub

Il s'agit d'une étude de faisabilité qui n'est pas destinée à la production. La macro peut facilement être trompée par des données errantes. $ dans le texte. C'est aussi la raison principale pour laquelle on délimite l'action de la macro à la sélection courante.

En outre, il ne gère pas les environnements d'équation d'affichage tels que equation o align .

1voto

mathisfun Points 111

Le serveur par défaut pour LaTeX dans Word semble ne plus fonctionner. Si vous êtes obligé d'utiliser Word (par exemple, pour collaborer avec des personnes moins orientées techniquement), j'utiliserais TeXsword comme l'a déjà suggéré Adam. Vous aurez besoin d'installer une version autonome de MikTex distribution, mais c'est une installation facile de nos jours. Il fonctionne avec mon Word 2016. Il n'est toujours pas aussi beau qu'un vrai document LaTeX bona fide, mais il est plus facile à utiliser et plus malléable que l'éditeur d'équations de Word.

0voto

Prakash Gupta Points 1

La réponse mentionnée ci-dessus est correcte mais il existe également un raccourci intégré qui est la correction automatique des mathématiques. C'est un peu comme LaTeX. Par défaut, il est inactif mais vous pouvez l'activer et il est vraiment utile si vous voulez écrire de grandes équations. Par exemple, si vous voulez taper H 2 qu'il suffit de taper H_2 etc. et bien d'autres options sont disponibles, comme par exemple le caractère en exposant qui suit le signe caret (^) sera converti en exposant. De nombreux raccourcis de ce type sont couverts dans ce vidéo ou vous pouvez simplement rechercher Comment insérer une équation mathématique (comme LaTeX) dans Ms-Office : Conseils et astuces sur youtube.

Cette méthode sera particulièrement utile si vous êtes rapide à la frappe. De plus, elle vous fera gagner le temps que vous perdez en passant d'un clavier à l'autre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X