Bỏ qua để đến nội dung

Công thức trong hình vẽ bài báo khoa học

Bạn đang viết một bài báo — luận văn, preprint arXiv, bài nộp tạp chí IEEE, hay ghi chú workshop — và hình vẽ cần thiết bao gồm cả sơ đồ lẫn công thức được dàn chữ đẹp. Cách làm phổ biến là kết hợp hai hoặc ba công cụ: một ứng dụng vẽ sơ đồ, một trình dàn chữ LaTeX, và một bước ghép cuối cùng. Cách này hoàn toàn hiệu quả và nhiều hình vẽ tốt được tạo ra theo hướng đó; điểm đánh đổi là công thức không còn có thể chỉnh sửa từ cùng một file, nên khi reviewer yêu cầu “sửa cái chỉ số này” thì bạn phải quay lại chạy lại trình dàn chữ.

drawtonomy là một lựa chọn đặt cả hai trên cùng một canvas. Sơ đồ và công thức nằm trong cùng một file vector, và công thức vẫn là mã nguồn LaTeX có thể chỉnh sửa cho đến khi bạn quyết định xuất ra.

Phương trình Maxwell được dàn chữ dạng môi trường align với số thứ tự (1)–(4), trực tiếp trên canvas drawtonomy

Hệ phương trình Maxwell được dàn chữ bằng KaTeX trên canvas drawtonomy. Khối này là một shape duy nhất có thể chỉnh sửa — nhấp đúp để mở lại mã nguồn LaTeX.

Mỗi công cụ dưới đây đều xuất sắc trong lĩnh vực mà nó được thiết kế — drawtonomy chỉ phù hợp hơn với một tổ hợp ràng buộc hơi khác (một canvas, cả sơ đồ lẫn công thức đều có thể chỉnh sửa).

  • PowerPoint / Keynote là lựa chọn phổ biến nhất cho slide và nhiều hình vẽ nhanh. Hai công cụ này có trình chỉnh sửa công thức riêng, rất tiện, dù không lưu LaTeX làm định dạng nguồn có thể chỉnh sửa về sau.
  • Inkscape / Illustrator cho khả năng kiểm soát vector rất tốt, và nhiều hình vẽ cuối cùng trong bài báo được hoàn thiện ở đây. Khi công thức đến từ một lần dàn chữ LaTeX riêng, mã nguồn LaTeX nằm ở một file khác bạn phải duy trì song song với hình vẽ.
  • Excalidraw / tldraw / Miro là những bảng trắng cộng tác xuất sắc, tập trung vào vẽ sơ đồ hơn là dàn chữ, nên công thức thường được dán vào dưới dạng ảnh từ một trình dàn chữ riêng.
  • TikZ / pgfplots là tiêu chuẩn vàng cho hình vẽ lập trình hoàn toàn và native với LaTeX, đặc biệt khi độ chính xác quan trọng. Điểm đánh đổi là vòng lặp sửa đổi — mỗi thay đổi nhỏ đều phải qua bước compile.

