公式圖片轉latex神器Mathpix以及latex公式與word公式的相互轉換

公式圖片識別爲latex

平時在寫東西的時候時常有進行公式輸入的需要,比如說看了一篇論文寫點東西記錄一下什麼的。但是在寫東西的時候手動抄着那些複雜的公式讓人有一種在搬磚的錯覺(我之前寫文檔抄公式的時候就有這種錯覺😂),這樣就會很容易打消搬磚的積極性的。幸好之後楊同學告訴了我Mathpix這個神器瞬間將我解放了生產力max :xyx:。

官網地址:https://mathpix.com/
官方測試PDF:https://mathpix.com/examples.pdf

調了其中比較複雜的第十四個公式來測試了一下,效果非常的喜人,非常的準確沒有一點錯誤。公式圖片和最後的結果對照如下所示。

function

H^=dr(22MBΨ^m+Ψ^m+c02Ψ^m+Ψ^m1+Ψ^m1Ψ^m+c22Ψ^m1+Ψ^m2+Fm1m4Fm2m3Ψ^m3Ψ^m4) \hat{H}=\int d r\left(\frac{\hbar^{2}}{2 M_{B}} \nabla \hat{\Psi}_{m}^{+} \nabla \hat{\Psi}_{m}+\frac{c_{0}}{2} \hat{\Psi}_{m}^{+} \hat{\Psi}_{m_{1}}^{+} \hat{\Psi}_{m_{1}} \hat{\Psi}_{m}+\frac{c_{2}}{2} \hat{\Psi}_{m_{1}}^{+} \hat{\Psi}_{m_{2}}^{+} F_{m_{1} m_{4}} F_{m_{2} m_{3}} \hat{\Psi}_{m_{3}} \hat{\Psi}_{m_{4}}\right)

latex轉word

方法一:word原生latex支持

得到latex公式之後我就開心的把它複製到了word中去了,因爲上次發現在word中開啓latex後就可以直接寫latex公式了。開啓方式如下圖所示在插入公式的時候選中latex就可以了。

openLatexInWord

但是我發現還是有坑啊,簡單一點的還好,複雜一點的長一點的有的時候會轉換不了,有的時候會轉換出錯。例如上面那個公式在word裏面轉換成了這個樣子:

方法二:latex轉MathML後粘貼(推薦)

後面在Google搜了一下之後發現可以先將latex公式轉換爲MathML後粘貼到word(記得選擇爲只保留文本,不然有樣式信息會不成功的),之後word會自動將MathML顯示爲公式。嘗試了一下發現真的可以而且效果非常好,上面的公式在使用MathML粘貼到word中的結果如下所示:

rightWordFunction

至於latex公式如何轉換爲MathML,有挺多的方法的。在markdown神器typora中可以右鍵選中公式然後依次選擇公式-》複製到MSWord,然後到word裏面直接粘貼就可以了。或者可以到這個網站:http://johnmacfarlane.net/texmath,它提供在latex轉MathML的服務。

word轉latex

word公式轉latex同樣有兩種,想必大家都可以猜出來了。和上面相對應的一種是word原生轉換,一種是藉助MathML進行中轉。

方法一:word原生latex支持

這個方法非常簡單,按照上文說的那樣選擇好latex後,直接對公式進行復制就然後在需要的地方粘貼就可以了。這個方法對與一下簡單的公式來說還是很方便的,但是對與一些比較複雜的公式例如這個例子,之間複製得到的結果就有點問題了。這個例子複製得到的latex公式甚至不能被MathJax解析。

方法二:複製得到MathML後轉latex(推薦)

由於方法一面對複雜公式的時候存在問題,我們可以考慮再次使用MathML進行中轉。複製word公式默認得到的是它所說的線性格式的純文本而不是MathML,我們需要進行一些設置上面的改變。具體步驟如下所示:

先點擊箭頭指向的小箭頭打開公式選項:

openFunctionSet

然後將複製公式時選項切換爲MathML:

changeFunctionSet

在這之後之間複製公式就是得到MathML的純文本了,然後再到這個網站:http://johnmacfarlane.net/texmath,它可以將MathML轉換爲latex。

最後如果是大量的文件轉換還是使用文件轉換神器 pandoc,然後再修改一下吧,手動格式轉換還是算了😂。

參考資料:

  1. 如何將LaTeX公式拷貝到Word中

博客原文:公式圖片轉latex神器Mathpix以及latex公式與word公式的相互轉換

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章