如何在 Word 和 PowerPoint 中優雅地插入 Latex 公式?
Word 和 PowerPoint 中插入公式有很多辦法,比如直接用 Office 內置的編輯器。但是那個字體實在是不敢恭維,而且其便利性比 Latex 還是差很多。尤其是,現在很多網頁採用 MathJax 顯示公式,而 MathJax 可以直接把顯示的公式導出為Tex Commands。這樣一來,如果可以直接在 Word 和 PowerPoint 中插入 Latex 公式,那麼很大一部分公式就可以直接復用。據題主所知,現在有數種辦法可以以 png 圖片形式將 Latex 公式插入 Office 文檔,而 Latex 公式信息以 metadata 的形式保存在 png 圖片中以便再次編輯。 但是粗暴的圖片顯然不夠優雅,縮放一下鋸齒尤其明顯,而且不同的軟體對 metadata 的處理方式不同。那麼,有沒有優雅地(可編輯、矢量顯示)在 Word 和 PowerPoint 中插入 Latex 公式的辦法呢?
先解決字體的問題:
再解決便利的問題:
http://unicode.org/notes/tn28/UTN28-PlainTextMath-v3.pdf
摺疊
----
Aurora: Even better than the real thing
顯示:LaTeX 渲染的,沒得挑,有矢量和點陣圖兩種顯示模式。
編輯:雙擊就能再編輯,不過電腦上沒 Aurora 就只能幹瞪眼了。
便捷:就記住行間行內兩個快捷鍵就行了,用不上滑鼠。還支持 Paste from TeX,挺方便的。
基本滿足題主的要求,不過不便宜。對 Word 支持還湊合,至於 PPT 嘛,我研究半天,最後還是用 Beamer 了……
GitHub - idf/LaTeX2Word-Equation: Copy LaTeX Equations as Word Equations, Chrome Extension
開源的latex公式轉word,還實現了chrome插件,生扒wikipedia。
有個PowerPoint插件 IguanaTex,可以輸入latex公式,然後轉公式,之後還可以再次編輯。不是矢量圖,但是即使放大很多倍也感覺不出是點陣圖。
link: IguanaTex - A Free Latex Add-In for PowerPoint
學習了各位的精彩回答之後,我來彙報一下自己的進度。 @余曠 大神的 MathType 還是王道,我已經入手了。當然使用 MathType 似乎也需要一點點 trick,它本身對 PowerPoint 的支持似乎也有限。排版畢竟不是大家的主要工作,不能花太多時間。希望這個總結能把這個問題解決了,once and for all——至少對於我自己而言。
1 利用 Office 2007 之後的原生公式編輯器
1a 直接用 "Linear format" 寫公式,並採用 @劉海洋 老師推薦的字體
Office 2007 之後引入了一種叫做 "Linear format" 的方式或者「語言」來描述一個公式。Linear Format 本身是利用了各種鍵盤上沒有的 Unicode 字元的,但是輸入的時候可以跟 Latex 或者各種編程語言一樣用""轉義 ASCII 字元(實際了利用 Math AutoCorrect 的功能)成 Unicode 字元。所以,所有公式幾乎都可以直接從鍵盤輸入而不需要滑鼠——如同 Latex 一樣。@劉海洋 老師的帖子有這個 Linear format 的詳細介紹的鏈接。那個文檔比較長,而且似乎偏重於用 Unicode 字元線性描述公式的理論規則而不是鍵盤輸入。如果沒耐心可以直接看 Office 官方網站的介紹:
Linear format equations and Math AutoCorrect in Word
總之,這個語法跟 Latex 相似,敲 Bra-Ket 甚至比直接敲 TeX 更好用(比如對於,只要|alphaket,再敲一個空格)。自定義新命令也是可以部分辦到的。
很遺憾在 PowerPoint 中沒法自選默認字體。另外如果不是編號沒法方便的解決,我可能就不再研究其他方法了。
1b 用 MathML 做中介
如匿名用戶所說,這需要 MathJax。如果你有採用了MathJax渲染公式的個人維基或者Wordpress的話,直接在公式區域右鍵點擊,選擇Show Math AsMathML Code。
拷貝一下彈出來的 MathML 代碼,再到 Word 裡面以文本格式粘貼(不是直接Ctrl-V)
Word 就可以自動識別並轉換為原生公式。當然,除非要拷貝已有的公式,直接寫新公式的話,這個方法略繁瑣;而且Word 對 MathJax 轉換出來的 MathML 的支持並不是那麼完善,這就造成了一種尷尬的局面:對於簡單的公式,殺雞焉用牛刀;可是對於複雜到了需要用 MathML 中介的程度,Word 本身又無法較完美的支持了……
2 MathType
對於 MathType 就沒啥好說的了。Office 2007 之前大家都很熟。現在的 MathType 6.9,可以直接在 Word 裡面用$...$和[...]寫公式,點一下 Toggle TeX 就可以轉換成 MathType 格式,而且還可以再轉換回來。公式編號什麼的,也一應俱全。默認的公式格式採用Time New Roman 字體,但是改成 Latex 的字體也不是難事。只是在 PowerPoint 中沒法 Inline 插入,還是原生公式跟文字結合更緊密。
3 公式編號,以及處於 Display 模式的公式不另起新段的技巧
公式編號是原生公式在Word 2016之前無法直接解決的問題。當然可以自己創建3x1或者2x1的表格,強制captions放在最右邊。MathType 對於原生公式的編號就是這麼弄的。我以前也這麼搞,公式很費勁。而且無論如何,原生公式至少在 Word 2016 之前無法同時做到以下三點 1) 公式以 Display 模式居中; 2)公式編號靠右側對齊; 3) 公式不打斷句子和段落 (比如緊跟公式的 "where..." 通常不希望另算一段,也不希望另算一個句子而被word 自動大寫W。 MathType 的默認設置滿足以上 1) 和 2),但是不滿足 3)。滿足 1) 和 2) 是因為它添加了一個叫做 "MTDisplayEquation」 的 style,定義了 central tab 和 right tab (標尺中間和最右側的兩個標記)。這樣公式後面敲一下 Tab 鍵,公式編號就自動右對齊了。不滿足 3) 是因為它在公式前後用了"pilcrow",也就是單敲回車所默認輸入的分段符(paragraph mark,參見What do all those funny marks, like the dots between the words in my
document, and the square bullets in the left margin, mean?)。注意到Word 中的一個style 總是針對一個段落(而不是一行)來定義和使用的,MathType的做法情有可原。那麼如果我們想滿足 3),就得手動把這個「pilcrow」改成不斷句的line break。用Shift+Enter可輸入這個 line break 字元。同時,需要再把整個段落改成 "MTDisplayEquation" style。這個"MTDisplayEquation" style只是定義了 central tab 和 right tab,並沒有其他改動,所以可以放心使用。最後效果如下(我在 Word 選項里將這些本來隱藏的字元強制顯示出來了以便理解):
可以看到公式前後都是「回車標誌」的line break,所以 Word 並沒有抱怨 where 的 W 沒有大寫。對於我來說,所有的問題至此已經完全解決了。 PowerPoint 基本不需要考慮讓別人在原文上修改的問題(用 Word 也不過是為了方便讓其他人改得面目全非……),原生公式和還不夠用,那就直接用 Beamer 好了。
用mathjax 導出成 mathml,然後以純文本形式粘貼到office套件
或者用這個網站轉換 LaTeX para Word
conversion - Embed LaTeX math equations into Microsoft Word
c# - Inserting MathMl , Tex or LaTex equation in MS word .docs?推薦AxMath。此軟體支持Office的OLE嵌入,其基本操作方式與MathType類似,不過對LaTeX的支持要好於MathType,一方面排版效果更接近LaTeX,另一方面,AxMath支持LaTeX的語法提示和自動補全,適合用純鍵盤方式輸入公式。
嘗試了下IguanaTex,效果還不錯,支持矢量輸出公式
用IguanaTex,加上PPT的繪圖工具已經可以做出很不錯的Latex矢量插圖了
下載地址: http://www.jonathanleroux.org/software/iguanatex/download.html
方法如下:
1、安裝 MiKTeX 和 TeX Live;
2、PPT界面--文件--選項--載入項--管理--PPT載入項--轉到--添加--選擇下載文件IguanaTex;
3、下載TeX2img工具: http://www.math.sci.hokudai.ac.jp/~abenori/soft/index.html#TEX2IMG ,矢量輸出用;
4、轉到IguanaTex選項卡,建立C: emp文件夾,設置TeX2imgc路徑:..TeX2imgTeX2imgc.exe;
5、新建公式:New Latex display,Latex Engine 選 pdflatex,vector;
6、繪圖完畢將PPT保存為PDF格式,可利用Acrobat對PDF進行剪裁。
word:alt+"=" 複製mathML code
Latex2word chorm 插件
idf/LaTeX2Word-Equation
Mathtype: 輸入latex公式 ""
三種方法都可行,不過還是覺得mathtype的公式漂亮,學一學latex公式,速度會很快
別的版本不清楚,但word2016和ppt2016是原生支持latex公式的。當然默認字體不是NTR,自己改一下就好了
推薦閱讀:
TAG:LaTeX | PPT使用技巧 | LaTeX排版與設計 | 公式編輯器 | MathJax |