有哪些好的 LaTeX 編輯器?

對中文支持好,能自動提示命令的?


2017-08-17:添加 Visual Studio Code;軟體更新比較快,刪除推薦,避免誤導

2016-04-21:更新 Atom 編輯器中文自動換行,見 Atom 配置中的備註

2016-03-06:更新 Atom 編輯器的配置用法,見編輯器介紹 Atom 項及 Atom 配置項。

維基百科上有一篇對比,超過20種編輯器。

http://en.wikipedia.org/wiki/Comparison_of_TeX_editors

編輯器:

LyX、TeXworks、TexStudio、WinEdt、Emacs、Sublime Text、Atom、Visual Studio Code.

編輯器微談:

  • LyX,所見即所得,有點類似Word,但是可以編輯LaTeX源碼。可以用來先搭建個大概,比較快。

  • TeXworks,這個是TeXlive自帶的一款,輕量級的。但是我這裡代碼高亮和字體顯示效果不好。

  • TexStudio,集編輯和預覽於一身,用起來比較方便。但是Window上的感覺視覺效果不如Linux上的。(下圖是Ubuntu系統上的)

  • WinEdt,這是CTeX自帶的一款,功能比較齊全,也是我的入門編輯器。入門首推這款,下載CTeX即可,也可以單獨安裝。

  • Sublime Text,付費應用,輕量級,啟動快,代碼高亮效果好,文件管理方便。但是要同時把編譯、編輯、預覽同時一起搞定,需要配置一下。

  • Emacs,結合配置 AUCTeX 會比較好用。Windows 和 Linux 皆可用。是除了 Vim 之外我見過描述最多的一種編輯器。下圖來自Text editor with font-size selection for specific human languages (ie. Unicode Block) eg Devanagari。

  • ShareLaTeX,在線編輯編譯。註冊一個賬戶就可以保存自己的文檔了,挺方便的。並且,編譯速度感覺要比自己本地編譯還快。文檔中英文都支持,關於中文編輯在這裡有說明 Chinese - ShareLaTeX, Online LaTeX Editor。它還是開源的,託管在GitHub上 sharelatex/sharelatex · GitHub。(編輯完了才發現 @Von Cube 已經提到過)

  • Atom,目前是一款免費的跨平台的編輯器,和 Sublime Text 操作類似,但實現技術不一樣,占內存要比 Sublime Text 多。

  • Visual Studio Code,微軟出的免費文本編輯器,和 Atom、Sublime Text 操作類似,文本編輯、日常開發等都能幹。配合擴展(LaTeX-Workshop),可編譯、可反定向、有代碼提示。

配置1Sublime Text 無插件

TeXLive + Sublime Text(編輯)+ SumatraPDF(PDF預覽)+ CMD執行編譯。
Sublime Text、SumatraPDF、CMD 的共性是,輕量級。

