Matematik formülleri Microsoft Word'de LaTeX yolu yazın?


66

Microsoft Word belgesinde (Office 2007) LaTeX yolundaki matematik formüllerini yazmak için ücretsiz çözümler olup olmadığını merak ediyorum.


İç formül yazarı sizin için çalışmıyor mu? Ne zaman ayrılmalar ve / veya toplamlar yapmaya gidersem oldukça kullanışlıdır.
kobaltz

2
Latex'e göre çok yavaştır.
Tim

7
Her şeyi LaTeX'te yazmak kolay olmaz mıydı?
NN


@NN Tim için cevap veremem, ama ne yazık ki Word'de bir makale yazmak zorundayım. Yazılımı son 9 yılda kullanmadım ...
Hans Janssen

Yanıtlar:


70

Office 365 sürüm 1707 veya daha yenisini kullanıyorsanız, Denklem Düzenleyicisi LaTex'i yerel biçime dönüştürmenize olanak tanır. Bu cevabın ilk bölümüne bakınız.

Office'in eski sürümlerinde, Denklem Düzenleyicisi bazı LaTeX bileşenlerini anlayabilir. Ancak, giderken denklemi oluşturur ve LaTeX denkleminin tamamını dönüştüremezsiniz. Çalışıyorsanız bu cevabın ikinci bölümüne bakın:

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

Office 365 sürüm 1707 veya üzeri

  1. Denklem Düzenleyiciyi LaTeX moduna geçirin. Denklem Düzenleyicisi Tasarım şeridinde Dönüşümler grubuna gidin ve LaTeX'i tıklayın .

    Denklem Düzenleyicisi-Tasarım şeridindeki dönüşümler grubu

  2. LaTeX'i yazın.

    LaTeX denklemine girdikten sonra

  3. Dönüştür açılır menüsünü açın ve Geçerli - Profesyonel'i tıklayın .

    Menü dönüştürme, Geçerli - Profesyonel

  4. LaTeX, Denklem Düzenleyicinin yerel formatına işlenecektir.

    Sonuç denklemi

Ayrıca denklemi düzenlemek için tekrar LaTeX'e dönüştürebilirsiniz.

  1. Dönüştür açılır menüsünü açın ve ardından Geçerli - Doğrusal'ı tıklatın .
  2. Denklem, LaTeX formatına geri dönüştürülür. Not: Bu, orijinal LaTeX kaynağınız değildir, çünkü Denklem Düzenleyicinin dahili formatı boyunca tam olarak açılmıştır.
  3. Dönüştür açılır menüsünü açın ve ardından Geçerli - Profesyonel'i tıklatın .

Açılır menüyü kullanmanız gerekir, çünkü Dönüştür düğmesi Doğrusal ve Profesyonel arasında otomatik olarak geçiş yapmaz. Son kullanılan komutu tutar.

Bazı sınırlamalar var. Örneğin, Office 365 Denklem Düzenleyicisi \ begin ve \ end komutlarını anlamıyor . Örnekler ve olası geçici çözümler için Microsoft belgelerine bakın:


Office 2007-2016'da (Mac Office 2011-2016)

Çok az kişi Word 2007'deki yerleşik denklem düzenleyicisinin LaTeX stili denklem girişini gerçekten anladığını fark eder. Basitçe yeni bir denklem ekleyin ve ardından içine LaTeX yazın. Siz yazarken, Word denklemin grafiksel bir gösterimini oluşturacaktır.

Word 2007 ve daha üstü LaTeX stili denklem girişi

GUI'de göründüğünde, artık LaTeX olarak düzenleyemezsiniz. Word'ün yerleşik bir TeX işlemcisi yoktur - yalnızca basit LaTeX sözdizimini yerel denklem biçimine dönüştürmek için desen eşleştirmesi yeterlidir. Bu nedenle, süper karmaşık LaTeX denklemleri için mükemmel bir uygunluk beklememelisiniz. Ancak, bir matematikçi dışında muhtemelen herkes için yeterlidir ve fare ile öğelere tıklamaktan çok daha hızlıdır.

Word 2007 denklem düzenleyicisi ayrıca oldukça sezgisel olan ve LaTeX'e aşinalık gerektirmeyen doğrusal bir denklem giriş biçimine sahiptir. Örneğin, yazı yazmak (a+b)/(c+d)güzelce biçimlendirilmiş bir kesriyle sonuçlanacaktır.

Word 2007 ve üzeri sürümlerde doğrusal denklem girişi

Notlar:

  1. Birçok bilimsel dergi Word belgelerini yeni denklem biçiminde kabul etmeyecektir - .docx yerine .doc olarak kaydetmiş olsanız bile.

  2. Bu, Word'ü LaTeX'e dönüştürmez. Sadece denklemleri kendileri yapar, başka bir şey yapmazlar. Denklem numaralandırmayı bile bilmiyorsun.


