2011-09-28 02:13:27 +0000 2011-09-28 02:13:27 +0000
75
75

Wpisywać formuły matematyczne w sposób LaTeX w Microsoft Word?

Zastanawiam się, czy są jakieś darmowe rozwiązania do wpisywania formuł matematycznych w sposób LaTeX w dokumencie Microsoft Word (Office 2007)?

Odpowiedzi (10)

77
77
77
2012-11-23 21:20:12 +0000

Jeśli używasz Office 365 w wersji 1707 lub nowszej, Edytor równań umożliwia konwersję LaTexa na format natywny. Zobacz pierwszą część tej odpowiedzi.

W starszych wersjach pakietu Office Edytor równań może zrozumieć niektóre komponenty LaTeXa. Jednakże, buduje on równanie w miarę postępu i nie można przekonwertować całego LaTeX-owego równania. Zobacz drugą część tej odpowiedzi, jeśli używasz:

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

On Office 365 version 1707 or later

  1. Umieść Edytor równań w trybie LaTeX. W Edytorze równań Zaprojektuj wstążkę, przejdź do grupy Konwersje i kliknij LaTeX.

  2. Wpisz LaTeX.

  3. Otwórz menu rozwijane Odwróć i kliknij Bieżące - Profesjonalne.

  4. LaTeX zostanie przetworzony na natywny format edytora równań.

Możesz również przekonwertować z powrotem do LaTeX'a, aby edytować równanie.

  1. Otwórz menu rozwijane Convert, a następnie kliknij Current - Linear.
  2. 2. Równanie zostanie przekonwertowane z powrotem do formatu LaTeX. Uwaga: To nie jest twoje oryginalne źródło LaTeX, ponieważ zostało ono zaokrąglone przez wewnętrzny format edytora równań.
  3. Otwórz menu rozwijane Convert, a następnie kliknij Current - Professional.

Musisz skorzystać z menu rozwijanego, ponieważ przycisk Convert nie przełącza się automatycznie pomiędzy Linear i Professional. Zachowuje on ostatnio używane polecenie.

Istnieją pewne ograniczenia. Na przykład, Edytor równań Office 365 nie rozumie poleceń Początek i koniec**. Zobacz dokumentację Microsoftu, aby zapoznać się z przykładami i możliwymi rozwiązaniami:

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

Niewiele osób zdaje sobie sprawę, że wbudowany edytor równań w programie Word 2007 właściwie rozumie wpis równań w stylu LaTeX. Wystarczy wstawić nowe równanie, a następnie wpisać do niego LaTeX. W trakcie wpisywania, Word utworzy graficzną reprezentację równania.

Gdy pojawi się ono w graficznym interfejsie użytkownika, nie można go już edytować jako LaTeX. Word nie posiada wbudowanego procesora TeX-owego - po prostu robi dopasowywanie wzorców, aby przekonwertować prostą składnię LaTeX-a na natywny format równania. Nie powinieneś więc oczekiwać, że uzyskasz doskonałą wierność superzłożonym równań LaTeXowych. Wystarczy jednak dla prawdopodobnie każdego, kto nie jest matematykiem i jest to lot szybsze niż klikanie elementów za pomocą myszy.

Edytor równań Word 2007 ma również format zapisu równań liniowych, który jest dość intuicyjny i nie wymaga znajomości LaTeXa. Na przykład, wpisanie (a+b)/(c+d) spowoduje, że ułamek będzie ładnie sformatowany.

Uwagi:

  1. Wiele czasopism naukowych nie zaakceptuje dokumentów Worda z nowym formatem równania - nawet jeśli zapiszesz jako .doc zamiast .docx.

  2. Nie zmienia to programu Word w LaTeX. Robi tylko same równania, i nic więcej. Nie dostajesz nawet numeracji równań.

28
28
28
2014-08-23 18:55:51 +0000

