Tapez des formules mathématiques dans Microsoft Word à la manière de LaTeX?

66

Je me demande s’il existe des solutions gratuites pour taper des formules mathématiques à la LaTeX dans un document Microsoft Word (Office 2007)?

Tim
la source
Le concepteur de formule interne ne travaille-t-il pas pour vous? C'est très pratique chaque fois que je vais faire des intégrales et / ou des sommations.
Kobaltz
2
C'est très lent comparé au latex.
Tim
7
Ne serait-il pas simple d'écrire tout dans LaTeX?
NN
@NN Je ne peux pas répondre pour Tim, mais malheureusement, je dois écrire un article dans Word. Je n'ai pas utilisé le logiciel ces 9 dernières années ...
Hans Janssen

Réponses:

70

Si vous exécutez Office 365 version 1707 ou ultérieure, l'éditeur d'équation vous permet de convertir LaTex au format natif. Voir la première partie de cette réponse.

Dans les versions antérieures d'Office, l'éditeur d'équations pouvait comprendre certains composants LaTeX. Cependant, il construit l'équation au fur et à mesure et vous ne pouvez pas convertir une équation LaTeX entière. Voir la deuxième partie de cette réponse si vous utilisez:

  • WinWord 2007, 2010, 2013 et 2016
  • MacWord 2011 et 2016

Sur Office 365 version 1707 ou ultérieure

  1. Mettez l'éditeur d'équation en mode LaTeX. Dans le ruban de conception de l' éditeur d'équations , accédez au groupe Conversions et cliquez sur LaTeX .

    Groupe de conversions sur le ruban Editeur d'équations - Conception

  2. Tapez le LaTeX.

    Après avoir entré l'équation de LaTeX

  3. Ouvrez le menu déroulant Convert et cliquez sur Current - Professional .

    Menu Convertir, Actuel - Professionnel

  4. LaTeX sera traité dans le format natif de l'éditeur d'équation.

    Équation résultante

Vous pouvez également reconvertir en LaTeX pour modifier l'équation.

  1. Ouvrez le menu déroulant Convertir , puis cliquez sur Actuel - Linéaire .
  2. L'équation est reconvertie au format LaTeX. Remarque: Il ne s'agit pas de votre source LaTeX d'origine, car elle a été arrondie par le format interne de l'éditeur d'équation.
  3. Ouvrez le menu déroulant Convertir , puis cliquez sur Actuel - Professionnel .

Vous devez utiliser le menu déroulant car le bouton Convertir ne bascule pas automatiquement entre Linéaire et Professionnel. Il garde la dernière commande utilisée.

Il y a quelques limitations. Par exemple, l'éditeur d'équation Office 365 ne comprend pas les commandes \ begin et \ end . Consultez la documentation de Microsoft pour des exemples et des solutions de contournement possibles:


Sur Office 2007-2016 (Mac Office 2011-2016)

Très peu de gens se rendent compte que l'éditeur d'équations intégré à Word 2007 comprend en réalité l'entrée d'une équation de style LaTeX. Insérez simplement une nouvelle équation, puis tapez LaTeX dans celle-ci. Au fur et à mesure que vous tapez, Word crée une représentation graphique de l'équation.

Entrée d'équation de style LaTeX dans Word 2007 et supérieur

Une fois qu'il apparaît dans l'interface graphique, vous ne pouvez plus le modifier en tant que LaTeX. Word ne possède pas de processeur TeX intégré - il ne fait que faire une correspondance de motif pour convertir la syntaxe simple LaTeX au format d'équation natif. Par conséquent, vous ne devez pas vous attendre à obtenir une fidélité parfaite pour les équations LaTeX super complexes. Cependant, c'est assez pour quelqu'un sauf un mathématicien, et c'est beaucoup plus rapide que de cliquer sur des éléments avec la souris.

L'éditeur d'équations Word 2007 possède également un format de saisie d'équation linéaire, ce qui est assez intuitif et ne nécessite aucune connaissance de LaTeX. Par exemple, la saisie (a+b)/(c+d)donnera une fraction bien formatée.

Entrée d'équation linéaire dans Word 2007 et supérieur

Remarques:

  1. De nombreuses revues scientifiques n'acceptent pas les documents Word avec le nouveau format d'équation, même si vous enregistrez au format .doc au lieu de .docx.

  2. Cela ne transforme pas Word en LaTeX. Il ne fait que les équations elles-mêmes et rien d'autre. Vous n'obtenez même pas la numérotation des équations.

taoyue
la source
4
Le point clé est le style LaTeX , comme d'habitude, ms a sa propre "meilleure" façon de faire les choses. +1 pour le poste, cela facilite les choses si vous êtes bloqué avec mot.
BAR
1
Cela ne fonctionne pas pour moi dans l'éditeur d'équation dans Word 2011.
jvriesem
2
Bonjour, je ne suis pas sûr de bien faire les choses. J'essaie d'utiliser le style latex pour fraction: \ frac {} {} mais cela ne fonctionne pas dans le champ de l'équation.
jxhyc
Toujours pas disponible ...
sky-light
2
La version Office 365 ne fonctionne que dans Word et ne fonctionne pas dans
PPT
25

