- ผู้เขียนใช้ Typst ในการเขียนวิทยานิพนธ์ปริญญาเอก ซึ่งเป็นความท้าทายใหม่ที่ต่างจาก LaTeX แบบเดิม
- ด้วย ความเร็วในการคอมไพล์สูงมาก, ภาษาสคริปต์ที่สม่ำเสมอและทรงพลัง, การปรับแต่งเลย์เอาต์ที่ง่าย, การไฮไลต์โค้ดที่ยอดเยี่ยม ทำให้การแก้ไขเอกสารและปรับเทมเพลตมีประสิทธิภาพมาก
- แต่ก็มีข้อจำกัดและความไม่สะดวกอย่างชัดเจน เช่น การจัดการบรรณานุกรมที่ไม่คล่องตัว, ข้อจำกัดในการแปลงจาก LaTeX, การขาดแคลนเทมเพลตเพราะระบบนิเวศยังใหม่, ข้อจำกัดของข้อความแจ้งข้อผิดพลาด
- ยังมีจุดที่ไม่สมบูรณ์ในเรื่องความเข้ากันได้กับ LaTeX, การทำงานร่วมกัน, และการรองรับรูปแบบที่ต้องใช้ตอนส่งวิทยานิพนธ์ ทำให้รู้สึกได้ว่า LaTeX เป็นมาตรฐานโดยพฤตินัย สำหรับการทำงานร่วมกันและการส่งบทความวิชาการ
- Typst เหมาะอย่างยิ่งเมื่อจำเป็นต้องมี อิสระเชิงโปรแกรมและฟีเจอร์สมัยใหม่ แต่ไม่แนะนำสำหรับผู้เริ่มต้นหรือความต้องการแบบมาตรฐาน
ทำไมถึงเขียนวิทยานิพนธ์ปริญญาเอกด้วย Typst
- ผู้เขียนเพิ่งเขียนวิทยานิพนธ์ปริญญาเอกด้วย Typst โดยเลือกลองใช้ภาษาจัดพิมพ์ใหม่แทน LaTeX ที่นิยมใช้กันมาแต่เดิม
- Typst เป็นการผสมระหว่าง Markdown กับ Rust แบบ dynamic typing ทำให้การเขียนเอกสารเป็นธรรมชาติกว่า LaTeX และยังขยายต่อในฐานะภาษาสคริปต์ได้ดีมาก
- จุดเด่นคือไวยากรณ์เข้าใจง่าย และสลับระหว่างโค้ดกับเอกสารได้สะดวก
ข้อดีของ Typst
ความเร็วในการคอมไพล์
- คอมไพเลอร์ของ Typst มี ความเร็วสูงมาก จึงสามารถพรีวิว PDF แบบเรียลไทม์ได้แม้เอกสารจะมีขนาดใหญ่
- การบิลด์ทั้งหมดยังเสร็จภายในราว 15 วินาที และเมื่อแก้ไขเนื้อหาก็แทบจะเห็นผลลัพธ์ได้ทันที
- ทำให้สามารถทำซ้ำงานปรับเลย์เอาต์และสไตล์ได้อย่างมีประสิทธิภาพ จนยกระดับคุณภาพของผลลัพธ์สุดท้าย
การออกแบบภาษาและการใช้สคริปต์
- ภาษา Typst มีความสม่ำเสมอสูง และด้วย การออกแบบบนพื้นฐาน Rust ทำให้เส้นโค้งการเรียนรู้ไม่สูงนัก
- ความไม่สะดวกจากการที่แต่ละแพ็กเกจใน LaTeX มีความสม่ำเสมอของไวยากรณ์ไม่มาก ถูกแก้ปัญหาได้ใน Typst
- สามารถพาร์สไฟล์ TOML โดยตรงและสร้างการแสดงผลข้อมูลอัตโนมัติในเอกสารได้ เป็นต้น จึงมี การประยุกต์ใช้เชิงโปรแกรม ที่หลากหลาย
- การผสานกับเครื่องมือสมัยใหม่ (คอมไพเลอร์, การจัดการ dependency, LSP ฯลฯ) ก็เป็นจุดแข็งเช่นกัน
การแก้ไขเทมเพลตและเลย์เอาต์
- โครงสร้างเทมเพลตของ Typst ชัดเจน ทำให้แก้ไขและขยายได้ง่ายตามต้องการ
- เมื่อเทียบกับการแก้ไขเทมเพลตที่ซับซ้อนของ LaTeX แล้ว ประสบการณ์ในการตั้งค่าของ Typst ตรงไปตรงมาและรวดเร็วกว่าอย่างมาก
การไฮไลต์โค้ด
- ด้วยการรองรับ syntax highlighting ในตัว ทำให้โค้ดในวิทยานิพนธ์อ่านง่ายขึ้น
- สามารถใช้ Textmate grammar ได้ และยังนิยามแบบกำหนดเองด้วย regex ได้อย่างง่ายดาย
- ยังมีการทดลองเขียน parser ด้วยสคริปต์เองเพื่อไฮไลต์ไวยากรณ์เฉพาะทางอีกด้วย
ข้อความแจ้งข้อผิดพลาด
- เมื่อเทียบกับ LaTeX แล้ว Typst ระบุตำแหน่งและสาเหตุของข้อผิดพลาดได้ชัดเจนกว่า ทำให้ใช้เวลาแก้ปัญหาน้อยลงมาก
- ไม่มีข้อความในเทอร์มินัลที่ไม่จำเป็น และข้อมูลข้อผิดพลาดก็มีประโยชน์จริง
ข้อเสียของ Typst
การจัดการบรรณานุกรม (bibliography)
- รองรับ bibliography เดียวสำหรับทั้งวิทยานิพนธ์เท่านั้น จึงไม่สามารถใช้ไฟล์บรรณานุกรมแยกตามบทหรือแยกตามงานที่รวมอยู่ในวิทยานิพนธ์ได้
- การรองรับฟีเจอร์ขั้นสูงอย่างตัวแปรของ Bibtex ยังไม่เพียงพอ จึงต้องรวมด้วย Makefile แบบแมนนวล
- แม้จะแก้ปัญหาได้บางส่วนด้วยแพ็กเกจ (Alexandria) แต่ความสะดวกในการใช้งานและระดับการทำงานอัตโนมัติยังต่ำ
- การแปลงรูปแบบการอ้างอิง การแมปฟิลด์ ฯลฯ ยังปรับรายละเอียดได้ไม่สมบูรณ์ จึงหลีกเลี่ยงงานทำมือได้ยาก
- ฟิลด์บรรณานุกรมแตกต่างจากมาตรฐาน Bibtex จึงทำให้ผลลัพธ์มีความต่างออกไป
ข้อจำกัดของข้อความแจ้งข้อผิดพลาด
- ในกรณีซับซ้อน (เช่น เมื่อใช้ Alexandria) อาจแสดงเพียงข้อความล้มเหลวง่าย ๆ โดยไม่มีคำอธิบายข้อผิดพลาดที่ชัดเจน
- สิ่งอย่าง show rule แบบอิงสถานะทำให้ติดตามตำแหน่งของข้อผิดพลาดได้ยาก และเพิ่มความยากในการดีบัก
- คำเตือนบางอย่างที่เกี่ยวกับเลย์เอาต์ก็ไม่สามารถหาสาเหตุได้โดยง่าย
ความจริงที่ซับซ้อน: ความเข้ากันได้และระบบนิเวศ
ความเข้ากันได้กับ LaTeX และการทำงานร่วมกัน
- งานวิจัยเดิมหรือบทความที่จะส่งตีพิมพ์ยังต้องใช้รูปแบบ LaTeX จึงต้องแปลงงานที่เขียนด้วย Typst ไปใช้ผ่าน Pandoc เป็นต้น
- แม้แต่งานวิจัยชิ้นใหม่ก็ยังต้องเขียนร่างด้วย Typst ก่อน แล้วจึงแปลงสำหรับการส่งฉบับสุดท้าย
- การแปลงอัตโนมัติจาก Typst ไปเป็น LaTeX ยังไม่สมบูรณ์ จึงต้องพัฒนาเครื่องมือแยกต่างหากเพื่อทำงานนี้
- ผลลัพธ์หลังการแปลงบางส่วน (เช่น โค้ด) จำเป็นต้องใช้
\includepdf ของ LaTeX และอาจไม่สอดคล้องกับข้อกำหนดของสำนักพิมพ์
- เนื่องจาก LaTeX เป็นมาตรฐาน ผู้ร่วมงานจึงต้องมาเรียนรู้ Typst เพิ่ม ซึ่งเป็นภาระอีกอย่างหนึ่ง
สถานะของระบบนิเวศ Typst
- Typst ยังอยู่ใน ช่วงเริ่มต้นของระบบนิเวศ ทำให้เทมเพลตทางการหรือแบบฟอร์มสำหรับการส่งงานมีอยู่อย่างจำกัด
- หลายกรณีผู้ใช้ต้องสร้างเทมเพลตปรับแต่งเอง
- เทมเพลต Typst สำหรับงานประชุมและวารสารหลัก ๆ ยังมีทั้งขอบเขตการรองรับและคุณภาพที่ไม่สมบูรณ์นัก
บทสรุปและคำแนะนำ
- หากชอบการเขียนโปรแกรมและรู้สึกว่าการปรับแต่งเครื่องมืออย่างละเอียดมีเสน่ห์ การเขียนวิทยานิพนธ์ด้วย Typst ก็ถือว่าน่าแนะนำได้มากพอ
- มันมีข้อดีเรื่องการลองทำซ้ำได้บ่อยและมีอิสระในการปรับแต่งสูง จนช่วยให้ผลลัพธ์ออกมาสวยงามขึ้น
- ในทางกลับกัน หากต้องการใช้งานได้ทันทีโดยไม่ต้องตั้งค่าเพิ่ม Typst ก็ยังไม่เหมาะกับเอกสารขนาดใหญ่อย่างวิทยานิพนธ์ปริญญาเอก
- แต่สำหรับเอกสารขนาดเล็กหรือการทดลองส่วนตัว Typst ก็ยังเป็นสิ่งที่ควรลอง
1 ความคิดเห็น
ความคิดเห็นใน Hacker News
git clean -xdfถึงจะแก้ปัญหาได้ ทุกวันนี้ก็ยังไม่ค่อยเข้าใจว่าทำไมถึงเป็นแบบนั้น และตัว makefile เองก็ซับซ้อนเกินไป-outdirเพื่อแยกจัดการไฟล์กลางได้ด้วย