Quiver - trình chỉnh sửa sơ đồ giao hoán hiện đại
(github.com/varkor)-
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àurgb,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
maketrên dòng lệnh, sau đó mởsrc/index.htmltrong 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àosrc/dưới dạngsrc/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
srccủa quiver, sau đó mởlocalhost:8000trong 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
Ý 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
Gần đây tôi đã rất ấn tượng với Petri net editor
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
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
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
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
Sản phẩm rất tốt
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
Tôi đã dùng Quiver nhiều lần, và mọi trải nghiệm đều rất tuyệt
Có lẽ các công cụ sinh mã có thể được tạo ra từ đây