1 điểm bởi GN⁺ 2024-12-28 | 1 bình luận | Chia sẻ qua WhatsApp
  • quiver là một trình chỉnh sửa đồ họa hiện đại, là công cụ dành cho sơ đồ giao hoán và sơ đồ pasting

  • Kết xuất sơ đồ với chất lượng cao để có thể xem trực tiếp trên màn hình, đồng thời có thể xuất sang LaTeX

  • Có thể tạo và chỉnh sửa sơ đồ nhanh hơn rất nhiều so với việc tự viết LaTeX thủ công, và chỉ cần một chút kinh nghiệm là đã có thể cạnh tranh với cách vẽ bằng tay.

  • Tính năng và ảnh chụp màn hình

    • quiver cung cấp một giao diện hiệu quả và trực quan để tạo các sơ đồ giao hoán phức tạp và sơ đồ pasting. Bạn có thể dễ dàng vẽ các sơ đồ có pullback và pushout, phép gắn, cũng như các ô bậc cao hơn. Việc bố trí đối tượng dựa trên một lưới linh hoạt được điều chỉnh theo kích thước nhãn. Hỗ trợ nhiều kiểu mũi tên có thể kết hợp với nhau, cùng khả năng dùng màu cho nhãn và mũi tên.

    • quiver được thiết kế để hiển thị đẹp trong ảnh chụp màn hình, và có thể xuất sang LaTeX với kết quả trông gần giống sơ đồ gốc nhất có thể. Bạn có thể tạo và chỉnh sửa sơ đồ bằng chuột với thao tác nhấp và kéo, hoặc dùng bàn phím, đồng thời có một bộ phím tắt đầy đủ để thực hiện mọi thao tác.

    • Khi xuất sơ đồ sang LaTeX, quiver sẽ kèm theo một liên kết đến sơ đồ để bạn có thể chỉnh sửa lại sau này hoặc chia sẻ với người khác.

    • Các tính năng khác

      • Tính năng chọn nhiều phần tử giúp dễ dàng thực hiện thay đổi hàng loạt
      • Hệ thống lịch sử cho phép hoàn tác/làm lại thao tác
      • Hỗ trợ định nghĩa macro tùy chỉnh: dán URL của tệp có chứa \newcommand
      • Xuất sơ đồ có thể nhúng vào HTML
      • Hỗ trợ pan và zoom cho sơ đồ lớn
      • Căn chỉnh nhãn thông minh và offset cạnh
  • Nhập macro và màu sắc

    • Để dùng macro và màu tùy chỉnh trong quiver, bạn cần tạo một tệp chứa các định nghĩa như sau.

      \newcommand{\cat}{\mathscr}  
      \newcommand{\psh}{\widehat}  
      \newcommand{\smcat}{\mathbb}  
      \newcommand{\yo}{よ}  
      
    • Tải tệp đó lên một URL có thể truy cập công khai, rồi dán URL đó vào ô nhập "macro" của quiver. Hiện tại, macro có thể được định nghĩa bằng \newcommand, \newcommand*, \renewcommand, \renewcommand*, \DeclareMathOperator, \DeclareMathOperator*, còn màu có thể được định nghĩa bằng \definecolor (hỗ trợ các chế độ màu rgb, RGB, HTML, gray).

  • Tích hợp với trình soạn thảo

    • Có thể tham khảo phần tích hợp với trình soạn thảo trên wiki của quiver.
  • Build

    • Chạy make trên dòng lệnh, sau đó mở src/index.html trong trình duyệt web. Nếu thất bại, bạn có thể đang dùng phiên bản Make hoặc Bash không tương thích. Trong trường hợp đó, bạn cần tải thủ công bản phát hành KaTeX mới nhất và đặt vào src/ dưới dạng src/KaTeX/. Nếu đường dẫn KaTeX không đúng, sẽ xuất hiện lỗi không tải được KaTeX.

    • quiver phải được chạy thông qua localhost. Nếu đã cài Python, bạn có thể xử lý việc này dễ dàng bằng cách chạy lệnh sau:

      python3 -m http.server  
      
    • Chạy lệnh trong thư mục src của quiver, sau đó mở localhost:8000 trong trình duyệt. Nếu gặp vấn đề khi build, bạn có thể mở issue với mô tả chi tiết về sự cố để được hỗ trợ.

  • Lời cảm ơn

    • S. C. Steenkamp: những trao đổi hữu ích về cách kết xuất mũi tên đẹp mắt
    • AndréC: cung cấp kiểu TikZ tùy chỉnh cho các đường cong có chiều cao cố định
    • Nathan Corbyn: bổ sung tính năng xuất sơ đồ có thể nhúng vào HTML
    • Paolo Brasolin: bổ sung hỗ trợ ngoại tuyến
    • Carl Davidson: thảo luận và tạo nguyên mẫu cho việc kết xuất vòng lặp
    • Tất cả những người đã báo cáo vấn đề và đề xuất cải tiến, góp phần làm quiver tốt hơn

