Microsoft Word文書(Office 2007)で数学の公式をLaTeXの方法で入力するためのフリーの解決策はないのでしょうか?
86 Tim 2011-09-28
Office 365のバージョン1707以降をお使いの場合は、数式エディタでLaTexをネイティブフォーマットに変換することができます。この回答の最初の部分を参照してください
古いバージョンのOfficeでは、方程式エディタは特定のLaTeXコンポーネントを理解することができます。しかし、それはあなたが行っている間に方程式を構築し、LaTeXの方程式全体を変換することはできません。もしあなたが実行しているのであれば、この回答の第二部を参照してください
- WinWord 2007年、2010年、2013年、2016年
- MacWord 2011年と2016年
Office 365のバージョン1707以降の場合
方程式エディタをLaTeXモードにします。方程式エディタのデザインリボンで、変換グループに移動し、LaTeXをクリックします
LaTeXを入力します
変換]ドロップダウンメニューを開き、[現在 – プロフェッショナル]をクリックします
LaTeXはEquation Editorのネイティブフォーマットに処理されます
また、LaTeXに戻して式を編集することもできます
- 変換] ドロップダウンメニューを開き、[現在 – リニア] をクリックします
- 方程式はLaTeX形式に変換されます。注意: これは元のLaTeXのソースではありません
- 変換]ドロップダウンメニューを開き、[現在 – プロフェッショナルをクリックします
変換ボタンは Linear と Professional の間で自動的に切り替わらないので、ドロップダウンメニューを使用する必要があります。最後に使用したコマンドが保持されます
いくつかの制限があります。たとえば、Office 365 式エディタは、\begin コマンドと \end コマンドを理解しません。例と回避策については、Microsoft のドキュメントを参照してください
On Office 2007-2016(Mac Office 2011-2016)
Word 2007のビルトイン方程式エディタが実際にLaTeXスタイルの方程式入力を理解していることに気付いている人はほとんどいません。単に新しい方程式を挿入し、それにLaTeXをタイプします。あなたがタイプするように、Wordは方程式のグラフィカルな表現を構築します
一度GUIに表示されると、もはやLaTeXとして編集することはできません。Word は TeX プロセッサを内蔵していません — それは単純な LaTeX 構文をネイティブの方程式フォーマットに変換するためのパターンマッチングを行っているだけです。したがって、超複雑なLaTeX方程式のために完璧な忠実さを得ることを期待すべきではありません。しかし、数学者以外の人にはこれで十分ですし、マウスで要素をクリックするよりもずっと速いです
Word 2007の方程式エディタには、線形方程式の入力フォーマットもありますが、これはかなり直感的で、LaTeXに精通している必要はありません。例えば、(a+b)/(c+d)
と入力すると、きれいに整形された分数が得られます
Notes:
多くの科学雑誌は、新しい数式形式のWord文書を受け入れません — .docxではなく.docとして保存してもです
これはWordをLaTeXにはしません。方程式そのものを処理するだけで、他には何もありません。方程式の番号付けもしません
84 taoyue 2012-11-23
数学の公式をLaTeXで書く → LaTeXの公式をMathMLコードに変換する → MathMLコードをWordにコピー/ペーストする (ペースト後、CTRLをクリックし、Tをクリックしてください)。これで完成です
EXAMPLE:
この式を例にしてみましょう。
これが上記のFormulaの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などのブラウザで開きます
式を右クリックして、「Show MathML As → MathML Code」を選択します
<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>
さて、Word 2013(または2007)でMathMLコードをコピー/ペーストし、CTRLとTの順にクリックしてください(オプションの貼り付け:テキストのみを保持)、または貼り付けたMathMLコードの最後にある小さなCtrlの画像に移動し、手動でオプションを選択してください
Word 2013ではこのような式が最後に表示されます。 の場合
32 Devid 2014-08-23
答えを元にLatexToWordEquationを作成してみました
Wordのアドインです
Githubにプッシュしたソースコードです。リンクはこちら
ご希望の場合は、こちらから直接インストーラをダウンロードすることができます。 注意: これはアクティブなダウンロードリンクで、クリックするとすぐにファイルがダウンロードされます
そのための方法
10 Alexandre Giordanelli 2015-11-27
@Devidさんの回答は素晴らしいのですが、具体的な指示に苦労しました。以下は私のために働いたものです。MathMLのコードをコピーしてDevidのステップを実行します
次に、空白の数式を挿入します。Word 2013で、[印刷レイアウト]ビュー(リボンの[表示]タブ)に切り替えます。挿入] タブで、[方程式] を選択します。Type equation here
が選択されているのがわかります
ホームタブで、貼り付けドロップダウンを選択し、特殊貼り付け(またはCTRLALTVを押す)を選択します。Unformatted Unicode Text.
を選択すると、デビッドの最後の絵のように、方程式がほとんど正しく入力されるはずです
もう一つ – 写真では、”lim” コマンドはイタリック体で表示されていますが、オリジナルにはありませんでした。これを修正するには、それぞれの “lim “について、カーソルを “m “の直後に置き、Spaceを押すと、Wordが “lim “をその関数のテーブルと照合し、書式設定を調整します。(その後、作成された余分なスペースを削除してください)
6 cxw 2015-06-23
私は Latex in Word よりも TeXsword の方が好きです (TeXsword download)。それはLatex in Wordのすべての機能を持っていますし、数式の参照を扱うことができます。また、インターネット接続を必要としません。結局のところ、MikeTeXはそれほど大きなものではありませんし、LaTeXをローカルに持っていれば、旅行中に文書をタイプすることができます
5 Adam Ryczkowski 2012-07-14
WordのLatexを使用することができます
これはMicrosoft Word用のマクロを提供しており、ローカルコンピュータにソフトウェアをインストールすることなく、LaTeX入力を使用してインラインモードと表示モードの両方で方程式の画像を作成することができます。私の知る限りでは、Aurora や TexPoint のような有料プログラムに代わる唯一の無料の代替プログラムです
Office 2007 の場合は、Source Forge の Latex in Word プロジェクトページ にアクセスし、ファイル の Word 2007 をクリックしてください
LaTeX in Wordは、Microsoft Word文書の中で方程式を使用できるようにするGPLライセンスのツールです。プログラムのクライアント側は、”LaTeXinWord_v_0_3_1.docm “という文書の中にVBAマクロとして実装されています。したがって、このファイルには、ソースコード、実装、ドキュメントが含まれています
4 Mehper C. Palavuzlar 2011-09-28
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 にコピーする)
2 stalendp 2016-08-28
Word の LaTeX のデフォルトサーバは、もはや実行されていないようです。もし Word を使わざるを得ない場合 (例えば、技術志向の低い人との共同作業など) には、すでに Adam さんが提案しているように TeXsword を使うといいでしょう。スタンドアロンのMikTex ディストリビューションをインストールする必要がありますが、最近は簡単にインストールできます。私が使っているWord 2016でも動作します。相変わらず本物のLaTeX文書のような見栄えはしませんが、Wordの数式エディタよりも使いやすいです
1 mathisfun 2017-01-17
上記の回答は正しいのですが、数学の自動修正というショートカットが組み込まれています。これはLaTeXに似ています。デフォルトでは無効になっていますが、有効にすることができます。例えば、H2と入力したい場合は、H_2などと入力するだけで済みます。このようなショートカットの多くは、この ビデオ でカバーされているか、単に Ms-Office で数式を挿入する方法 (LaTeX のような) を検索することができます。Tips and tricksをyoutubeで検索してみてください
この方法は、あなたがタイピングが速い場合は特に役立ちます。また、キーボードとマウスを切り替えて、ワードで適切なオプションを検索している間に失われたあなたの時間を節約することができます
0 Prakash Gupta 2014-09-23
Microsoft Office ProPlus バージョン1902でLaTeXフォーマットを有効化しました
以下のマクロは、Word文書の現在の選択範囲内にある$
のペアで区切られたすべてのLaTeX式を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
これはフィージビリティスタディであり、生産を目的としたものではありません。マクロは、テキスト中の迷子の$
記号に簡単に騙されてしまいます。これが、マクロの動作を現在の選択範囲に限定した主な理由でもあります
また、equation
やalign
のような表示式環境は扱いません
0 Tobias 2019-12-17