menu

Một số kinh nghiệm sử dụng Atom để gõ LaTeX

Đăng lúc 17/10/2017, trong chuyên mục Soạn thảo LaTeX

Bài viết chia sẻ một số kinh nghiệm khi sử dụng trình Atom để gõ LaTeX.

Tóm tắt cho các bạn đã đọc một lần
  • Download Atom từ địa chỉ này.
  • Mở Atom lên, Files > Settings.
  • Nhấn Install và tìm với từ khóa latex.
  • Cài latexatom-latex theo đúng thứ tự đó.
  • Tìm và cài pdf-view.
  • Mở gói latex đã cài lên, vào mục Settings của nó, kéo xuống dưới, tới mục Opener, chọn pdf-view
  • Nếu build bình thường với atom (dùng pdflatex) thì nhấn tổ hợp phím Ctrl+Alt+B.
  • Nếu muốn build bởi atom-latex thì nhấn Ctrl+Shift+P để mở Command Palette, gõ build và chọn build với atom-latex.
  • Nếu muốn build với lệnh đặc biệt như lualatex hay xelatex, thêm vào đầu file cần build dòng lệnh % !TEX engine = lualatex hoặc % !TEX engine = xelatex rồi sau đó nhấn Ctrl+Alt+B (build với atom).

Lý do chọn Atom

Nếu bạn không gặp tình trạng với màn hình siêu nét (HiDPI) thì bạn không cần chọn Atom làm gì mà hãy chọn Texiteasy (cho Windows, Linux, MacOS) hay Texpad (cho MacOS nhưng có phí) hay Texmaker (Windows, Linux, MacOS). Lỗi HiDPI này là ở chỗ nó làm cho màn hình bị nhòe, lý do đơn giản là do phần mềm gõ latex đa phần không/chưa hỗ trợ màn hình độ phân giải cao.

Tôi không chọn Texmaker là vì giao diện của nó không chịu thay đổi, cột hiển thị số dòng chiếm không gian quá lớn và tất nhiên nó vẫn chưa hỗ trợ HiDPI (có lẽ tôi hơi khó tính).

Do đó tôi chuyển qua sử dụng một trình gõ hỗ trợ tốt HiDPI, lựa chọn đầu tiên của tôi chính là Sublime Text (tôi dùng phiên bản 2) cùng gói lệnh LaTeXTool. Tuy nhiên nó không hỗ trợ trình xem pdf tích hợp luôn trong Sublime mà phải xem thông qua một phần mềm bên thứ 3, tôi chọn SumatraPDF. Nhược điểm của việc này là hai cửa sổ soạn thảo (Sublime) và cửa sổ xem PDF (Sumatra) không tự động xuất hiện cùng nhau, cái này trước, cái kia sau dẫn đến việc làm việc bị trì hoãn (đôi chút).

Atom giải quyết được tất cả các nhược điểm ở trên của SublimeText và vẫn hỗ trợ HiDPI cũng như có thêm những tính năng hữu ích khác cho quá trình soạn thảo LaTeX.

Download và cài đặt

latex vs atom-latex

Tôi sử dụng cùng lúc hai packages atom (của tác giả thomasjo) và atom-latex (của tác giả James-Yu). Có một sự trùng hợp “tai hại” của hai gói lệnh này chính là ở cách đặt tên gói lệnh của hai tác giả và sự “hỗ trợ tai hại” của Google. thomasjo đặt tên gói lệnh của mình trên Atom là latex trong khi lại đặt tên gói lệnh ấy trên github là atom-latex trùng với cách đặt tên gói lệnh của tác giả James-Yu. Tuy nhiên khi search Google về gói lệnh atom-latex, hầu như ta chỉ thấy link đến gói lệnh này trên Github. Trong khi, nếu search nó trong trình cài đặt trên Atom, ta sẽ thấy atom của thomasjo và atom-latex của James-Yu. Thật phiền phức!

Để cho tiện theo dõi, tôi sẽ dùng latex cho tác giả thomasjo và atom-latex cho tác giả James-Yu.

help Vậy cái nào tốt hơn?