1 bình luận

 
GN⁺ 2024-12-28
Ý kiến trên Hacker News
  • Công cụ này rất tuyệt, và tôi đã có thể tạo khối lập phương Fourier-Poisson chỉ trong khoảng 10 phút. UI rất trực quan

    • Việc tập trung vào sơ đồ giao hoán thay vì một canvas tự do là một lựa chọn thiết kế tuyệt vời, gọn gàng và dễ dùng
    • Nếu có công cụ này khi viết bài báo, tôi đã có thể tiết kiệm được rất nhiều thời gian
  • Gần đây tôi đã rất ấn tượng với Petri net editor

    • Petri net hơi giống máy trạng thái hữu hạn nhưng có thể đa luồng
    • Tôi lần đầu biết đến Petri net qua các bài viết của một tổ chức tên là "statebox"
    • Tôi bị cuốn hút sau khi đọc các bài báo của họ, đến mức mơ ước được làm việc ở đó
    • Hiện tại trang chủ của họ chỉ có dòng chữ "hãy tưởng tượng trở thành một nhà lý thuyết phạm trù" cùng một emoji mặt cười, nên tôi không biết chuyện gì đã xảy ra
  • Vài ngày trước tôi đã dùng công cụ này để vẽ một sơ đồ đơn giản cho một cuốn sách

    • Nó chỉ dùng được cho lý thuyết phạm trù nên thiếu hỗ trợ cho việc trang trí các nút cho đẹp, nhưng có thể làm bằng LaTeX
  • Tối qua tôi đã dùng TikZCD, và nó giống như một phiên bản ít tính năng hơn của công cụ này

    • Nó khá tốt để vẽ các sơ đồ đơn giản
  • Tôi muốn biết liệu ai đó có thể giải thích "sơ đồ giao hoán và dán ghép" là gì không

    • Trang Wikipedia quá trừu tượng nên khó hiểu ở mức cơ bản
  • Tôi tự hỏi liệu có thể xuất sang định dạng thân thiện với web không. Có lẽ là SVG

    • Nếu chạy quiver trên localhost thì chia sẻ qua liên kết không phải là một lựa chọn
  • Sản phẩm rất tốt

    • Trước đây tôi từng tự viết mã TikZ bằng tay và cũng khá nhanh, nhưng giờ tôi đã quên nhiều thứ nên công cụ này sẽ rất hữu ích cho sơ đồ giao hoán
  • Khi tôi học một lớp về lý thuyết phạm trù vài năm trước, Quiver là thứ tuyệt đối không thể thiếu

    • UI gọn gàng, trực quan và có rất nhiều tính năng
    • So với TikZ, Quiver vượt trội đến mức không thể so sánh
  • Tôi đã dùng Quiver nhiều lần, và mọi trải nghiệm đều rất tuyệt

    • Xin gửi lời khen ngợi tới các tác giả
  • Có lẽ các công cụ sinh mã có thể được tạo ra từ đây