- Công cụ dàn trang tài liệu Typst phiên bản 0.14 đã được phát hành, bao gồm các tính năng chính như hỗ trợ khả năng truy cập mặc định, xử lý ảnh PDF và căn đều ở cấp ký tự
- Phiên bản này hỗ trợ chuẩn PDF/UA-1 để giúp tuân thủ các quy định về khả năng truy cập, đồng thời bổ sung khả năng chèn trực tiếp PDF dưới dạng ảnh
- Tính năng căn đều ở cấp ký tự (character-level justification) giúp tạo bố cục đoạn văn cân đối hơn về mặt thị giác
- Tính năng xuất HTML được tăng cường, chuyển đổi nhiều thành phần tài liệu sang HTML ngữ nghĩa và cũng giới thiệu API HTML có kiểu
- Bản cập nhật này tăng cường tạo tài liệu tự động trong môi trường công nghiệp và ứng phó với quy định về khả năng truy cập, qua đó mở rộng mạnh phạm vi ứng dụng thực tế của Typst
Tổng quan về Typst 0.14
- Typst khởi đầu trong học thuật, nhưng gần đây đã mở rộng sang môi trường công nghiệp với các nhu cầu như soạn thảo tài liệu thủ công, báo cáo tự động và pipeline tạo PDF hàng loạt
- Phiên bản 0.14 lần này bao gồm hàng loạt tính năng cốt lõi cho các ứng dụng công nghiệp như vậy
- Có các cải tiến tập trung vào môi trường sản xuất như khả năng truy cập, chuẩn PDF, căn đều ở cấp ký tự và xuất HTML
- Có thể dễ dàng cập nhật trên cả ứng dụng web lẫn CLI, đồng thời cũng có hướng dẫn migration sang phiên bản mới
Khả năng truy cập (Accessibility)
- Typst 0.14 tự động tạo tagged PDF cho khả năng truy cập theo mặc định, cho phép các công nghệ hỗ trợ như trình đọc màn hình nhận diện cấu trúc tài liệu
- Khi sử dụng markup và các phần tử tích hợp sẵn, các thẻ phù hợp sẽ được gán tự động
- Thông qua tham số
alt mới được thêm vào, có thể cung cấp mô tả thay thế (alt text) cho hình vẽ hoặc hình ảnh
- Trong ví dụ mã, mô tả thay thế được thêm cho một sơ đồ gồm hai hình chữ nhật và mũi tên, giúp người dùng khiếm thị cũng có thể nắm được cùng một thông tin
- Tính năng xuất PDF/UA-1 cho phép tự động hóa việc kiểm tra khả năng truy cập của tài liệu
- Có thể phát hiện các vấn đề như thiếu tiêu đề tài liệu, phân cấp tiêu đề sai hoặc thiếu mô tả thay thế
- PDF/UA-1 hỗ trợ tuân thủ các quy định quốc tế về khả năng truy cập như European Accessibility Act (EAA) của EU và ADA Title II của Mỹ
- EU dự kiến áp dụng từ ngày 28/6/2025, còn Mỹ từ ngày 24/4/2026
- Các doanh nghiệp xử lý tài liệu cho khách hàng hoặc cơ quan chính phủ nên cân nhắc triển khai Typst 0.14
Mở rộng hỗ trợ chuẩn PDF
- Trước đây chỉ hỗ trợ PDF 1.7, nay có thể chọn từ PDF 1.4 đến 2.0
- Chuẩn PDF/A cũng được mở rộng từ hai chuẩn con trước đó thành hỗ trợ đầy đủ cả 4 phần và các mức độ phù hợp
- Việc chọn chuẩn cụ thể giúp tối ưu khả năng tương thích, lưu trữ lâu dài và đáp ứng quy định của tài liệu
- Có thể xem chi tiết liên quan trong phần tham chiếu chuẩn PDF của tài liệu Typst
Dùng PDF làm ảnh
- Typst 0.14 hỗ trợ PDF như một định dạng ảnh native
- Khi xuất PDF, nội dung được giữ nguyên; khi xuất HTML/SVG, nó sẽ được chuyển sang SVG; còn với PNG hoặc bản xem trước web thì sẽ được raster hóa
- Toàn bộ quá trình chuyển đổi đều được thực hiện bên trong trình biên dịch Typst, không phụ thuộc vào hệ thống bên ngoài
- Tính năng này được hiện thực nhờ thư viện xử lý PDF mới viết bằng Rust là
hayro
hayro là thư viện hoàn toàn dựa trên Rust do cộng tác viên cộng đồng Typst @LaurenzV phát triển, mang lại tính di động và hiệu năng cao
Căn đều ở cấp ký tự (Character-level Justification)
- Đã bổ sung tính năng điều chỉnh không chỉ khoảng cách giữa từ mà cả khoảng cách giữa các ký tự để cân bằng thị giác cho đoạn văn
- Phần lớn phần mềm hiện nay chỉ điều chỉnh khoảng cách giữa từ, nhưng Typst cho phép kiểm soát tinh hơn đến khoảng cách ký tự
- Trong tương lai, dự án cũng sẽ nghiên cứu điều chỉnh độ rộng ký tự bằng variable fonts hoặc chèn Kashida cho tiếng Ả Rập
- Typst dùng cùng thuật toán mặc định như LaTeX, nhưng bổ sung khả năng căn đều ở cấp ký tự mà LaTeX không có
- Nếu dùng quá mức có thể tạo cảm giác thiếu tự nhiên, nhưng với ngưỡng phù hợp và sự kết hợp thuật toán hợp lý, có thể cải thiện tinh tế chất lượng dàn trang
- Kết quả là tạo ra độ xám (grayness) của đoạn văn cân đối hơn, mang lại chất lượng dàn trang ở mức xuất bản chuyên nghiệp
Xuất HTML được cải thiện
- Tính năng xuất HTML được giới thiệu thử nghiệm trong Typst 0.13 đã được cải thiện mạnh trong 0.14
- Đã bổ sung ánh xạ HTML ngữ nghĩa (show rules) cho nhiều phần tử tích hợp như chú thích cuối trang, mục lục/tổng quan, trích dẫn v.v.
- Nhờ cải thiện xử lý văn bản, phần lớn các phần tử trong Model category được chuyển đổi đúng sang HTML
- Mới bổ sung giao diện Typed HTML
- Có thể chỉ định thuộc tính an toàn kiểu như
#html.video(autoplay: true, width: 1280, …)
- Cách này an toàn và trực quan hơn so với phương thức
html.elem dựa trên chuỗi trước đây
- Tính năng xuất HTML vẫn là tính năng thử nghiệm; trong CLI có thể bật bằng tùy chọn
--features html hoặc biến môi trường TYPST_FEATURES=html
- Trên ứng dụng web cũng cần bật riêng cho từng dự án
- Trong tương lai, ứng dụng web Typst cũng sẽ chính thức hỗ trợ xuất HTML
Migration sang Typst 0.14
- Bản phát hành này là một bản cập nhật ổn định với rất ít thay đổi phá vỡ tương thích
- Một số kiểm tra xác thực đã được siết chặt hơn, vì vậy nhãn, URL liên kết và danh sách phông chữ không được để trống
- Các thay đổi chính
pdf.embed → thay bằng pdf.attach
- Đổi tên hai kiểu trích dẫn tài liệu tham khảo
- Cờ
--make-deps của CLI được thay bằng --deps --deps-format make
- Một số symbol bị ngừng sử dụng, trình biên dịch sẽ tự động hiển thị cảnh báo
- Trên ứng dụng web, trải nghiệm nâng cấp phiên bản đã được cải thiện
- Trước đây luôn dùng phiên bản mới nhất, nhưng giờ khi phát hiện phiên bản mới sẽ tự động đề xuất nâng cấp và kiểm tra tương thích
- Sau khi biên dịch bằng phiên bản mới, hệ thống sẽ so sánh lỗi và cảnh báo rồi hiển thị kết quả
Cộng đồng và kế hoạch sắp tới
- Typst 0.14 là kết quả của 8 tháng phát triển và hợp tác với cộng đồng
- Nhân dịp phát hành sẽ tổ chức Discord community call vào ngày 7/11
- Mục đích là chia sẻ trải nghiệm người dùng và thu thập phản hồi
- Nhóm Typst dự kiến sẽ tiếp tục thúc đẩy hoàn thiện xuất HTML, tăng cường khả năng truy cập và cải thiện chất lượng dàn trang
1 bình luận
Ý kiến trên Hacker News
Có một điểm về Typst thường dễ gây nhầm lẫn nên nói trước cho rõ.
Trình biên tập trực tuyến (typst.app) là phần mềm thương mại, còn compiler/CLI (github.com/typst/typst) là mã nguồn mở.
Tôi chỉ dùng CLI nhưng rất hài lòng với kết quả. Ban đầu tôi dùng nó để thay thế PowerPoint, nhưng nó cũng rất hợp để làm poster hay viết tài liệu đơn giản. Tôi thích việc không phải lo quên cú pháp phức tạp như LaTeX, và cú pháp rất dễ quay lại dùng sau một thời gian
Kết hợp TinyMist với VS Code mang lại trải nghiệm phát triển rất tốt. Chỉ trong một ngày tôi đã chỉnh được cả template, điều mà với LaTeX lúc nào cũng là ác mộng
Trang chính thức của TinyMist
Đây là những điều tôi cảm nhận mỗi khi dùng Typst.
Tôi đặc biệt mong chờ tính năng PDF hỗ trợ accessibility và xuất HTML trong Typst 0.14
Cũng có nhiều người dùng giao diện web như Overleaf. Vì vậy trong các ưu điểm của Typst, thứ thực sự nổi bật với tôi chủ yếu là tốc độ biên dịch và chất lượng chẩn đoán
Pandoc hỗ trợ Typst tốt nên việc chuyển sang docx hay epub cũng dễ. Các issue liên quan cũng được xử lý rất nhanh
Tính năng chuyển PDF sang SVG để render trực tiếp trong HTML, PNG và phần xem trước web thật ấn tượng.
Toàn bộ khả năng xử lý PDF này đều được tích hợp trong compiler của Typst, nhờ thư viện hayro được triển khai hoàn toàn bằng Rust
GitHub link, trang demo
Dù không trực tiếp dùng Typst, tôi vẫn muốn ủng hộ qua gói đăng ký.
Với tư cách là người vừa yêu vừa ghét LaTeX, tôi rất vui khi thấy có một giải pháp thay thế. Tôi đặc biệt thích việc họ coi trọng microtypography
Nếu có chương trình bounty cho hỗ trợ HTML thì tôi còn muốn ủng hộ thêm
Typst thì dựa trên kinh nghiệm đó để tạo ra một binary gọn gàng chỉ 45MB.
Đây là công cụ tuyệt vời có thể xử lý trực tiếp JSON, CSV và tạo cả sách, brochure lẫn card
Lý do giới học thuật chưa thể rời bỏ LaTeX là vì Beamer, TikZ, Overleaf.
Beamer cung cấp nhiều style và font, TikZ cho phép vẽ hình không cần GUI.
Overleaf có khả năng cộng tác tốt hơn Typst Cloud. Hy vọng một ngày nào đó Typst sẽ đạt được mức đó
Cũng nên cân nhắc đưa version control vào quy trình
Chưa đến mức Beamer, nhưng typst-presentate cũng khá dùng được
Theme Touying Unistra Pristine
Có nhiều công cụ thay thế TikZ, nhưng vẫn chưa có cái nào thật sự hoàn hảo
Tôi đã viết lại hoàn toàn bản CV
.docxđã duy trì hơn 10 năm bằng Typst.Tôi tách kinh nghiệm và style ra bằng file dữ liệu TOML, rồi tự động đổ vào template mong muốn.
Dù là một dự án hơi quá tay, tôi vẫn thấy rất vui, và cú pháp Typst trực quan đến mức làm được mà không cần tutorial
Điều tôi khó chịu nhất với Typst là nó vẫn chưa hỗ trợ dấu phân cách thập phân theo locale.
Xem issue này.
Nếu không sớm giải quyết định dạng số theo ngôn ngữ thì sau này có thể phát sinh xung đột cú pháp.
Dù vậy nhìn chung Typst vẫn nhanh và đơn giản, nên tôi rất hài lòng
Việc có thể dùng PDF như một định dạng ảnh native là một bước tiến lớn trong việc thay thế LaTeX
Cảm ơn đội ngũ Typst. Ban đầu tôi làm CV bằng Typst để học Git,
nhưng một ngày nào đó tôi muốn tạo một tài liệu ô chữ bằng Typst. Tôi vẫn chưa biết cách làm các ô bảng thành hình vuông, nhưng sớm muộn gì cũng sẽ thử
Trước đây tôi dùng GitHub/Azure Markdown + Mermaid + MathJax để làm tài liệu mô hình tài chính, nhưng càng phức tạp thì càng vất vả.
Giờ tôi dùng Typst, và vì là compiler viết bằng Rust nên cài đặt dễ, lại không có chuyện gửi dữ liệu ra ngoài vì lý do bảo mật.
Thiết kế hiện đại đến mức có cảm giác như cách nhau 40 năm