Theo lượng tải và cài đặt thì có vẻ latex của thomasjo chiếm ưu thế so với atom-latex của James-Yu. Tuy nhiên quá trình sử dụng thật sự thì lại thấy atom-latex có nhiều tính năng “hay ho” hơn là của atom, điển hình như sau

  • Chức năng autocomplete (hiển thị từ gợi ý khi gõ lệnh) rất đầy đủ trên atom-latex trong khi atom thì lại không hỗ trợ nhiều mà chỉ hỗ trợ dạng key binding (hạn chế).
  • Nhận biết các reference khi dùng bibtex. Bạn chỉ cần gõ, chẳng hạn \cite{, thì nó sẽ hiện ra danh sách các tài liệu tham khảo có sẵn trong file bib của bạn. Chức năng này không có trên latex.
  • Bạn có thể sửa backend builder của biblatex sang biber trên atom-atex nhưng không thể làm trên latex (tuy nhiên trên latex, thomasjo cũng thiết lập build bằng latexmk nên nó cũng kèm luôn biblatex trong này)
  • Tích hợp luôn trình xem pdf trong atom trong khi bạn phải cài thêm gói lệnh pdf-view nếu muốn xài với latex.
  • Có nhiều tùy chọn hơn trong atom-latex so với latex.
  • Hỗ trợ phím tắt nhảy qua nhảy lại giữa trình soạn thảo tex và trình xem pdf, trong khi trên latex bạn phải gõ hai lần tổ hợp phím thì mới được.

help Tại sao vẫn phải dùng latex của thomasjo?

Chức năng đáng giá nhất của latex chính là Overridding Build Settings. Ví dụ bạn đang set trình build mặc định là pdflatex nhưng muốn build lualatex cho một số file cụ thể thôi. Nếu dùng atom-latex, bạn phải vào Settings để chuyển sang lualatex trước khi build như bình thường. Tuy nhiên nếu xài latex, bạn chỉ cần để ở đầu file tex chính (trước cả \documentclass) dòng lệnh

% !TEX engine = lualatex

thì khi build (bằng latex) thì nó sẽ tự động chuyển sang dùng lualatex thay vì pdflatex mặc định kia. atom-latex không có chức năng tuyệt diệu này!

Cách cài đặt

  • Download Atom từ link này và cài đặt một cách bình thường.
  • Sau khi cài đặt xong, mở Atom lên và mở trình Settings bằng cách vào File > Settings.
  • Nhấn vào Install trong tab Settings và tìm với từ khóa latex.
    • Bạn cài latexatom-latex theo đúng thứ tự đó.
    • Bạn cài thêm pdf-view (phải gõ tìm lại với từ khóa pdf-view)
  • Sau khi cài đặt xong xui thì hầu như bạn đã có thể sử dụng bình thường.

Sử dụng

Dưới đây là quá trình sử dụng kết hợp cả hai gói lệnh ở trên. Việc gõ latex thì bình thường như đó giờ bạn dùng các trình gõ latex khác, chỉ có khác là lúc bạn gõ, atom sẽ kết hợp cả hai latexatom-latex để hiện thị gợi ý từ các kiểu.

Bây giờ đến phần khác nhau giữa hai cái này, chính là Build.

  • Theo mặc định phím tắt Ctrl+Alt+B là dành cho latex nên nếu bạn chỉ build một cách bình thường (pdflatex) thì cứ nhấn phím này.

  • Nếu bạn muốn build với atom-latex, hãy nhấn tổ hợp phím Ctrl+Shift+P để mở Command Palette lên, sau đó gõ build, một danh sách các lệnh build latex hiện ra, bạn chọn cái nào có atom-latex ở đầu là được.

  • Nếu bạn muốn build với một lệnh đặc biệt, như lualatex hay xelatex, hãy thêm vào đầu file cần build dòng lệnh sau (trước cả \documentclass) rùi sau đó build với latex (nhấn Ctrl+Alt+B hoặc vào Command Palette)

    % !TEX engine = lualatex
    % hoặc
    % !TEX engine = xelatex
    
  • Hãy nhớ: lúc nào cũng build với latex bằng tổ hợp phím Ctrl+Alt+B, chỉ những trường hợp đặc biệt mới build bằng atom-latex

Nhảy qua nhảy lại giữa trình soạn latex và trình xem pdf

  • Nếu bạn đã build bằng latex và đang dùng trình pdf tích hợp tương ứng với latex thì dùng tổ hợp phím Ctrl+Alt+S để chuyển đến vị trí tương ứng trong pdf.
  • Nếu bạn đã build bằng atom-latex và đang dùng trình xem pdf ứng với nó thì bạn cần gõ Ctrl+B rồi sau đó gõ tiếp Ctrl+S để có thể chuyển đến vị trí tương ứng trong pdf. Bạn cũng có thể nhấn chuột phải rồi chọn SyncTex from here.
  • Để có thể nhảy từ pdf sang trình soạn tex, bạn chỉ đơn giản nhấp đôi chuột trái vào vị trí mong muốn.

Tắt gợi ý từ latex: Theo mặc định, cả hai chức năng gợi ý câu lệnh sẽ được kích hoạt cho cả hai package latexatom-latex. Như đã nói ở trên, chức năng gợi ý của latex thực chất là keybinding, rất tệ. Do đó ta chỉ cần chức năng gợi ý của atom-latex mà thôi. Để có thể tắt cái của latex, bạn vào Settings, chọn Packages, chọn tiếp latex, kéo xuống dưới và bỏ tick vào ô Enable ở phần Keybindings.

Kết

Trên đây là quá trình tự tìm hiểu kèm theo sự hướng dẫn của hai bạn trên Group Math2IT. Mục đích duy nhất của tôi là có thể dùng Atom để soạn thảo tex một cách thoải mái nhất, tôi đã dùng cách trên và làm được. Có thể sẽ có những cách nhanh hơn, gọn hơn mà không cần dùng cả hai gói lệnh này. Nếu có, bạn vui lòng comment bên dưới bài viết để tôi có thể học hỏi thêm nhé, cảm ơn bạn.

latex
latex editor
Top