Ecrivez vos formules mathématiques dans LaTeX → Transformez les formules LaTeX en code MathML → Copier / coller le code MathML dans Word (après avoir collé, cliquez sur CTRL, puis sur T). Voila!


EXEMPLE:

Prenons par exemple cette formule: Formule écrite en LaTeX

Voici le code source LaTeX de la formule ci-dessus:

0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.

Ouvrez maintenant un éditeur et mettez le code source ci-dessus entre les signes $$ $$ comme suit :

<!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>
</head>
<body>
    $$ 0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.$$
</body>
</html>

Enregistrez le fichier en tant que fichier .html et ouvrez-le avec un navigateur tel que Chrome.

Cliquez avec le bouton droit sur la formule et choisissez Afficher MathML en tant que → Code MathML.

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mn>0</mn>
  <mo>&#x2264;<!-- ≤ --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">&#x2192;<!-- → --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mrow>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
    <mrow>
      <mo stretchy="false">(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo stretchy="false">)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
  <mo>&#x2264;<!-- ≤ --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">&#x2192;<!-- → --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mrow>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
    <mrow>
      <mo stretchy="false">(</mo>
      <mi>n</mi>
      <mo>!</mo>
      <msup>
        <mo stretchy="false">)</mo>
        <mn>2</mn>
      </msup>
    </mrow>
  </mfrac>
  <mo>=</mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>k</mi>
      <mo stretchy="false">&#x2192;<!-- → --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi>
      <mo>,</mo>
      <mi>k</mi>
      <mo>=</mo>
      <mi>n</mi>
      <mo>!</mo>
    </mrow>
  </munder>
  <mfrac>
    <mi>k</mi>
    <msup>
      <mi>k</mi>
      <mn>2</mn>
    </msup>
  </mfrac>
  <mo>=</mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>k</mi>
      <mo stretchy="false">&#x2192;<!-- → --></mo>
      <mi mathvariant="normal">&#x221E;<!-- ∞ --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mn>1</mn>
    <mi>k</mi>
  </mfrac>
  <mo>=</mo>
  <mn>0.</mn>
</math>

Maintenant, copiez / collez le code MathML dans Word 2013 (ou 2007) et cliquez séquentiellement CTRL, puis T( Options de collage: conserver le texte uniquement ) ou accédez à la petite image Ctrl située à la fin du code MathML que vous avez collé et sélectionnez l'option manuellement.

Voici comment se présente la formule à la fin de Word 2013:

Devid
la source
Il semble que la hauteur des crochets devienne identique après la conversion. (Pensez à quelque chose comme d \left((a+b)+\frac{1}{c}\right).) Est-ce la limitation de MathML?
xzczd
1
Cela devrait être la meilleure réponse.
Vim
C'est la meilleure réponse car toutes les formules au latex peuvent être réunies dans un seul fichier HTML. Vous avez la possibilité de changer FACILEMENT la formule de latex dans Notepad ++ pour la changer si nécessaire et pour copier / coller manuellement la version MathML de Chrome dans un document Word. Le problème avec Microsoft est qu’il n’est pas en mesure d’accepter un collage / une copie d’une équation en latex.
schlebe il y a
7

J'ai créé LatexToWordEquation en fonction des réponses.

C'est un Word AddIn.

Le code source que j'ai poussé à Github. Lien ici

Si vous préférez, vous pouvez télécharger l'installateur directement à partir d' ici .
Remarque: il s'agit d'un lien de téléchargement actif qui téléchargera immédiatement le fichier lorsque vous cliquez dessus.

Comment faire

Alexandre Giordanelli
la source
3
Bienvenue sur Super User. Les utilisateurs sont conscients de la sécurité et s’inquiètent lorsque vous cliquez sur un lien pour télécharger immédiatement un fichier inconnu. C'est une bonne idée d'inclure un avis sur les liens de téléchargement en direct. En passant, les lecteurs seront probablement réticents à télécharger un fichier inconnu, en particulier à partir d’un nouvel utilisateur. Donc, ne le prenez pas personnellement si le lien n'obtient pas beaucoup d'action. Quoi qu’il en soit, merci d’essayer de répondre à cette question.
Fix1234
1
Je l'ai testé dans Word 2016. Malheureusement, appuyer sur le bouton ne fait rien. Dois-je installer quelque chose pour que cette solution fonctionne?
RAnders00
5

Je préfère TeXsword au latex dans Word ( téléchargement de TeXsword ). Il possède toutes les fonctionnalités de Latex dans Word, plus il gère les références aux équations. Et cela n’exige pas la connexion Internet, ce qui, à mon avis, ne constitue pas une limitation: MikeTeX n’est pas si énorme que cela après tout, et disposer de LaTeX localement vous permet de taper votre document lorsque vous voyagez.