4
Kilit nokta, LaTeX tarzıdır , çünkü her zamanki ms, işleri yapmak için kendi “en iyi” yoluna sahiptir. Gönderi için +1, kelimeyle sıkışırsanız daha kolay hale getirir.
BAR,

1
Bu benim için Word 2011'deki denklem düzenleyicide
çalışmıyor

2
Merhaba, doğru yaptığımdan emin değilim. Kesir için lateks stilini kullanmaya çalışıyorum: \ frac {} {} ancak denklem alanında çalışmaz.
jxhyc 21:15

Hala mevcut değil ...
gökyüzü ışığı

1
Office 365 sürümü yalnızca
ppt'de

23

Math formüllerinizi LaTeX'e yaz → LaTeX formüllerini MathML Koduna dönüştür → MathML Kodunu Word'de Kopyala / Yapıştır (yapıştırma işleminden sonra CTRLve sonra T). İşte bu kadar!


ÖRNEK:

Örneğin bu Formülü alalım: LaTeX ile yazılmış formül

Bu, yukarıdaki Formül'deki LaTeX kaynak Kodudur:

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.

Şimdi bir Editör açın ve yukarıdaki kaynak kodu $$ $$ ile işaretler arasına yerleştirin :

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

Dosyayı .html dosyası olarak kaydedin ve Chrome gibi bir tarayıcıyla açın.

Formüle sağ tıklayın ve MathML'yi Farklı Göster → MathML Kodu'nu seçin.

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

Şimdi Word 2013’te (veya 2007’de) MathML Kodunu Kopyala / Yapıştır ve sırayla tıklayın CTRLve ardından T( Yapıştırma Seçenekleri: sadece metni sakla ) veya yapıştırdığınız MathML Kodunun sonundaki küçük Ctrl resmine gidin ve seçeneği el ile seçin.

Formülün sonunda Word 2013'ün sonunda şöyle görünür:


Dönüştürmeden sonra parantezlerin yüksekliğinin tamamen aynı göründüğü görülüyor. (Gibi bir şey düşünün d \left((a+b)+\frac{1}{c}\right).) Bu MathML'nin sınırlaması mı?
xzczd

1
Bu en iyi cevap olmalı.
Vim

7

Oluşturduğum LatexToWordEquation yanıtlara dayalı.

Bu bir Word Eklentisidir.

Github'a gönderdiğim kaynak kodu. Buraya link

Eğer siz doğrudan yükleyici indirebilirsiniz tercih burada .
Not: Bu, üzerine tıkladığınızda dosyayı hemen indirecek olan etkin bir indirme bağlantısıdır.

Nasıl yapılır


3
Süper Kullanana Hoşgeldiniz. İnsanlar güvenlik bilincine sahip ve derhal bilinmeyen bir dosyayı indiren bir bağlantıya tıkladığınızda endişeleniyorlar. Canlı indirme bağlantılarına bir bildirim eklemek iyi bir fikirdir. BTW, okuyucuların bilhassa yeni bir kullanıcıdan bilinmeyen bir dosyayı indirmekte isteksiz olmaları muhtemeldir. Bu nedenle, bağlantı çok fazla işlem yapmazsa kişisel olarak almayın. Ne olursa olsun, bu soruya yardım etmeye çalıştığın için teşekkürler.
fixer1234

1
Word 2016'da test ettim. Maalesef, düğmeye basmak hiçbir şey yapmıyor. Bu çözümün çalışması için herhangi bir şey yüklemem gerekir mi?
RAnders00

5

Word'de Lateks yerine TeXsword'ü tercih ediyorum ( TeXsword indirme ). Word'deki Latekslerin tüm özelliklerine sahiptir, ayrıca denklem referanslarının kullanılmasını sağlar. Ve sınırlama değil bir özellik olarak gördüğüm İnternet bağlantısı gerektirmiyor: MikeTeX, sonuçta o kadar büyük değil ve LaTeX'in yerel olarak olması, seyahat ederken belgenizi yazmanıza izin veriyor.


Word 2013'ü destekliyor mu?
Devid

Bu eklentiyi Word 2016'da kullanıyorum, iyi çalışıyor.
Jdhao

4

Word'de Lateks kullanabilirsiniz .

Yerel bilgisayara herhangi bir yazılım yüklemek zorunda kalmadan hem satır içi hem de ekran modlarında denklem görüntüleri oluşturmak için LaTeX girişinin kullanımına izin veren Microsoft Word için makrolar sağlar. Bildiğim kadarıyla, bu Aurora ve TexPoint gibi ücretli programların tek ücretsiz alternatifi .

Office 2007 için, Kaynak Forge'daki Word Proje Sayfasında Lateks'e gidin ve Dosyalar altında Word 2007'ye tıklayın .