配置2:(Sublime Text + LatexTools

TeXLive + Sublime Text + LatexTools (Sublime插件)+ SumatraPDF。

配置一下,就可以實現在 Sublime Text 中的編輯、編譯,在 SumatraPDF 實現反向。

Sublime Text 中 LaTeXTools 的配置方法: SublimeText/LaTeXTools · GitHub(其中也包括了 SumatraPDF 反定向的配置說明)。

配置3:(Emacs + AUCTex

TeXLive + Emacs + AUCTex + SumatraPDF。

這個配置唯一難在需要熟練使用 Emacs,如果不是常用,比較費時,不過,從效率上來看,熟練後的效率當是最高的。

配置4:(Atom + 插件)

TeXLive + Atom + 以下 Atom 插件:

  • 語言高亮: language-latex
  • 編譯: latex (Ctrl + Alt + B 執行編譯)
  • PDF 預覽:pdf-view

配置參考鏈接: Completely new to LaTeX, what plugins would you recommend. : Atom。只要 TeXLive 環境變數配置好,應該是無需額外配置的,插件裝好即可使用。得到的效果如上面的 Atom 介紹所展示,一欄編譯、一欄預覽,可以反定向。另外,LaTeXTools 也有 Atom 版本的插件,還沒試過效果。

備註:

(1)插件安裝,首先 Ctrl + Shift + P ,輸入 Setting,選擇 Settings View: Open 打開設置界面,進入 Install 項搜索並安裝插件。另外 Ctrl + Shift + P 輸入關鍵詞可以查找一些使用命令,比如,安裝好插件後,可以輸入 latex 查找編譯命令。

(2)中文自動換行,早期版本中文是不能自動的換行的,如果安裝新版本,比如1.7.2,可以進入 Settings,然後勾選 SoftWrap 實現自動換行。

配置5:(Visual Studio Code + LaTeX Workshop)

  1. Visual Studio Code
  2. LaTeX Workshop,GitHub 地址:https://github.com/James-Yu/LaTeX-Workshop

在 VSCode 左側第五項擴展處搜索 latex 即可找到 LaTeX Workshop擴展,具體使用可參看擴展主頁或者 GitHub 主頁。

需將編譯器配置到環境變數中(或者安裝時選擇添加到環境變數path),推薦安裝TeXLive。Windows 上,Ctrl + Alt + B 編譯,Ctrl + Alt + T PDF預覽,Ctrl + 滑鼠左鍵點擊 PDF 反向定位到 tex 文本。

由於需要開發工具使用 VSCode,目前編輯 LaTeX也是使用此編輯器。之前使用的擴展效果一般,最近提示有另外一個更好的LaTeX擴展(LaTeX Workshop),目前體驗還行。

無需配置的用法

(1)Windows:TexLive(編譯器) + 文本編輯器(編輯器) + SumatraPDF(預覽PDF) + CMD (直接通過命令編譯文件,也可以直接寫腳本,如下)。

建議直接寫一個腳本,也就是 .bat 文件,雙擊直接運行,比如:

xelatex *.tex

如果是帶 bibtex 參考文獻的,腳本可以這樣寫:

xelatex *.tex
bibtex *.aux
xelatex *.tex
xelatex *.tex

最後,再製作一個刪除文件,雙擊保存的.bat 後綴文件直接清除不要的編譯生成的文件:

del *.aux /s
del *.bak /s
del *.log /s
del *.bbl /s
del *.dvi /s
del *.blg /s
del *.thm /s
del *.toc /s
del *.out /s
del *.lof /s
del *.lol /s
del *.lot /s
del *.fdb_latexmk /s
del *.synctex.gz /s

按配置2的話,Ctrl + B 可以直接清除。

(2)TexStudio,這個集成的工具確實比較省心。

額外談:
純鍵盤編輯的,還可以試試 Vim。

補充:

  1. 自動補齊,TexStudio 是可以的。其他的,比如 Sublime Text 可以使用插件,或者自己編寫 快捷方式。找 Sublime Text 自動補齊的插件,可以在這裡找 Package Control,當然,你首先得知道如何安裝插件。Atom 的插件可以在這裡先搜索 https://atom.io/packages/,看看有多少贊,再安裝,自動補齊可以試試 latexer 這個插件。
  2. 支持中文好,這個問題都不大,編碼問題。即便有的,也可以簡單解決。經歷過兩次編碼問題,一次是從 WinEdt 到 TexStudio,文件開頭加一句話就解決了(% !Tex encoding = System);第二次是用 Sublime Text,中文顯示亂碼,下一個插件就解決了。另外,文檔內中文的編譯,以前用的 CJK,現在我常用 xeCJK,編譯得到的書籤和正文都不會亂碼。
  3. LaTeXTools SublimeText/LaTeXTools · GitHub,這款 Sublime Text 插件提供了編譯器配置、代碼自動補齊,另外,如果文獻用的是 BibTeX 的獨立參考文獻文件的話(google 學術中也提供了 bibtex 參考文獻),還可以在輸入 cite 時快速插入文獻。Google 學術的 BibTeX 獲取和快速插入參考文獻如圖

  1. 關於文獻插入,在另外一個回答中有 如何在LaTeX寫作中管理參考文獻? - 知乎用戶的回答。
  2. SumatraPDF http://www.sumatrapdfreader.org/download-free-pdf-viewer.html,強烈建議用這個 PDF 預覽,輕量級、有綠色版、自動刷新(編譯時無需關閉打開的PDF)、界面清爽。最貼心的功能是文本選擇和上下拖動不用切換,在空白處即可手型拖動,在文本處即可選擇文本。用 Beamer 做的 PDF 幻燈片,我一般用它來演示,放 U 盤攜帶也很方便的。目前有 3.0 版。界面如下圖

(更新了很多次,有點超綱了~)


WinEdit的對中文支持,編碼支持不太好,也不會像別的編輯器那樣自動斷行
TeXworks界面最簡單,我用這個比較多,因為很多TeX命令都能背出來了,所以沒必要看提示的,當然這個有自動補全
TeXMaker的QT界面不錯,也能進行拼寫檢查 ,配置起來選項比較多,有點麻煩
TeXShop的,Mac OS X平台,這個是TeXWorks的設計原型,界面比較簡潔,打中文也沒問題
Mi編輯器,Mac OS X平台的,這個配合它的LaTeX插件也不錯,支持SVN,很不錯的東西,就是沒有完全移植到Windows下來
Vim是全能王,不過默認的編碼樣式夠你喝一壺的,中文不是問題
Emacs也是全能王,本身就有TeX模式,寫作起來,也不慢,很帶勁
TeXlipse,這個也相當強悍,不過我不喜歡Eclipse
LEd的語法補全很靈活多變,但是編碼支持不是太好


補充如何用Sublime和Skim實現交叉跳轉:

谷歌里搜一下很多的,我在這裡貼一個
Making a first PDF with LaTeX and Sublime Text 2 for Mac

Step 5: INSTALLING INVERSE SEARCH

We want inverse search so that when Sublime Text 2 loads the PDF viewer, clicking on text in the PDF viewer brings us back to our LaTeX code. This is very helpful in proofreading changes you have been making to your document.

  • Download and install SKIM PDF viewer.
  • Open Skim, go to Preferences &> Sync
  • Uncheck 「Check for file changes」 option
  • Under Preset type 「Custom「
  • Set the Command to:
    1
    /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl
  • Finally set Arguments to:
    1
    "%file":%line
  • Close and done!

組合按鍵是:
sublime: shift+cmd(ctrl)+j
skim: shift+cmd(ctrl)+單擊

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

我現在的搭配是:Mac + Sublime + Skim

以前用過TeXMaker, TeXStudio等IDE化的編輯器,還有諸如TexPad這種高富帥輕量工具,這些工具要麼感覺太過龐雜醜陋(比如TexStudio和TexMaker,Mac下看起來竟然是一樣的?!),要麼感覺功能單一,定製性太差,總之感覺都不如現在的搭配來得輕鬆愉快。

1. 支持中文那是肯定的
2. 命令提示也是有的,可以用snippets

什麼都沒有截圖來得有說服力:
單屏幕流,左邊sublime,右邊Skim,好吧,反過來也可以(順便推薦下Mac下的Moom)。

左邊可以編輯Latex,右邊可以直接編譯預覽,支持sublime和Skim交叉跳轉,可以從游標所在的位置跳到Latex代碼對應的位置或者Skim渲染後的文字處。

---------------------------------------分割線--------------------------------------------

使用Mac多屏幕的話,可以讓Sublime和Skim各自單佔一個屏幕,然後四指左劃右划起來的感覺爽爆了有木有!!!

左側是目錄導航樹,可以參考Sublime Text 2 有哪些實用技巧?中的Project配置,將Latex寫作的文件組織成Project,並針對Latex文件配置對應的編輯環境(字體,色彩等),也可以同時將相關的程序代碼也包含在Project內,方便隨時查看,甚至實時運行查看結果。


好吧,竟然沒人說TeXstudio?這是一個跨平台的TeX前端編輯器,非常好用啊,而且也不會有任何版權問題。不要再用WinEdt了。完全可以使用開源軟體或者自由軟體的時候何必去使用收費軟體盜版軟體?TeXstudio的主頁在這裡http://texstudio.sourceforge.net/。我記得好像ubuntu的源里有的


好吧,我可以推薦一下 TeXpen 么?
TeXpen | Free software downloads at SourceForge.net
Texpen - your LaTeX editor- JournalHome.com
阿睦瓦 / TeXpen


單詞查詢(since 0.6.4)


我推薦你試試LyX。

LyX是跨平台的,所以無論你是什麼操作系統,都可以用。安裝包可以從這個[頁面](LyX | Download)下載。

Windows下的首次安裝可以選擇Bundle版,也可以單獨安裝[MiKTeX](Home - MiKTeX Project Page)後再安裝Installer版(其實LyX的Bundle版就是比Installer版多了一個MiKTeX,LyX需要調用LaTeX引擎編譯,在Windows下,推薦用MiKTeX)。安裝後往往MiKTeX會自動更新一些宏包,此時可以選擇國內的鏡像伺服器(如中科大的)加快更新速度,完畢後在LyX的「工具」菜單中選擇「重配置」,然後重啟即可。

LyX安裝後的設置可以參考我以前寫的一篇文章:[LyX中文配置 Tips](LyX中文配置 Tips);

我總結的一些具體的使用技巧請參見這篇長期更新的經驗貼:[LyX Tips](LyX Tips)。

最簡單的上手方式就是開寫,英文文檔直接寫,中文文檔按我上面給出的LyX中文配置進行設置即可。寫完後點擊LyX菜單欄下的那一雙大眼睛圖標(也可按快捷鍵`Ctrl+R`)編譯一份預覽PDF,你會發現這樣的一份PDF從排版到數學公式的效果都堪稱完美,不知比Word那蹩腳的樣式好到哪裡去了。

LyX的主要受眾群體就是學術工作者,雖然它也可以完成其他寫作任務,並且完成得很棒,但由於它在學術寫作上的優勢實在太突出了,我這裡就不再涉及其他領域。

以我比較熟悉的理工科來說,我覺得在學術寫作中最重要的幾個要素分別是結構層次、交叉引用、數學公式、專業圖表以及參考文獻。

其中文檔結構控制和交叉引用功能在傳統的字處理系統如Word中已經做得不錯,LyX提供的也是類似的功能,相較而言,LyX的標籤管理系統我個人覺得使用起來更高效一些。

參考文獻方面,Word和LyX採取的解決途徑截然不同,效果卻大同小異,Word通常需要安裝一個插件,比如收費的Endnote或者免費的Zotero,然後事先在軟體中添加好文獻,之後再通過運行在Word中的插件將需要的參考文獻題錄信息插入到文檔中;LyX則是基於BiBTeX,也需要事先收集好文獻題錄,然後才能在文檔中插入題錄信息。我個人更喜歡BiBTeX的方式,因為它是純文本的形式,無論是什麼操作系統,是否有BiBTeX引擎,只要有個文本編輯器,你就能查看和修改,這種靈活性是無可比擬的。

而數學公式和專業圖表方面,LyX具有壓倒性的優勢。這種優勢是由兩方面促成的,首先是質量,無論是無縫貼合正文的公式渲染還是多種數學環境的支持,LyX都能提供近乎完美的效果,當然這是由基於LaTeX內核的前提保證的。

其次是便捷,在我比較熟悉的幾類可以拿來書寫學術文檔的工具來說,Word看似便捷,實則不然,你匆匆寫就的doc文檔,通常只能得到糟糕的排版,而若想得到靠譜的排版,又不得不投入大量時間細調。第二種是另一個極端,直接寫LaTeX代碼,這種方式的確可以保證排版水準,卻只適合編程高手;天天和代碼打交道,輕車熟路,沒有問題;可惜大部分人還做不到看著代碼腦海中就能想像出二維的數學公式而毫無違和感,所以往往直接面對LaTeX代碼的後果就是常常要面對編譯的bug,過於底層的操作,用戶就不可避免要承擔更多的任務。LyX恰好位於這二者中間,規避了各自的不足,借鑒了各自的優勢,在使用LyX時,你的直觀感受彷彿是在用Word,然而基於LaTeX的特性又使得它嚴格遵循著一定的排版規則,比如不能有兩個空格,不能出現多餘的空行,等等。這一切使得你在寫文章時完全不必考慮格式,只需關心內容就好,格式排版這類機械工作由LyX替你完成,真正做到了「所見即所想」(What you see is what you mean, WYSIWYM)。

--------------------------------------------

補充:

針對有朋友提出使用MiKTeX缺失package的問題,還有一個辦法,就是換用Texlive,它幾乎包含了所有的package,所以不必擔心缺失的問題。它雖然體積有點大(安裝包就有3GB),但對現在的電腦來說也不算什麼。

另外,如果用MiKTeX的話,64位系統(現在都是了吧)一定要裝64位版本的,這樣編譯速度比較快。而Texlive貌似在Windows下只有32位版本。


texworks? http://www.tug.org/texworks/


推薦一個 Mac OS X 下的編輯器:

TextMate,其實這個軟體是一個通用的code編輯器,同樣可以作為Python啊……IDL啊……FORTRAN啊之類的IDE(配合bundle)。其特點就是簡潔強大,而且相比於其他臃腫的LaTeX編輯器來說,其GUI界面也很乾凈漂亮。

激活LaTeX的bundle之後,只需要使用組合鍵 Command+R 就可以輕鬆編譯.tex文件。 除此之外,此bundle還支持一些簡單而又強大的編譯的配置選項(見圖2),還可以選擇preview PDF的閱讀器,比如我用的是skim。同時TextMate可以簡單的將文本渲染成更容易理解的格式(見下圖),比如section title會變成大號字體等等,使你編輯起來更方便。

效果如下所示:

LateX Bundle的github地址如下: textmate/latex.tmbundle · GitHub
其功能簡潔強大。


啊天哪回答這麼多了
-----------------------------------------------------------------------
我來介紹一個GitHub出品的跨平台編輯器 Atom, 這個編輯器挺有前途的(對, 要拳打Sublime); 雖然目前還沒有像我們喜愛的Vim或者Emacs一樣有歷史; 但是因為高擴展性的package系統以及GitHub眾多碼(da)農(da)的支持正在高速發展. 這個編輯器用來寫LaTeX非常容易配置, 也比一些奇怪的IDE好多了(比如TeXMaker啦Studio啦之類的). 答主在OS X下, 直接安裝MacTeX - TeX Users Group 然後再裝上Atom就好了
P.S 如果不是SSD可能會在安裝了大量package後經歷不愉快的啟動等待.
-----------------------------------------------------------------------
稍微演示下要用的package. 安裝package十分簡單(相比Vundle之類的)
直接在設置里搜索LaTeX能找到

language-latex 是用來補充Snippets的, Tab可以補完(最近開發組決定用autocomplete-plus代替autocomplete, 所以會方便很多). 每個package有自己的設置面板, 方便++如果要自定義Snippets也很方便, 點這個"Open Config Folder"找到這個package的配置文件就可以了. (對, .CSON)

-----------------------------------------------------------------------
編譯文件部分選擇安裝了這個package:

我的配置:

out of box可用pdflatex, luatex和xelatex三種編譯, 也有後台自動編譯功能(不輸入時自動開始編譯).同時因為Atom有自帶的全局命令輸入快捷鍵(OS X下是cmd+shift+p), 比如我要編譯這個文件的話:

&
"complie"
&

就好啦.
-----------------------------------------------------------------------
目前並沒有研究完編譯之後同步預覽或者雙向跳轉的功能. 但是依照Atom社區的發展速度以及chromium作為內核的可擴展度(解析pdf方面), 應該很快就會有了.


前面看到的推薦基本上都是本地編輯器。

我推薦在線編輯器: http://www.sharelatex.com

支持在線編譯,支持模板導入,支持多人同時編輯,雲端自動存儲。即使你用iPad都可以編輯!

(沒有在國內試過,沒有試過中文,需要大家親測。)


Emacs + auctex

配置比較麻煩,上手時間較長。一旦熟悉,效率超級高,大量快捷鍵,自動補齊,高亮語法等等,誰用誰知道。

要是偶爾才用latex,沒必要用emacs。要是會經常寫emacs,花點時間學學,絕對大幅度提升工作效率。


@李阿玲 正在寫的那個


Latex能幹的事很多,我用得最多還是數學公式編輯,若是以這個需求為主的,可以看下去。
首先,是本地和在線的問題,本地化的,一般功能夠全,就是不用的時候,感覺在電腦上佔地方,還有,重裝的時候也麻煩,所以個人比較傾向於在線的。
在線的數學公式編輯,支持Latex的,用過好幾個,有的結構太複雜了,用起來很不順手,用得順手,打開又太慢了,最受不了一打開要等老半天的那種,後來發現了http://latex.91maths.com ,這個在線數學公式編輯器用起來順手,最重要的是,打開來很快,基本是秒開,所以,現在寫東西,用的基本都是這個了。

其實,我們的數學公式常用的無非就是分式表達這一項,和一些上下標,這些都在左邊,這個是我喜歡的另外,可以實時的預覽,這一項也是必不可少的,如:

另外,就是再複雜的數學公式,都能勝任,真的很優秀,


TexPad,寫XeLaTeX真方便。


MAC用戶推薦一款神器:TeXnicle

對於寫latex大型文件,小論文,畢業論文,你用了就會知道什麼叫節省生命。


時間已經到了2017年4月...

Visual Studio Code + LaTex Workshop 插件

先上圖

LaTex Workshop 和 Atom-LaTeX 是同一個開發者,兩者的功能上有些接近。

關鍵詞的Auto Complete,正反向定位,語法檢測(這個略雞肋)這樣的功能自然是都有的,而且做的非常好。

配合上 Visual Studio Code 本身的美觀,高效,非常值得推薦。

唯一的缺點大概是 Visual Studio Code 的設置上不太親民,不過稍微的學習就能上手


在Mac上面用texpad特別爽~現在編譯之後都不會生成一大堆文件~出錯了可以直接在編輯器里看log,也不用選編譯方式,編輯器自動選擇啥都不用操心了~


我原來使用TeXMaker, 後來用TeXMakerX, 這個軟體現在更新成TeXStudio了。非常不錯。


TeXstudio

Sublime Text

TeXmaker


Windows下安裝CTeX的話默認把Winedt裝上了,雖然不能自動提示命令,但是各種GUI的操作還是比較方便的,CTeX下的Winedt默認為GBK編碼,對中文支持無壓力,我還拿它寫過CV。需要注意的是Winedt是共享軟體,Winedt 鏈接是Winedt更為詳細的介紹。個人認為Winedt作為普通入門級Windows用戶來說是夠用了。

最近做畢設切換到了Win平台,之前在Linux下多用Vim,不過還是用的不熟練,到Win下也不太想去折騰了,為了偷懶於是乎就用了Sublime Text 2這款編輯器 + LaTeXTools插件+vim模式,自己再寫個makefile,用起來還是比較舒服的,LaTeXTools插件有部分代碼的自動補全,你自己還可以自定義一些常用的代碼片,另外它對latex語法的高亮處理也比較好。Sublime Text 2 下需要UTF-8編碼,如果是在Win下由於默認是GBK編碼,配合ConvertToUTF8和GBK Encoding Support插件比較完美。目前我的方案就是用UTF-8編碼,xelatex秒殺中文問題。

「自動提示命令」——用LaTeX寫個文檔真心不太需要,根本就不需要多少命令,我用的最多的也就是section, subsection, 插入圖片表格什麼的,圖片表格的代碼基本都是複製粘貼的,工作量不大。 當然,這個前提是我用了前輩留下的論文模板。

Linux下我用過的還有Lyx,寫過大約5000字左右的長文(沒有複雜的結構和很多其他的宏包),用的ctexarticle文檔類,一路寫下來很舒服。(但是如果文章中需要引用很多其他宏包的還是不推薦Lyx,目前沒發現可直接寫LaTeX源碼)。所以啦,還是不推薦這個。

Vim/Emacs學習曲線有點抖,但是熟練之後效率大增!Sublime Text 2入門容易,配合一些插件和Vim模式/鍵盤快捷鍵什麼的效率也還湊合,但不是免費編輯器(可以無限期免費試用),授權費幾十刀吧。

TeXstudio看起來挺不錯的樣子,改天試用後再來一起總結下。它的主頁在這 http://texstudio.sourceforge.net/ 可惜背牆了。TeXstudio - A LaTeX Editor 項目中文首頁
可以下載到。
其他的適合TeX的編輯器沒接觸過


推薦閱讀:

TAG:文本編輯器 | LaTeX |