如何優雅地使用 LaTeX 編輯公式?

比如編輯一堆推導過程的時候

editor裡面的代碼就長這樣了

完全看不清楚啊!!!哪裡錯了也不知道!!! 在editor里怎樣排版可以清楚一點呢?

===========================

感謝大家的回答,目前在學lyx,感覺也是有利有弊。

另外上面的推導有些問題,大家不要介意


代碼可以適當的換行縮進,另外推薦使用unicode-math宏包,可以直接在源文件中使用Unicode字元,輸入各種希臘字母,數學符號等等,方便閱讀,比如∈應該比in更加易讀吧。當然,這就需要你有一個可以輸入這些字元的輸入法了,fcitx輸入法有一個LaTeX碼錶,可以方便的用LaTeX命令輸入對應的符號。


公式方面經驗不太豐富,看了評論有說 MathType 並不是靠譜的方案,在原答案上直接作一個更新。

我個人的首選方案是代碼自動格式化,這樣會不容易出錯,甚至有 JavaScript 一樣有自動檢測錯誤的工具就更好了。但現實情況是,找了一圈,也沒發現有簡單易用效果好的格式化工具。 暫且先描述一下此方面個人了解的吧。

提供三個方案:

(1)不藉助工具:分開寫公式,然後 input 進來。

如果希望直接使用 LaTeX 編輯的話,可以分開寫,放在不同的文件,然後 input 進來,保證每一部分沒錯之後再合併。

(2)藉助工具:直觀地敲公式,再導出。

MathType 敲了公式再轉,或者 Mathematica 也是可以直接導出的。

(3)藉助工具:自動化工具 cereda/arara · GitHub + 格式化 cmhughes/latexindent.pl · GitHub,實現代碼自動格式化。

MathType 轉 LaTeX

一個比較容易上手的折中方案:用 MathType 編輯公式,然後拷貝成 LaTeX 格式的公式。MathType 操作參照:How to convert equation in MathType to Latex(Preferences-&> Cut and Copy Preferences...-&> MathML or TeX)

拷貝出來的效果:

MathType 附錄後續:

(1)使用 MathType 還有一個好處,可以在 Word 中用 LaTeX 編寫公式,然後 Alt + 轉換成 MathType 公式。下圖是 Word 中的轉換效果

(2)Word 中的自帶公式編輯器也可以用 LaTeX 編輯轉換,demo:Alt + + ,輸入 sum,空格。

(3)另外,如果不想用 MathType,也可以用一些在線的公式編輯器,比如 HostMath - Online LaTeX formula editor and browser-based math equation editor。arara 和 latexindent.pl

  • arara cereda/arara · GitHub 可以集成到編輯器中,比如 TexWorks,WinEdt,TeXShop,並且是跨平台的。文檔裡面的介紹是

arara is a TeX automation tool based on rules and directives.

arara 文檔 http://texdoc.net/texmf-dist/doc/support/arara/arara-usermanual.pdf,GitHub 上要是沒找到可以直接用的安裝文件,可以在這裡找下 3.0。(另外,這個工具需要 java 環境。)

  • latexindent.pl cmhughes/latexindent.pl · GitHub 用于格式化代碼,可以結合 arara 用,也可以單獨用。

安裝了一下,試了試簡單的例子,還行。 @干物理學森 如果可以,可以把公式的 LaTeX 源碼私信給我,試試對公式的效果。


latex公式在線編輯器


使用 LyX 毫無壓力:

LyX 本身是一個完整的文檔編輯器; 如果只是想用裡面的公式編輯功能, 或者剛上手沒來得及設快捷鍵, 你可以在數學模式中直接輸入 LaTeX 代碼, 然後按空格就行了:

LyX 本身是一個完整的文檔編輯器; 如果只是想用裡面的公式編輯功能, 或者剛上手沒來得及設快捷鍵, 你可以在數學模式中直接輸入 LaTeX 代碼, 然後按空格就行了:

其實輸入時會有一個浮動小窗口提示可補全的代碼, 但是 LyX 編輯界面捕獲 Print 鍵導致在下未能截圖.

關於如何在 LyX 中快速輸入數學公式, 詳情可以參考:

lyx怎麼能快速打出數學符號啊?快捷鍵好長。。。。 - ted li 的回答 - 知乎


用TeXmacs,編輯公式特別方便,可以導出tex文件。


用縮寫,你寫了很多mathbf


代碼縮進和對齊是書寫所有編程語言(雖然TeX不算)的最基本要求,在數學模式裡面空格又沒什麼意義。所以最好的辦法就是儘可能的手工把代碼對的工整些,對於常用的代碼塊也可以用
ewcommand或者def之類的預先定義好。另外,強烈不推薦使用各種所見即所得的代碼工具,一是在你從TeX編輯器切換到這些工具的時候你的思路實際上就已經被打斷了,二是點滑鼠效率始終沒有敲命令來的高,三是這些工具轉換出來的代碼質量著實不咋地,完全是一團亂麻,改起來也很麻煩。我認為所謂優雅的使用TeX只有一個標準,那就是所想即所寫,即書寫的速度可以跟的上你思考的速度。而要想達到這種境界只有一種辦法,那就是不停地寫。最後,既然都用上TeX了,就不要考慮MathType了。


推薦閱讀:

電影《危機解密 》(The Fifth Estate )中使用的是什麼編輯器?
VIM怎樣讓編輯行自動位於屏幕中間?
如何評價 vim 8.0?
為什麼markdown不支持字型大小和字體顏色?
怎麼在自己的網頁上使用MarkDown編輯器呢?

TAG:文本編輯器 | LaTeX |