Wpisz swoje formuły matematyczne w LaTeX → Przekształć formuły LaTeX w MathML Code → Skopiuj/wklej kod MathML w Word (po wklejeniu kliknij CTRL a następnie T). Voila!

  • *

PRZYKŁAD:

Weźmy na przykład tę formułę:

To jest kod źródłowy LaTeXa z powyższej formuły:

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.

Teraz otwórz Edytor i umieść powyższy kod źródłowy pomiędzy znakami $$ $$ jak to:

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

Zapisz plik jako . html i otwórz go za pomocą przeglądarki takiej jak Chrome.

Kliknij prawym przyciskiem myszy na Formułę i wybierz Pokaż MathML jako → Kod MathML.

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mn>0</mn>
  <mo>≤<!-- ≤ --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">→<!-- → --></mo>
      <mi mathvariant="normal">∞<!-- ∞ --></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>≤<!-- ≤ --></mo>
  <munder>
    <mo form="prefix" movablelimits="true">lim</mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>n</mi>
      <mo stretchy="false">→<!-- → --></mo>
      <mi mathvariant="normal">∞<!-- ∞ --></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">→<!-- → --></mo>
      <mi mathvariant="normal">∞<!-- ∞ --></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">→<!-- → --></mo>
      <mi mathvariant="normal">∞<!-- ∞ --></mi>
    </mrow>
  </munder>
  <mfrac>
    <mn>1</mn>
    <mi>k</mi>
  </mfrac>
  <mo>=</mo>
  <mn>0.</mn>
</math>

Teraz skopiuj/wklej kod MathML w programie Word 2013 (lub 2007) i kliknij kolejno CTRL, a następnie T (Wklej Opcje: zachowaj tylko tekst) lub przejdź do małego obrazka Ctrl na końcu wklejonego kodu MathML i wybierz opcję ręcznie.

Tak wygląda formuła na końcu w programie Word 2013:

8
8
8
2015-11-27 14:26:46 +0000

Stworzyłem LatexToWordEquation na podstawie odpowiedzi.

Jest to Word AddIn.

Kod źródłowy, który wepchnąłem do Githuba. Link tutaj

Jeśli wolisz, możesz pobrać instalator bezpośrednio z tutaj . Uwaga: To jest aktywny link do pobrania, który natychmiast pobierze plik po kliknięciu na niego.

Jak to zrobić

5
5
5
2012-07-14 23:10:58 +0000

Wolę hasło TeX-owe niż lateksowe w programie Word TeX-owe hasło do pobrania ). Posiada wszystkie cechy Lateksu w Word, plus daje obsługę odniesień do równań. I nie wymaga połączenia z Internetem, co postrzegam jako cechę, a nie ograniczenie: MikeTeX nie jest przecież taki duży, a posiadanie LaTeXa lokalnie pozwala na pisanie dokumentu podczas podróży.

4
4
4
2015-06-23 14:18:50 +0000

@Odpowiedź @Devid'a jest doskonała, ale miałem trudności z konkretnymi instrukcjami. Oto co dla mnie zadziałało. Zrób kroki Devid'a poprzez skopiowanie kodu MathML.

Następnie wstaw puste równanie. W programie Word 2013 przejdź do widoku Print Layout (zakładka View na wstążce). Na zakładce Insert wybierz opcję Equation. W zakładce Home wybierz polecenie Wklej rozwijane, a następnie Wklej specjalne (lub po prostu naciśnij klawisz CTRLALTV). Wybierz Type equation here Równanie powinno wtedy wypełnić się w większości poprawnie, tak jak na ostatnim obrazku Devida.

Jeszcze jedno - na obrazku polecenia “lim” są zaznaczone kursywą, gdzie nie było ich w oryginale. Aby to naprawić, dla każdego “lim” należy ustawić kursor tuż za “m” i nacisnąć spację, aby spowodować, że Word sprawdzi “lim” względem swojej tabeli funkcji i dostosuje formatowanie. (Następnie usuń dodatkową spację, która została utworzona).