drawtonomy nằm giữa công cụ slide và TikZ: một canvas vector 2D có trình dàn chữ KaTeX tích hợp, giữ nguyên mã nguồn LaTeX của bạn. Nếu hình vẽ của bạn tự nhiên phân tách sơ đồ và công thức sang các công cụ riêng, chuỗi công cụ hiện tại vẫn hoàn toàn ổn; drawtonomy hữu ích nhất khi bạn muốn cả hai trong một file có thể chỉnh sửa.

  1. Phác thảo sơ đồ trên canvas. Làn đường / phương tiện / người đi bộ cho bài báo xe tự hành. Hình chữ nhật + mũi tên cho sơ đồ khối điều khiển. Đa giác + mũi tên đường dẫn cho tổng quan phương pháp. Mọi tổ hợp shape của drawtonomy đều được — Math shape chỉ là một trong số đó.

  2. Thêm công thức bằng công cụ Math (fx). Xem trước KaTeX hiển thị trực tiếp. Dùng \begin{align} cho hệ nhiều dòng; KaTeX tự xử lý việc đánh số phương trình.

    Trình chỉnh sửa Math hiển thị công thức nghiệm bậc hai với phân số, căn thức và ± trong phần xem trước KaTeX trực tiếp

    Xem trước KaTeX trực tiếp khi nhập công thức nghiệm bậc hai — nửa trên là mã LaTeX, nửa dưới là kết quả dàn chữ.

  3. Chỉnh màu và cỡ cho bản in. Hầu hết tạp chí vẫn in thang xám. Chọn màu đen hoặc xám đậm cho công thức; khớp cỡ chữ với phần body của sơ đồ. Thanh trượt size đi đến 200 px cho hình poster.

    Cùng công thức màu đỏ cỡ 60 px với panel thuộc tính Math (LaTeX) hiển thị ô màu và thanh trượt kích thước

    Màu sắc và kích thước được hiển thị trong panel Math (LaTeX) — chọn màu đen an toàn cho bản in thang xám, hoặc cỡ lớn hơn cho hình poster.

  4. Xuất PDF cho bản dựng LaTeX. Tất cả ký tự (kể cả nét ngang của \sqrt) được chuyển thành đường dẫn vector qua opentype.js, nên file hoàn toàn độc lập — không phụ thuộc font, không gây lỗi pdflatex. \includegraphics{...} đưa file thẳng vào hình vẽ của bạn.

  5. Lưu .drawtonomy.svg làm nguồn gốc. Khi reviewer yêu cầu một phiên bản khác (“thay \sigma thành \rho được không?”), bạn mở lại .drawtonomy.svg trong drawtonomy, nhấp đúp vào công thức để chỉnh LaTeX, xuất PDF lại. Không cần vẽ lại bất cứ thứ gì.

  • \includegraphics{equation.pdf} là con đường đáng tin cậy nhất cho bài báo. PDF xuất từ drawtonomy dựa trên đường dẫn, nên hoạt động với mọi LaTeX engine (pdflatex, xelatex, lualatex).
  • SVG + gói svg cũng dùng được nhưng phụ thuộc vào Inkscape trên máy build. Ổn định cho build cục bộ, dễ gây vấn đề trên CI. Tốt hơn là chuyển sang PDF cục bộ và commit PDF đó vào repository.
  • EPS có sẵn cho các toolchain latex + dvips cũ; cùng độ trung thực dựa trên đường dẫn như PDF.
  • Font chữ. Vì text được chuyển thành đường dẫn, bạn không cần khớp font body của bài báo. Công thức sẽ trông như KaTeX (kiểu Computer Modern) bất kể font của tài liệu là gì — thường đây cũng chính là điều bạn muốn.

Use case này được đặt trong tài liệu xe tự hành vì drawtonomy bắt đầu như một công cụ kịch bản lái xe, nhưng Math shape là tính năng chung. Cùng một quy trình hoạt động cho:

  • Hình vẽ phương pháp học máy (công thức loss bên cạnh sơ đồ mạng neural).
  • Bài báo điều khiển (khối hàm truyền với dạng LaTeX bên cạnh từng khối).
  • Hình vẽ xử lý tín hiệu (minh họa cặp Fourier).
  • Bài báo vật lý hay hóa học (dùng \ce{} cho phản ứng hóa học).
  • Bài báo toán học (hình vẽ chứng minh với phát biểu định lý được dàn chữ bên cạnh).

Nếu bạn có thể vẽ lên bảng trắng, drawtonomy có thể chứa nó.

  • Công thức nằm trong đoạn văn bản. Những công thức đó thuộc về mã nguồn LaTeX của bạn, không phải trong một hình vẽ.
  • Biểu đồ động dựa trên dữ liệu — hãy tiếp tục dùng matplotlib / pgfplots / TikZ cho đồ thị.