web-dev-qa-db-ja.com

Microsoft WordでLaTeXの方法で数式を入力しますか?

Microsoft Word文書で、LaTeXのように数式を入力するための無料の解決策がいくつかあるのだろうか。

60
Tim

Office 365バージョン1707以降を実行している場合は、数式エディタを使用してLaTexをネイティブ形式に変換できます。この答えの最初の部分を見てください。

古いバージョンのOfficeでは、数式エディタは特定のLaTeXコンポーネントを理解できます。しかし、それはあなたが行くように方程式を構築し、あなたはLaTeX方程式全体を変換することはできません。あなたが走っているならば、この答えの2番目の部分を見てください:

  • WinWord 2007、2010、2013、および2016
  • MacWord 2011と2016

Office 365バージョン1707以降

  1. 数式エディタをLaTeXモードにします。方程式エディタデザインリボンで、変換グループに移動し、LaTeXをクリックします。 ).

    Conversions group on the Equation Editor-Design ribbon

  2. LaTeXを入力してください。

    After entering LaTeX equation

  3. 変換ドロップダウンメニューを開き、現在 - プロフェッショナルをクリックします。

    Convert menu, Current - Professional

  4. LaTeXは数式エディタのネイティブフォーマットに処理されます。

    Resulting equation

LaTeXに変換して方程式を編集することもできます。

  1. 変換ドロップダウンメニューを開き、現在 - 線形をクリックします。
  2. 方程式はLaTeX形式に変換されます。注意:これは元のLaTeXソースではありません。これはEquation Editorの内部フォーマットを介して往復されているためです。
  3. 変換ドロップダウンメニューを開き、現在 - プロフェッショナルをクリックします。

ドロップダウンメニューを使用する必要があります。なぜなら、変換ボタンは、リニアとプロフェッショナルの間で自動的に切り替わらないからです。最後に使用したコマンドを保持します。

いくつかの制限があります。たとえば、Office 365数式エディタは、\ beginおよび\ endコマンドを認識しません。例と考えられる回避策については、Microsoftの資料を参照してください。


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

Word 2007に組み込まれている数式エディタが実際にはLaTeXスタイルの数式入力を理解していることに気づいている人はほとんどいません。新しい方程式を挿入して、それにLaTeXと入力するだけです。入力すると、Wordは数式のグラフィカル表現を作成します。

LaTeX-style equation entry in Word 2007 and above

GUIに表示されると、LaTeXとして編集することはできなくなります。 WordにはTeXプロセッサが組み込まれていません。単純なLaTeX構文をネイティブの方程式形式に変換するためのパターンマッチングを行っているだけです。したがって、超複雑なLaTeX方程式に対して完全な忠実度が得られるとは思わないでください。ただし、数学者以外の人にはおそらく十分であり、マウスで要素をクリックするよりもたくさん高速です。

Word 2007の方程式エディタには線形方程式の入力形式もあります。これはかなり直感的で、LaTeXに精通している必要はありません。たとえば、(a+b)/(c+d)と入力すると、きれいにフォーマットされた分数になります。

Linear equation entry in Word 2007 and above

ノート:

  1. たとえあなたが.docxの代わりに.docとして保存したとしても、多くの科学雑誌は新しい方程式フォーマットのWord文書を受け入れません。

  2. これはWordをLaTeXに変えません。それは方程式自体をするだけで、他には何もしません。方程式の番号付けさえできません。

64
taoyue

LaTeXでMathの数式を書く→MathMLのコードでLaTeXの数式を変換する→WordでMathMLのコードをコピー/貼り付け(貼り付けクリック後) CTRL その後 T)ほら!


例:

たとえば次の式を見てみましょう。 Formula written in LaTeX

これは上記の公式のLaTeXソースコードです。

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.

エディタを開き、上記のソースコードを記号$$ $$の間に配置します。

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

ファイルを.htmlファイルとして保存し、Chromeなどのブラウザで開きます。

