Digitare le formule matematiche in Microsoft Word nel modo LaTeX?


66

Mi chiedo se ci sono alcune soluzioni gratuite per digitare le formule matematiche nel modo LaTeX nel documento di Microsoft Word (Office 2007)?


Lo scrittore di formule interno non funziona per te? È abbastanza utile ogni volta che vado a fare integrali e / o riassunti.
Kobaltz,

2
È molto lento rispetto al lattice.
Tim

7
Non sarebbe semplice scrivere tutto in LaTeX?
NN,


@NN Non posso rispondere per Tim, ma purtroppo devo scrivere un articolo in Word. Non ho usato il software negli ultimi 9 anni ...
Hans Janssen,

Risposte:


70

Se si esegue Office 365 versione 1707 o successiva, l'Equation Editor consente di convertire LaTex nel formato nativo. Vedi la prima parte di questa risposta.

Nelle versioni precedenti di Office, l'Editor delle equazioni è in grado di comprendere alcuni componenti LaTeX. Tuttavia, crea l'equazione mentre procedi e non puoi convertire un'intera equazione LaTeX. Vedi la seconda parte di questa risposta se stai eseguendo:

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

Su Office 365 versione 1707 o successiva

  1. Metti l'Editor delle equazioni in modalità LaTeX. Nella barra multifunzione di Progettazione editor di equazioni , andare al gruppo Conversioni e fare clic su LaTeX .

    Gruppo di conversioni nella barra multifunzione di Equation Editor-Design

  2. Digitare LaTeX.

    Dopo aver inserito l'equazione LaTeX

  3. Apri il menu a discesa Converti e fai clic su Corrente - Professionale .

    Menu Converti, Corrente - Professionale

  4. LaTeX verrà elaborato nel formato nativo dell'Equation Editor.

    Equazione risultante

È inoltre possibile riconvertire in LaTeX per modificare l'equazione.

  1. Apri il menu a discesa Converti , quindi fai clic su Corrente - Lineare .
  2. L'equazione viene riconvertita nel formato LaTeX. Nota: questa non è l'origine LaTeX originale, poiché è stata reinterpretata nel formato interno dell'Equation Editor.
  3. Apri il menu a discesa Converti , quindi fai clic su Corrente - Professionale .

Devi usare il menu a discesa perché il pulsante Converti non commuta automaticamente tra Linear e Professional. Mantiene l'ultimo comando usato.

Ci sono alcune limitazioni. Ad esempio, l'Editor equazioni di Office 365 non comprende i comandi \ begin e \ end . Vedere la documentazione di Microsoft per esempi e possibili soluzioni alternative:


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

Pochissime persone si rendono conto che l'editor di equazioni incorporato in Word 2007 comprende effettivamente la voce dell'equazione in stile LaTeX. Basta inserire una nuova equazione, quindi digitare LaTeX in essa. Durante la digitazione, Word crea una rappresentazione grafica dell'equazione.

Voce di equazione in stile LaTeX in Word 2007 e versioni successive

Una volta visualizzato nella GUI, non è più possibile modificarlo come LaTeX. Word non ha un processore TeX incorporato: sta semplicemente eseguendo la corrispondenza dei modelli per convertire la sintassi LaTeX semplice nel formato di equazione nativa. Non dovresti quindi aspettarti di ottenere una fedeltà perfetta per equazioni LaTeX super complesse. Tuttavia, è abbastanza probabilmente per chiunque, tranne un matematico, ed è molto più veloce di fare clic sugli elementi con il mouse.

L'editor di equazioni di Word 2007 ha anche un formato di immissione delle equazioni lineare, che è abbastanza intuitivo e non richiede familiarità con LaTeX. Ad esempio, digitando si (a+b)/(c+d)otterrà una frazione ben formattata.

Voce dell'equazione lineare in Word 2007 e versioni successive

Appunti:

  1. Molte riviste scientifiche non accettano documenti Word con il nuovo formato di equazione, anche se si salva come .doc anziché .docx.

  2. Ciò non trasforma Word in LaTeX. Fa solo le equazioni stesse e nient'altro. Non si ottiene nemmeno la numerazione delle equazioni.