LaTeX, Word'deki denklemlerin Microsoft Word belgelerinde kullanılmasını sağlayan GPL lisanslı bir araçtır. Programın müşteri tarafı "LaTeXinWord_v_0_3_1.docm" belgesinde VBA makroları olarak ve talimatlarla birlikte uygulanır. Bu nedenle, bu dosya kaynak kodu, uygulama ve belgeleri içerir.


Şu anda çalışmıyor gibi görünüyor.
Jdhao

4

@ Devid'in cevabı mükemmel, ancak belirli talimatlarda zorluk çekiyordum. İşte benim için çalıştı. Mathid kodunu kopyalayarak Devid'in adımlarını yapın.

Sonra boş bir denklem ekleyin. Word 2013'te, Mizanpajı Yazdır görünümüne geçin (şeritte Görünüm sekmesi). Ekle sekmesinde Denklem'i seçin. Type equation hereSeçilmiş göreceksiniz .

Giriş sekmesinde, Yapıştır açılır menüsünü ve ardından Özel Yapıştır'ı (veya yalnızca vur CTRLALTV) seçin. Seç Unformatted Unicode Text. sonra Devid en son resimde olduğu gibi, çoğunlukla doğru olarak doldurmalıdır denklemi.

Bir şey daha - resimde "lim" komutları orjinalinde olmadığı gibi italikleştirilir. Bunu düzeltmek için, her "lim" için imleci "m" den hemen sonra koyun ve SpaceWord'ün "lim" fonksiyon tablosuna göre kontrol etmesine ve biçimlendirmeyi ayarlamasına neden olmak için vurun. (Sonra oluşturulan fazladan boşluğu silin.)


1

MathML Oluşturmak için bir araç yazdım, Devid kod formunu geliştirdim ve kolay düzenleme için bazı fonksiyonlar ekledim. İşte 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>

MathML'yi Word'e yazarken, Ctrl + Alt + V tuşlarını kullanarak (veya önce not defterine, sonra kelimeye kopyalayın) saf metni kopyaladığınızdan emin olun.


1

Word'deki LaTeX sunucusu için varsayılan sunucu artık çalışmıyor. Word'ü kullanmaya zorlandıysanız (örneğin, daha az teknik yönelimli çalışmak için) TeXsword'ü zaten Adam tarafından önerilen şekilde kullanırdım . Bağımsız bir MikTex dağıtımı yüklemeniz gerekecek , ancak bu günlerde kolay bir kurulum. Word 2016 ile çalışıyor. Hala gerçek bir LaTeX belgesi kadar iyi görünmüyor, ancak Word'deki denklem düzenleyiciden daha kolay ve daha kullanışlı.


Lütfen başka bir cevabı kabul etmek veya işe yaradığını onaylamak için cevap göndermeyin. Sitenin Soru ve Cevap formatı, soruya yönelik cevapların cevaplarını saklı tutar ve her cevap başka bir çözüme katkıda bulunmalıdır. Bir cevabın faydalı olduğunu göstermenin yolu, siteye biraz zaman ayırmaktır ve istediğiniz yanıtları yükseltmek için yeterli ayrıcalıklara sahip olacaksınız.
fixer1234

1
Kelimenin daha yeni sürümlerinde (Devid'in sorusuna cevap vermek için) çalıştığını yorumlamak istedim, ancak bunu yapma ayrıcalıklarına sahip değildi.
Mathisfun

Lütfen cevap olarak "teşekkür" eklemeyin. Siteye biraz zaman ayırın ve beğendiğiniz yanıtları düzeltmek için yeterli ayrıcalıklara sahip olacaksınız.
DavidPostill

0

Yukarıda belirtilen cevap doğrudur, fakat matematik otomatik olarak doğru olan bir kısa yol da vardır. LaTeX'e çok benziyor. Varsayılan olarak aktif değildir, ancak aktif hale getirebilirsiniz ve eğer büyük denklemler yazmak istiyorsanız gerçekten faydalıdır. Örneğin, eğer H 2 yazmak istiyorsanız, sadece H_2 etc yazmanız gerekecek ve bir üst karakter karakteri için olduğu gibi bir çok seçenek daha var. (^) İşareti, üst simge olarak dönüştürülecek. Bu videodaki birçok kısayol bu videoda ele alınmıştır ya da basitçe Ms-Office'te matematiksel denklemin nasıl ekleneceği (LaTeX gibi) için arama yapabilirsiniz : Youtube'daki ipuçları ve püf noktaları .

Bu yöntem özellikle yazmaya hızlıysanız yardımcı olacaktır. Dahası, klavye ile fare arasında geçiş yaparken ve kelimeye uygun bir seçenek ararken, kaybedilen zamandan tasarruf etmenizi sağlar.


Taoyue, iki yıl önce verdiği cevapta, ekran görüntüleri ile ilgili olduğunu söyledi.
Ben Voigt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.