式を右クリックして、[MathMLの形式で表示]→[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>

Word 2013(または2007)でMathMLコードをコピー/貼り付けし、順番にクリックします CTRL その後 T (オプションの貼り付け:テキストのみを保存する)か、貼り付けたMathMLコードの最後にある小さなCtrlイメージに移動して、オプションを手動で選択します。

これが、Word 2013の最後の部分の数式です。

20
Devid

答えに基づいてLatexToWordEquationを作成しました。

Wordアドインです。

私がGithubにプッシュしたソースコード。 ここにリンクする

お望みなら、 here からインストーラを直接ダウンロードすることができます。
注:これはアクティブなダウンロードリンクで、クリックするとすぐにファイルがダウンロードされます。

やり方

私はWordでラテックスよりもTeXswordを好みます( TeXswordダウンロード )。これは、WordでのLatexのすべての機能を持ち、さらに方程式参照の処理を提供します。それはインターネット接続を必要としない、それは私が機能として制限ではないと思う:MikeTeXは結局それほど大きくない、そしてLaTeXをローカルに持っていることはあなたが旅行するときあなたの文書をタイプすることを可能にする。

5
Adam Ryczkowski

あなたは Wordの中のラテックス を使うことができます。

これは、ローカルコンピュータにソフトウェアをインストールすることなく、LaTeX入力を使用してインラインモードと表示モードの両方で方程式画像を作成するためのマクロを提供します。私の知る限りでは、これは AuroraTexPoint のような有料プログラムに代わる唯一の無料の選択肢です。

Office 2007の場合は、Source Forgeの WordプロジェクトページのLatex に移動し、 Files の下のWord 2007をクリックします。

LaTeX in Wordは、数式をMicrosoft Word文書で使用できるようにするGPLライセンスのツールです。プログラムのクライアント側は、説明と一緒にドキュメント "LaTeXinWord_v_0_3_1.docm"にVBAマクロとして実装されています。したがって、このファイルにはソースコード、実装、およびドキュメントが含まれています。

@ Devid's answer は素晴らしいですが、私は特定の指示に苦労しました。これは私のために働いたものです。 MathMLコードをコピーすることでDevidのステップを実行してください。

次に、空白の方程式を挿入します。 Word 2013で、印刷レイアウトビュー(リボンの[表示]タブ)に切り替えます。挿入タブで、Equationを選択します。 Type equation hereが選択されているのがわかります。

[ホーム]タブで、[貼り付け]ドロップダウンメニューから[形式を選択して貼り付け]を選択します CTRLALTVUnformatted Unicode Text.を選択してください。そうすれば、式はDevidの最後の図のように、ほぼ正しく記入されるはずです。

もう1つのこと - 図では、「lim」コマンドはイタリック体で表記されていますが、元のものにはありません。これを修正するには、各 "lim"に対して、 "m"の直後にカーソルを置いてヒットします。 Space Wordにその機能のテーブルに対して「lim」をチェックさせそしてフォーマットを調整させる。 (それから作成した余分なスペースを削除します。)

3
cxw

WordでのLaTeXのデフォルトサーバーはもう動作していないようです。もしあなたがWordを使わざるを得ないのなら(例えば、技術的にあまり慣れていない人とコラボレーションするために)、私は既にAdamが提案しているように TeXsword を使いたいと思います。スタンドアロン MikTex ディストリビューションをインストールする必要がありますが、最近は簡単なインストールです。それは私のWord 2016で動作します。それでも本物の本物のLaTeX文書ほど見栄えはよくありませんが、Wordの数式エディタよりも使いやすくて柔軟性があります。

1
mathisfun

私はMathMLを生成するためのツールを書き、コードフォームDevidを改良し、そして簡単な編集のためにいくつかの関数を追加しました。これがコードです:

    <!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をWordにコピーするときは、必ずCtrl + Alt + Vキーを押して純粋なテキストをコピーしてください(またはまずメモ帳にコピーしてからWordにコピーします)。

1
stalendp

上記の答えは正しいですが、数学の自動修正というショートカットも組み込まれています。 LaTeXによく似ています。デフォルトでは無効になっていますが、有効にすることができます。大きな方程式を書きたい場合には非常に便利です。たとえば、Hと入力したい場合2 あなたが入力する必要がありますよりも H_2 キャレット(^)記号に続く上付​​き文字のように、上付き文字として変換されます。このようなショートカットの多くはこの ビデオ でカバーされているか、単に検索することができます。 MS Officeに数式を挿入する方法(LaTeXなど):ヒントとテクニック ユーチューブで。

この方法は、タイピングが速い場合に特に役立ちます。さらに、キーボードとマウスを切り替えてWordで適切なオプションを検索している間に失われる時間を節約できます。

0
Prakash Gupta