4
Il punto chiave è lo stile LaTeX , come al solito ms ha il suo modo "migliore" di fare le cose. +1 per il post, rende più facile se sei bloccato con la parola.
BAR

1
Questo non funziona per me nell'editor delle equazioni in Word 2011.
jvriesem,

2
Ciao, non sono sicuro di farlo nel modo giusto. Cerco di usare lo stile in lattice per la frazione: \ frac {} {} ma non funziona nel campo dell'equazione.
jxhyc,

Ancora non disponibile ...
sky-light

2
La versione di Office 365 funziona solo a parole, non funziona in ppt
yuxuan l'

25

Scrivi le tue formule matematiche in LaTeX → Trasforma le formule LaTeX in Codice MathML → Copia / Incolla il codice MathML in Word (dopo aver fatto clic su incolla CTRLe poi T). Ecco!


ESEMPIO:

Prendiamo ad esempio questa formula: Formula scritta in LaTeX

Questo è il codice sorgente LaTeX dalla formula sopra:

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.

Ora apri un editor e inserisci il codice sorgente sopra tra i segni $$ $$ in questo modo:

<!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>

Salvare il file come file .html e aprirlo con un browser come Chrome.

Fare clic con il tasto destro sulla formula e selezionare Mostra MathML As → Codice 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>

Ora copia / incolla il codice MathML in Word 2013 (o 2007) e fai clic in sequenza, CTRLquindi T( Incolla opzioni: mantieni solo il testo ) o vai alla piccola immagine Ctrl alla fine del codice MathML che hai incollato e seleziona l'opzione manualmente.

Ecco come appare la formula alla fine in Word 2013:


Sembra che l'altezza delle parentesi diventa la stessa dopo la conversione. (Considera qualcosa del genere d \left((a+b)+\frac{1}{c}\right).) È questa la limitazione del MathML?
xzczd,

1
Questa dovrebbe essere la risposta migliore.
Vim,

Questa è la risposta migliore perché tutte le formule di lattice possono essere riunite in un unico file HTML. Hai la possibilità di cambiare FACILMENTE la formula in lattice in Notepad ++ per cambiarla se necessario e per copiare / incollare manualmente la versione MathML dal documento Chrome in Word. Il problema con Microsoft è che non è in grado di accettare una copia / incolla dell'equazione del lattice.
schlebe

7

Ho creato LatexToWordEquation in base alle risposte.

È un componente aggiuntivo di Word.

Il codice sorgente che ho inviato a Github. Link qui

Se preferisci, puoi scaricare il programma di installazione direttamente da qui .
Nota: si tratta di un collegamento di download attivo che scaricherà immediatamente il file quando si fa clic su di esso.

Come farlo


3
Benvenuto in Super User. Le persone sono attente alla sicurezza e si preoccupano quando si fa clic su un collegamento per scaricare immediatamente un file sconosciuto. È una buona idea includere un avviso sui collegamenti per il download live. A proposito, i lettori saranno probabilmente riluttanti a scaricare un file sconosciuto, in particolare da un nuovo utente. Quindi non prenderlo sul personale se il collegamento non ottiene molta azione. Indipendentemente da ciò, grazie per aver cercato di aiutare con questa domanda.
fixer1234,

1
L'ho provato in Word 2016. Sfortunatamente, premendo il pulsante non si fa nulla. Devo installare qualcosa per far funzionare questa soluzione?
RAnders00

5

Preferisco TeXsword rispetto a Latex in Word ( download di TeXsword ). Ha tutte le caratteristiche di Latex in Word, oltre a gestire i riferimenti alle equazioni. E non richiede la connessione a Internet, che vedo come una caratteristica non una limitazione: MikeTeX non è poi così grande, e avere LaTeX localmente ti consente di digitare il tuo documento quando sei in viaggio.


Supporta Word 2013?
Devid,

Sto usando questo plugin in Word 2016, funziona benissimo.
jdhao,

4

Puoi usare Latex in Word .

Fornisce macro per Microsoft Word che consentono l'uso dell'input LaTeX per creare immagini di equazioni sia in linea che in modalità di visualizzazione senza dover installare alcun software sul computer locale. Per quanto ne so, questa è l'unica alternativa gratuita ai programmi a pagamento come Aurora e TexPoint .

