|
現: 2024-05-01 (水) 12:02:05 yuji |
| + | * 数式エディタ3.0が使用できなくなった [#u7ee8061] |
| + | Microsoft Office 2007/2010/2013/2016(おそらくOffice 2000/XP/2003にも)((Windows11でもいまだにMicrosoft Office 2007を使用している :-D ))に付属していた数式エディタが,スタックベースのバッファオーバーフロー脆弱性があるということで,Windows Updateにより密かに(2018/01頃)削除されていた。~ |
| + | [[Microsoftから>https://support.microsoft.com/ja-jp/office/%E6%95%B0%E5%BC%8F%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E3%83%BC-6eac7d71-3c74-437b-80d3-c7dea24fdf3f]]一応アナウンスされていた。 |
| | | |
| + | 数式エディタ3.0はOLEとして動作する実行ファイル''eqnedt32.exe''であるが,2000年頃にリリースされてから一度も改訂されてないようだ。 |
| + | しかもMicrosoftはこの数式エディタ3.0のソースコードを紛失してしまったらしく,脆弱性を治そうとしても出来ないので使えないようにするため削除したようだ。 |
| + | |
| + | まったくMicrosoftには困ったものです。 |
| + | |
| + | さらにおかしなことに,Wordには数式エディタ3.0とは別に''数式ツール(数式エディタ)''というのがOffice 2007以降で搭載されていて,挿入メニューから使用できる。これを使っても数式を入力することが出来る。~ |
| + | #ref(newmath.png,,50%) |
| + | この数式アイコンが新しい数式ツール。しかし,この機能はWordでは使えるが''なぜかExcelでは使えない場合がある''(私のExcel2007では使えない・・・)。 |
| + | |
| + | * 代替ツール [#wcaf4945] |
| + | 新しい''数式ツール(数式エディタ)''が使えればそれで良いのだが,使えない場合は数式が挿入出来ないのでなにかと不便である。~ |
| + | |
| + | なにか代替ツールがないか調べてみた。~ |
| + | |
| + | ** MathType [#s714856d] |
| + | Microsoftが数式エディタ3.0を突然削除したときに,代替ツールとして[[Design Science>http://www.dessci.com/en/]]社のMathType6を使えとアナウンスしていた。~ |
| + | MathTypeは有償のアプリケーションだが,評価するために30日間は機能制限無く使用できる。また,30日後は機能を限定されるが使用は可能なようだ。~ |
| + | |
| + | 旧版のMathType6を使いたい場合は,[[こちら>https://store.wiris.com/jp/products/downloads/mathtype/v6]]からダウンロード出来る。~ |
| + | 現在のリリース版であるMathType7は,[[ここから>https://store.wiris.com/jp/products/mathtype/download]]ダウンロードできる。~ |
| + | |
| + | このMathTypeはOLEとして動作するので,WindowsでOLEが使用できるすべてのアプリケーションで数式が入力(GUI/Key入力)できるようになる。出力は,TeX/MathML/画像データ等に対応しているので多くのアプリケーションで使用できる。 |
| + | |
| + | WordやPowerPointの場合は,タブメニューに''MathType''が表示されるのでクリックすれば使える。~ |
| + | Excelから使用する場合は,挿入>オブジェクトと開いて新規作成タブからMathType 7.0 Equationを選択してOKボタンを押せば編集画面が操作できる。~ |
| + | #ref(mathtype.png,,60%) |
| + | |
| + | ** LibreOffice Math [#u28ebc39] |
| + | オープンソースで無料な[[LibreOffice>https://ja.libreoffice.org/]]には,数式入力を行えるLibreOffice Mathが含まれている。~ |
| + | |
| + | LibreOffice MathはOLEとして動作するので,数式エディタ3.0やMathTypeと同様にWindowsでOLEが使用できるすべてのアプリケーションで数式が入力(GUI/Key入力)出来るようになる。~ |
| + | 出力はMathML/Officeに対応しているのでMS Officeでも使用できる。~ |
| + | |
| + | LibreOfficeのインストールは,[[公式サイト>https://ja.libreoffice.org/]]からインストーラーをダウンロードしてインストールすれば良い。~ |
| + | この時,Microsoft Office(Excel)が32bit版の場合は,LibreOfficeも32bit版をインストールするようにする。 |
| + | |
| + | Excelから使用する場合は,挿入>オブジェクトと開いて新規作成タブからOpenDocument 数式を選択してOKボタンを押せば編集画面が操作できる。 |
| + | |
| + | ** 数式入力パネル(Windows アクセサリ) [#z0ed1332] |
| + | Windows7以降には,''数式入力パネル(Math Input Panel)''というのが利用できる。(タブレットPC用のツール)~ |
| + | |
| + | 起動するには,スタート>Windows アクセサリー>数式入力パネル(Math Input Panel)をクリックする。~ |
| + | #ref(mathinput.png,,50%) |
| + | 数式をマウスで入力すると,上部に数式が表示され,右側にガイドメニューが表示される。 |
| + | #ref(mathinput2.png,,50%) |
| + | マウスで書いて入力(本来は,タブレットPC用の機能)するんで,なかなか思い通りな数式になってくれない。 |
| + | |
| + | あとは,右下の挿入(Insert)をクリックすると,WordもしくはPowerPointなら貼り付けられる。~ |
| + | ただ残念ながら,Excelだと貼り付けられない。~ |
| + | |
| + | 数式入力パネルは挿入(Insert)ボタンが押されると作成した数式データをUTF-8でエンコードした[[MathML>https://ja.wikipedia.org/wiki/Mathematical_Markup_Language]]形式でクリップボードに格納して,Ctrl+V のキーボードイベントを発生させる。この後,入力フォーカスを持つアプリケーションが貼り付けを行うのだが,この時アプリケーションがMathML形式またはMathML Presentation形式のデータを利用できる必要がある。~ |
| + | |
| + | ExcelではMathML形式またはMathML Presentation形式が利用出来ないので貼り付けが出来ないということらしい。~ |
| + | |
| + | Excel 2016だとメニュー>挿入>数式>インク数式 で,数式入力パネル(Math Input Panel)と同じような機能が新たに使用出来るようになった。~ |
| + | |
| + | Windows11では,この数式入力パネルは廃止された ;( |
| + | |
| + | ** オンラインの数式ツールを使う [#e70fc7ba] |
| + | オンライン上で数式画像を作成するツールがいくつかあります。 |
| + | |
| + | [[オンラインLaTeXエディター>https://www.codecogs.com/latex/eqneditor.php]]もそんなWEBツールの一つで,数式を作成して画像データに出力できる。~ |
| + | 画像データをExcelに貼り付ければ,数式を入力することが出来る。 |
| + | |
| + | 数式の入力はGUI/Key入力で出来て,出力はTeX/MathML/画像データ/pdf等に対応しているので,多くのアプリケーションで使用できる。~ |
| + | |
| + | ** draw.ioを使う [#x81529d2] |
| + | [[VisioのようなDrawツールdraw.ioがクール>/PC/VisioのようなDrawツールdraw.ioがクール]]で紹介しているdraw.ioでも数式が入力でき,画像データとして利用できます。 |
| + | |
| + | draw.ioのメニュータブの拡張>数式組版をクリックしてマークをする。 |
| + | #ref(drawio.png,,50%) |
| + | その後,テキスボックスで例えば以下のように入力すると,~ |
| + | &ref(drawio2.png); ← `\sqrt{x^2+y^2} = z` のように''半角バッククォート(Shift+@)''で [[ASCIIMath>http://asciimath.org/]] または [[LaTeX>http://www.latex-cmd.com/]] 記述の数式文字列を囲む~ |
| + | ように入力すると, |
| + | #ref(drawio3.png) |
| + | のように数式が表示される。 |
| + | |
| + | 後は,カット&ペーストしたり,画像ファイルに書き出した後Excelに挿入すれば作成した数式を利用できる。 |