Nhập công thức toán học trong Microsoft Word theo cách LaTeX?


66

Tôi tự hỏi liệu có một số giải pháp miễn phí để nhập công thức toán học theo cách LaTeX trong tài liệu Microsoft Word (Office 2007) không?


Có nhà văn công thức nội bộ không làm việc cho bạn? Nó khá tiện dụng bất cứ khi nào tôi đi làm tích hợp và / hoặc tổng kết.
kobaltz

2
Nó rất chậm so với latex.
Tim

7
Sẽ không đơn giản để viết mọi thứ trong LaTeX?
NN


@NN Tôi không thể trả lời cho Tim, nhưng thật buồn là tôi phải viết một bài viết bằng Word. Không sử dụng phần mềm trong 9 năm qua ...
Hans Janssen

Câu trả lời:


70

Nếu bạn đang chạy Office 365 phiên bản 1707 trở lên, Trình chỉnh sửa phương trình cho phép bạn chuyển đổi LaTex sang định dạng gốc. Xem phần đầu tiên của câu trả lời này.

Trong các phiên bản cũ hơn của Office, Trình chỉnh sửa phương trình có thể hiểu một số thành phần LaTeX nhất định. Tuy nhiên, nó xây dựng phương trình khi bạn đi và bạn không thể chuyển đổi toàn bộ phương trình LaTeX. Xem phần thứ hai của câu trả lời này nếu bạn đang chạy:

  • WinWord 2007, 2010, 2013 và 2016
  • MacWord 2011 và 2016

Trên Office 365 phiên bản 1707 trở lên

  1. Đặt Trình chỉnh sửa phương trình vào chế độ LaTeX. Trong ruy-băng Thiết kế trình chỉnh sửa phương trình , đi đến nhóm Chuyển đổi và bấm LaTeX .

    Nhóm chuyển đổi trên ruy-băng Trình chỉnh sửa phương trình

  2. Nhập LaTeX.

    Sau khi vào phương trình LaTeX

  3. Mở menu thả xuống Chuyển đổi và nhấp vào Hiện tại - Chuyên nghiệp .

    Chuyển đổi menu, hiện tại - Chuyên nghiệp

  4. LaTeX sẽ được xử lý thành định dạng gốc của Trình chỉnh sửa phương trình.

    Phương trình kết quả

Bạn cũng có thể chuyển đổi trở lại LaTeX để chỉnh sửa phương trình.

  1. Mở menu thả xuống Chuyển đổi , rồi bấm Hiện tại - Tuyến tính .
  2. Phương trình được chuyển đổi trở lại định dạng LaTeX. Lưu ý: Đây không phải là nguồn LaTeX ban đầu của bạn, vì nó đã được thực hiện ba lần thông qua định dạng bên trong của Trình chỉnh sửa phương trình.
  3. Mở menu thả xuống Chuyển đổi , rồi bấm Hiện tại - Chuyên nghiệp .

Bạn phải sử dụng menu thả xuống vì nút Chuyển đổi không tự động chuyển đổi giữa Tuyến tính và Chuyên nghiệp. Nó giữ lệnh được sử dụng cuối cùng.

Có một số hạn chế. Ví dụ: Trình chỉnh sửa phương trình Office 365 không hiểu các lệnh \ started\ end . Xem tài liệu của Microsoft để biết ví dụ và cách giải quyết có thể:


Trên Office 2007-2016 (Mac Office 2011-2016)

Rất ít người nhận ra rằng trình soạn thảo phương trình tích hợp trong Word 2007 thực sự hiểu mục nhập phương trình kiểu LaTeX. Đơn giản chỉ cần chèn một phương trình mới, sau đó nhập LaTeX vào nó. Khi bạn nhập, Word sẽ xây dựng một biểu diễn đồ họa của phương trình.

Nhập phương trình kiểu LaTeX trong Word 2007 trở lên

Khi nó xuất hiện trong GUI, bạn không còn có thể chỉnh sửa nó dưới dạng LaTeX. Word không có bộ xử lý TeX nhúng - nó chỉ thực hiện khớp mẫu để chuyển đổi cú pháp LaTeX đơn giản sang định dạng phương trình gốc. Do đó, bạn không nên mong đợi có được độ trung thực hoàn hảo cho các phương trình LaTeX siêu phức tạp. Tuy nhiên, nó đủ cho bất cứ ai trừ một nhà toán học, và nó nhanh hơn rất nhiều so với việc nhấp vào các yếu tố bằng chuột.

Trình chỉnh sửa phương trình Word 2007 cũng có định dạng nhập phương trình tuyến tính, khá trực quan và không yêu cầu làm quen với LaTeX. Ví dụ, nhập vào (a+b)/(c+d)sẽ dẫn đến một phần được định dạng độc đáo.

Nhập phương trình tuyến tính trong Word 2007 trở lên

Ghi chú:

  1. Nhiều tạp chí khoa học sẽ không chấp nhận các tài liệu Word với định dạng phương trình mới - ngay cả khi bạn lưu dưới dạng .doc thay vì .docx.

  2. Điều này không biến Word thành LaTeX. Nó chỉ tự làm các phương trình, và không có gì khác. Bạn thậm chí không nhận được đánh số phương trình.