4
4
4
2011-09-28 07:10:03 +0000

Można użyć Lateks w programie Word .

Dostarcza makra dla programu Microsoft Word, które pozwalają na użycie wejścia LaTeX do tworzenia obrazów równań zarówno w trybie inline jak i w trybie wyświetlania bez konieczności instalowania jakiegokolwiek oprogramowania na lokalnym komputerze. Z tego co wiem, jest to jedyna darmowa alternatywa dla płatnych programów takich jak Aurora i TexPoint .

Dla Office 2007, przejdź do Latex in Word Project Page na Source Forge, i kliknij na Word 2007 pod Files .

LaTeX in Word jest licencjonowanym przez GPL narzędziem, które pozwala na używanie równań w dokumentach Microsoft Word. Strona klienta programu jest zaimplementowana jako makra VBA w dokumencie “LaTeXinWord_v_0_3_1.docm” wraz z instrukcjami. Dlatego też plik ten zawiera kod źródłowy, implementację i dokumentację.

1
1
1
2016-08-28 08:07:47 +0000

Napisałem narzędzie do generowania MathML, poprawiłem formę kodu Devid i dodałem kilka funkcji ułatwiających edycję. Oto kod:

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

Podczas kopiowania MathML do Worda, upewnij się, że skopiujesz czysty tekst, używając klawiszy Ctrl+Alt+V (lub najpierw skopiuj go do notatnika, a następnie skopiuj do słowa).

1
1
1
2017-01-17 16:47:53 +0000

Wygląda na to, że domyślny serwer dla LaTeX in Word nie jest już uruchomiony. Jeśli jesteś zmuszony do korzystania z Worda (na przykład, do współpracy z mniej zorientowanymi technicznie) użyłbym TeXsword , jak już sugerował Adam. Będziesz musiał zainstalować samodzielną dystrybucję MikTex , ale w dzisiejszych czasach jest to łatwa instalacja. To działa z moim programem Word 2016. Nadal nie wygląda tak dobrze jak prawdziwy dokument LaTeXa w dobrej wierze, ale jest łatwiejszy w użyciu i bardziej plastyczny niż edytor równań w Word.

0
0
0
2019-12-17 16:29:29 +0000

Microsoft Office ProPlus wersja 1902 z aktywnym formatem LaTeX.

Następujące makro zmienia wszystkie formuły LaTeX ograniczone parami $ w ramach bieżącego wyboru dokumentu Word na formuły 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

Jest to studium wykonalności i nie jest przeznaczone do produkcji. Makro można łatwo oszukać przez zbłąkane znaki $ w tekście. Jest to również główny powód ograniczenia działania makra do bieżącego wyboru.

Ponadto nie obsługuje ono środowisk równań wyświetlania takich jak equation czy align.

0
0
0
2014-09-23 16:43:58 +0000

Powyższa odpowiedź jest poprawna, ale jest też wbudowany skrót, który jest matematycznie poprawny. Jest on bardzo podobny do LaTeXa. Domyślnie jest nieaktywny, ale możesz go aktywować i jest naprawdę pomocny, jeśli chcesz pisać duże równania. Na przykład, jeśli chcesz wpisać H2, to musisz wpisać H_2 itd. i wiele innych opcji jest dostępnych, jak na przykład znak superskryptu po znaku caret (^) będzie konwertowany jako superskrypt. Wiele takich skrótów jest zawartych w tym video lub możesz po prostu wyszukać Jak wstawić równanie matematyczne (jak LaTeX) w Ms-Office: Tips and tricks na youtube.

Ta metoda będzie szczególnie pomocna jeśli jesteś szybki w pisaniu. Co więcej, zaoszczędzi Twój czas, który traci się podczas przełączania między klawiaturą i myszą oraz szukania odpowiedniej opcji w słowie.