Adam Ryczkowski
la source
Est-ce qu'il prend en charge Word 2013?
Devid
J'utilise ce plugin dans Word 2016, cela fonctionne bien.
Jdhao
4

Vous pouvez utiliser Latex dans Word .

Il fournit des macros pour Microsoft Word qui permettent l’utilisation de l’entrée LaTeX pour créer des images d’équations dans les modes en ligne et en affichage sans avoir à installer de logiciel sur l’ordinateur local. Pour autant que je sache, c'est la seule alternative gratuite aux programmes payants tels que Aurora et TexPoint .

Pour Office 2007, accédez à la page Projet Latex in Word sur Source Forge, puis cliquez sur Word 2007 sous Fichiers .

LaTeX in Word est un outil sous licence GPL permettant l’utilisation d’équations dans des documents Microsoft Word. Le côté client du programme est implémenté en tant que macros VBA dans le document "LaTeXinWord_v_0_3_1.docm" avec des instructions. Par conséquent, ce fichier contient le code source, l'implémentation et la documentation.

Mehper C. Palavuzlar
la source
Cela semble ne pas fonctionner pour le moment.
jdhao
4

La réponse de @ Devid est excellente, mais les instructions spécifiques me posaient problème. Voici ce qui a fonctionné pour moi. Suivez les étapes de Devid pour copier le code MathML.

Ensuite, insérez une équation vide. Dans Word 2013, passez en mode Imprimer le modèle (onglet Afficher du ruban). Dans l'onglet Insertion, choisissez Equation. Vous verrez Type equation heresélectionné.

Sur l'onglet Accueil, sélectionnez la liste déroulante Coller, puis Coller spécial (ou appuyez simplement sur CTRLALTV). Sélectionnez Unformatted Unicode Text. L'équation doit ensuite être correctement remplie, comme dans la dernière image de Devid.

Une dernière chose - dans l’image, les commandes "lim" sont en italique, alors qu’elles ne figuraient pas dans l’original. Pour résoudre ce problème, pour chaque "lim", placez le curseur juste après le "m" et cliquez Spacepour faire en sorte que Word vérifie "lim" par rapport à son tableau de fonctions et ajuste le formatage. (Supprimez ensuite l'espace supplémentaire créé.)

cxw
la source
1

J'ai écrit un outil pour générer MathML, j'ai amélioré le code 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>

Lors de la copie de MathML dans Word, assurez-vous de copier du texte pur à l’aide de la touche Ctrl + Alt + V (ou tout d’abord, copiez-le dans le bloc-notes puis copiez-le dans Word).

stalendp
la source
1

Le serveur par défaut pour LaTeX dans Word semble ne plus être en cours d'exécution. Si vous êtes obligé d'utiliser Word (par exemple, pour collaborer avec des personnes moins techniques), j'utiliserais déjà TeXsword comme suggéré par Adam. Vous aurez besoin d'installer une distribution autonome MikTex , mais l'installation est facile ces jours-ci. Cela fonctionne avec mon Word 2016. Il n'a toujours pas l'air aussi bon qu'un vrai document LaTeX, mais il est plus facile à utiliser et plus malléable que l'éditeur d'équations dans Word.

mathisfun
la source
Veuillez ne pas poster de réponse pour être d'accord avec une autre réponse ou confirmer que cela a fonctionné. Le format de questions et réponses du site réserve des réponses aux solutions à la question, chaque réponse apportant une autre solution. La manière d'indiquer qu'une réponse est utile est d'investir un peu de temps dans le site et vous obtiendrez des privilèges suffisants pour que les réponses à la hausse vous intéressent.
fixer1234
1
Je voulais dire que cela fonctionne dans les versions plus récentes de word (pour répondre à la question de Devid), mais je n’avais pas les privilèges pour le faire.
mathisfun
S'il vous plaît ne pas ajouter "merci" comme réponses. Investissez un peu de temps sur le site et vous obtiendrez des privilèges suffisants pour que les réponses qui vous intéressent soient majorées au maximum, ce qui est la façon dont le super utilisateur dit merci.
DavidPostill
0

La réponse mentionnée ci-dessus est correcte, mais il existe également un raccourci intégré, Math Auto Correct. Cela ressemble beaucoup à LaTeX. Par défaut, il est inactif, mais vous pouvez l'activer et est très utile si vous voulez écrire de grandes équations. Par exemple, si vous voulez taper H 2, il vous suffit de taper H_2, etc. et de nombreuses autres options sont disponibles, comme pour le caractère en exposant après le signe caret (^) sera converti en exposant. Cette vidéo contient de nombreux raccourcis ou vous pouvez simplement rechercher l' insertion d'une équation mathématique (comme LaTeX) dans Ms-Office: trucs et astuces sur youtube.

Cette méthode sera particulièrement utile si vous êtes rapide à la frappe. De plus, vous gagnerez du temps perdu lors de la commutation entre le clavier et la souris et la recherche de l’option appropriée dans Word.

Prakash Gupta
la source
Taoyue l'a mentionné dans sa réponse il y a deux ans, avec des captures d'écran.
Ben Voigt