4
Điểm mấu chốt là phong cách LaTeX , như thường lệ ms có cách làm việc 'tốt nhất' của riêng họ. +1 cho bài đăng, nó sẽ làm cho nó dễ dàng hơn nếu bạn bị mắc kẹt với từ.
BAR

1
Điều này không phù hợp với tôi trong trình chỉnh sửa phương trình trong Word 2011.
jvriesem

2
Xin chào, tôi không chắc là tôi đang làm đúng. Tôi cố gắng sử dụng kiểu latex cho phân số: \ frac {} {} nhưng nó không hoạt động trong trường phương trình.
jxhyc

Vẫn không có sẵn ...
ánh sáng bầu trời

1
Phiên bản Office 365 chỉ hoạt động trong word không hoạt động trong ppt
yuxuan

24

Viết các công thức toán học của bạn trong LaTeX → Chuyển đổi các công thức LaTeX trong Mã MathML → Sao chép / Dán mã MathML trong Word (sau khi nhấp vào nhấp CTRLvà sau đó T). Voila!


THÍ DỤ:

Hãy lấy ví dụ về Công thức này: Công thức viết bằng LaTeX

Đây là Mã nguồn LaTeX từ Công thức trên:

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.

Bây giờ hãy mở Trình chỉnh sửa và đặt mã nguồn ở trên giữa các dấu $$ $$ như thế này:

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

Lưu tệp dưới dạng tệp .html và mở tệp bằng trình duyệt như Chrome.

Nhấp chuột phải vào Công thức và chọn Hiển thị MathML dưới dạng → Mã 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>

Bây giờ Sao chép / Dán Mã MathML trong Word 2013 (hoặc 2007) và nhấp tuần tự CTRLvà sau đó T( Tùy chọn dán: chỉ giữ văn bản ) hoặc đi đến hình ảnh Ctrl nhỏ ở cuối Mã MathML bạn đã dán và chọn tùy chọn theo cách thủ công.

Đây là cách công thức nhìn vào cuối trong Word 2013:


Có vẻ như chiều cao của dấu ngoặc trở nên giống nhau sau khi chuyển đổi. (Xem xét một cái gì đó như d \left((a+b)+\frac{1}{c}\right).) Đây có phải là giới hạn của MathML không?
xzczd

1
Đây phải là câu trả lời tốt nhất.
Vim

7

Tôi đã tạo latexToWordEquation dựa trên câu trả lời.

Nó là một AddIn.

Mã nguồn tôi đã đẩy lên Github. Liên kết tại đây

Nếu bạn thích bạn có thể tải xuống trình cài đặt trực tiếp từ đây .
Lưu ý: Đây là một liên kết tải xuống hoạt động sẽ ngay lập tức tải xuống tệp khi bạn nhấp vào nó.

Làm thế nào để làm nó


3
Chào mừng đến với Siêu người dùng. Mọi người có ý thức bảo mật và quan tâm khi nhấp vào một liên kết ngay lập tức tải xuống một tệp không xác định. Đó là một ý tưởng tốt để bao gồm một thông báo về các liên kết tải xuống trực tiếp. BTW, độc giả có thể miễn cưỡng tải xuống một tệp không xác định, đặc biệt là từ người dùng mới. Vì vậy, đừng mang nó theo cá nhân nếu liên kết không có nhiều hành động. Bất kể, cảm ơn vì đã cố gắng giúp đỡ với câu hỏi này.
fixer1234

1
Tôi đã thử nghiệm nó trong Word 2016. Thật không may, nhấn nút không làm gì cả. Tôi có cần phải cài đặt bất cứ thứ gì để giải pháp này hoạt động không?
RAnders00

5

Tôi thích TeXsword hơn latex trong Word ( tải xuống TeXsword ). Nó có tất cả các tính năng của latex trong Word, cộng với việc xử lý các tham chiếu phương trình. Và nó không yêu cầu kết nối Internet, điều mà tôi thấy là một tính năng không phải là hạn chế: MikeTeX rốt cuộc không lớn như vậy và có LaTeX cục bộ cho phép bạn nhập tài liệu của mình khi đi du lịch.


Nó có hỗ trợ Word 2013 không?
Devid

Tôi đang sử dụng plugin này trong Word 2016, nó hoạt động tốt.
jdhao

4

Bạn có thể sử dụng latex trong Word .

Nó cung cấp các macro cho Microsoft Word cho phép sử dụng đầu vào LaTeX để tạo hình ảnh phương trình ở cả chế độ nội tuyến và hiển thị mà không phải cài đặt bất kỳ phần mềm nào trên máy tính cục bộ. Theo tôi biết, đây là sự thay thế miễn phí duy nhất cho các chương trình trả phí như AuroraTexPoint .

Đối với Office 2007, hãy truy cập latex trong Trang dự án Word trên Source Forge và bấm vào Word 2007 trong Tệp .