Per Office 2007, vai a Latex nella pagina del progetto Word su Source Forge e fai clic su Word 2007 in File .

LaTeX in Word è uno strumento con licenza GPL che consente di utilizzare le equazioni nei documenti di Microsoft Word. Il lato client del programma è implementato come macro VBA nel documento "LaTeXinWord_v_0_3_1.docm" insieme alle istruzioni. Quindi, questo file contiene il codice sorgente, l'implementazione e la documentazione.


Sembra non funzionare in questo momento.
jdhao,

4

@La risposta di Devid è eccellente, ma ho avuto difficoltà con le istruzioni specifiche. Ecco cosa ha funzionato per me. Fai i passi di Devid attraverso la copia del codice MathML.

Quindi, inserire un'equazione vuota. In Word 2013, passa alla vista Layout di stampa (scheda Visualizza sulla barra multifunzione). Nella scheda Inserisci, selezionare Equazione. Vedrai Type equation hereselezionato.

Nella scheda Home, seleziona il menu a discesa Incolla, quindi Incolla speciale (o semplicemente premi CTRLALTV). Seleziona Unformatted Unicode Text. L'equazione dovrebbe quindi compilare per lo più correttamente, come nell'ultima immagine di Devid.

Ancora una cosa: nella foto, i comandi "lim" sono in corsivo, dove non erano nell'originale. Per risolvere il problema, per ogni "lim", posiziona il cursore subito dopo la "m" e premi Spaceper far sì che Word controlli "lim" sulla sua tabella di funzioni e modifichi la formattazione. (Quindi eliminare lo spazio aggiuntivo che ha creato.)


1

Ho scritto uno strumento per la generazione di MathML, ho migliorato il codice di Devid e ho aggiunto alcune funzioni per un facile editing. Ecco il codice:

    <!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>

Quando copi il MathML in Word, assicurati di copiare il testo puro, usando il tasto Ctrl + Alt + V (o prima copiarlo sul blocco note, quindi copiarlo su Word).


1

Il server predefinito per LaTeX in Word sembra non essere più in esecuzione. Se sei costretto a usare Word (ad esempio, per collaborare con i meno orientati alla tecnologia), userei TeXsword come già suggerito da Adam. Dovrai installare una distribuzione MikTex autonoma , ma è un'installazione facile in questi giorni. Funziona con la mia Word 2016. Non ha ancora un bell'aspetto come un vero documento LaTeX, ma è più facile da usare e più malleabile dell'editor di equazioni in Word.


Non inviare una risposta per concordare con un'altra risposta o confermare che ha funzionato. Il formato di domande e risposte del sito riserva le risposte per le soluzioni alla domanda e ogni risposta dovrebbe contribuire con un'altra soluzione. Il modo per indicare che una risposta è utile è investire un po 'di tempo nel sito e otterrai privilegi sufficienti per valutare le risposte che ti piacciono.
Fixer 1234

1
Volevo commentare che funziona nelle versioni più recenti di Word (per rispondere alla domanda di Devid), ma non avevo i privilegi per farlo.
Mathisfun,

Per favore non aggiungere "grazie" come risposte. Investi un po 'di tempo nel sito e otterrai i privilegi sufficienti per migliorare le risposte che ti piacciono, che è il modo Super User di dire grazie.
DavidPostill

0

La risposta sopra menzionata è corretta ma esiste anche un collegamento incorporato che è la correzione automatica della matematica. È molto simile a LaTeX. Di default è inattivo ma puoi attivarlo ed è davvero utile se vuoi scrivere grandi equazioni. Ad esempio, se si desidera digitare H 2 di quello che si deve solo digitare H_2 ecc. E sono disponibili molte più opzioni come per il carattere in apice dopo il segno del cursore (^) verrà convertito in apice. Molte di queste scorciatoie sono trattate in questo video o puoi semplicemente cercare Come inserire un'equazione matematica (come LaTeX) in Ms-Office: Suggerimenti e trucchi su YouTube.

Questo metodo sarà particolarmente utile se sei veloce nel digitare. Inoltre, risparmierai tempo che si perde durante il passaggio da tastiera a mouse e la ricerca dell'opzione corretta in parola.


Taoyue lo ha menzionato nella sua risposta due anni fa, con schermate.
Ben Voigt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.