LaTeX trong Word là một công cụ được cấp phép GPL cho phép các phương trình được sử dụng trong các tài liệu Microsoft Word. Phía máy khách của chương trình được triển khai dưới dạng macro VBA trong tài liệu "LaTeXinWord_v_0_3_1.docm" cùng với hướng dẫn. Do đó, tệp này chứa mã nguồn, triển khai và tài liệu.


Nó dường như không hoạt động ngay bây giờ.
jdhao

4

Câu trả lời của @ Devid là tuyệt vời, nhưng tôi gặp khó khăn với các hướng dẫn cụ thể. Đây là những gì làm việc cho tôi. Thực hiện các bước của Devid thông qua việc sao chép mã MathML.

Sau đó, chèn một phương trình trống. Trong Word 2013, chuyển sang chế độ xem Bố cục In (Xem tab trên ruy-băng). Trên tab Chèn, chọn Phương trình. Bạn sẽ thấy Type equation heređược chọn.

Trên tab Trang chủ, chọn thả xuống Dán, sau đó Dán Đặc biệt (hoặc chỉ cần nhấn CTRLALTV). Chọn Unformatted Unicode Text. Phương trình sau đó sẽ điền chính xác, như trong hình cuối cùng của Devid.

Một điều nữa - trong hình, các lệnh "lim" được in nghiêng, trong đó chúng không có trong bản gốc. Để khắc phục điều đó, với mỗi "lim", đặt con trỏ ngay sau "m" và nhấn Spaceđể khiến Word kiểm tra "lim" đối với bảng chức năng của nó và điều chỉnh định dạng. (Sau đó xóa không gian thừa đã tạo.)


1

Tôi đã viết một công cụ để tạo MathML, tôi đã cải thiện mẫu mã Devid và thêm một số chức năng để dễ dàng chỉnh sửa. Đây là mã:

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

Khi sao chép MathML sang Word, hãy đảm bảo sao chép văn bản thuần túy, sử dụng phím Ctrl + Alt + V (hoặc trước tiên sao chép nó vào notepad sau đó sao chép nó sang word).


1

Máy chủ mặc định cho LaTeX trong Word dường như không còn chạy. Nếu bạn buộc phải sử dụng Word (ví dụ: để cộng tác với những người ít định hướng kỹ thuật hơn), tôi đã sử dụng TeXsword theo đề xuất của Adam. Bạn sẽ cần cài đặt một bản phân phối MikTex độc lập , nhưng nó là một bản cài đặt dễ dàng trong những ngày này. Nó hoạt động với Word 2016. Nó vẫn không đẹp như tài liệu LaTeX thực sự, nhưng nó dễ sử dụng và dễ uốn hơn trình soạn thảo phương trình trong Word.


Vui lòng không đăng câu trả lời để đồng ý với câu trả lời khác hoặc xác nhận rằng nó đã hoạt động. Định dạng Hỏi & Đáp của trang web dành câu trả lời cho các giải pháp cho câu hỏi và mỗi câu trả lời sẽ đóng góp một giải pháp khác. Cách để chỉ ra rằng một câu trả lời là hữu ích là đầu tư một ít thời gian vào trang web và bạn sẽ có đủ đặc quyền để nâng cao câu trả lời bạn thích.
fixer1234

1
Tôi muốn nhận xét rằng nó hoạt động trong các phiên bản mới hơn của từ (để trả lời câu hỏi của Devid), nhưng không có đặc quyền để làm như vậy.
mathisfun

Vui lòng không thêm "cảm ơn" làm câu trả lời. Đầu tư một chút thời gian vào trang web và bạn sẽ có đủ đặc quyền để nâng cao câu trả lời bạn thích, đó là cách nói siêu cảm ơn của bạn.
DavidPostill

0

Câu trả lời được đề cập ở trên là đúng nhưng cũng có một phím tắt được tích hợp sẵn là toán tự động. Nó rất giống với LaTeX. Theo mặc định, nó không hoạt động nhưng bạn có thể kích hoạt nó và thực sự hữu ích nếu bạn muốn viết các phương trình lớn. Ví dụ: nếu bạn muốn nhập H 2 hơn bạn chỉ cần nhập H_2, v.v. và nhiều tùy chọn khác có sẵn như đối với ký tự siêu ký tự sau dấu caret (^) sẽ được chuyển đổi thành siêu ký tự. Nhiều phím tắt như vậy được trình bày trong video này hoặc bạn có thể chỉ cần tìm kiếm Cách chèn phương trình toán học (như LaTeX) trong Ms-Office: Mẹo và thủ thuật trên youtube.

Phương pháp này sẽ đặc biệt hữu ích nếu bạn nhanh chóng gõ. Ngoài ra, nó sẽ tiết kiệm thời gian của bạn bị mất trong khi chuyển đổi giữa bàn phím và chuột và tìm kiếm tùy chọn thích hợp trong từ.


Taoyue đã đề cập rằng trong câu trả lời của mình hai năm trước, với ảnh chụp màn hình.
Ben Voigt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.