8 คะแนน โดย GN⁺ 2025-06-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผู้เขียนใช้ 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 ความคิดเห็น

 
GN⁺ 2025-06-23
ความคิดเห็นใน Hacker News
  • มีความกังวลว่าอีก 30 ปีข้างหน้า LaTeX น่าจะยังคงเป็นโอเพนซอร์สและมีคนดูแลต่อไปได้ แต่ Typst มีโครงสร้างแบบผสมระหว่างโอเพนซอร์สกับโคลสซอร์ส จึงมีโอกาสสูงว่าถ้าบริษัทหายไป โปรเจกต์ก็อาจไม่ถูกดูแลต่อ
    • ตัวโปรเจกต์ Typst เองก็ไม่ได้เรียกได้ชัด ๆ ว่าเป็นแบบผสมโอเพนซอร์ส/โคลสซอร์ส และนักพัฒนาก็ระบุเองว่าเป้าหมายหลักคือทำให้ CLI กับเว็บแอปทำงานได้เหมือนกัน ดู คอมเมนต์ใน issue ที่เกี่ยวข้อง นอกจากนี้ยังมีโอเพนซอร์สจากชุมชนอย่าง tinymist ซึ่งเป็น LSP implementation รวมถึงมีเอดิเตอร์แบบเสียเงินอย่าง Typstify ที่มีอยู่ได้โดยไม่ขึ้นกับบริษัทด้วย
    • เว็บเอดิเตอร์ของ Typst เป็นโคลสซอร์สก็จริง แต่ส่วนประกอบส่วนใหญ่ที่จำเป็นต่อการแก้ไขเป็นโอเพนซอร์ส จึงได้ประสบการณ์บนเครื่องโลคัลที่คล้ายกันหรือดีกว่าด้วยซ้ำ ทั้ง Typst compiler, LSP ฯลฯ ล้วนเป็นโอเพนซอร์ส คล้ายกับกรณีทำโปรเจกต์ LaTeX บน Overleaf และถ้าบริษัท Typst หายไป การดาวน์โหลดแพ็กเกจก็อิงกับ git repo แบบโอเพนซอร์สอยู่แล้ว จึงน่าจะตั้งมิเรอร์ทดแทนได้โดยไม่มีปัญหาใหญ่
    • การปล่อยให้ส่วนโอเพนซอร์สถูกทิ้งร้าง จริง ๆ แล้วก็ไม่ได้ต่างจากโปรเจกต์ส่วนใหญ่ที่แจกเป็นโอเพนซอร์สเต็มรูปแบบ
    • เลยสงสัยว่าฟีเจอร์ "แกนหลัก" ที่อยู่ฝั่งโคลสซอร์สจริง ๆ นั้นมีอะไรบ้าง
  • สงสัยว่าทำไมนักศึกษาปริญญาเอกสายวิทยาการคอมพิวเตอร์ถึงหมกมุ่นกับการจัดพิมพ์เอกสารกันมาก เห็นสนใจ LaTeX กันมากแล้วก็ใช้เวลาหลายเดือนกับการทำแมโคร ก็จะคิดว่า LaTeX ได้เหยื่อไปอีกคนแล้ว LaTeX ให้ความรู้สึกเหมือนกับดักของนักศึกษาที่ชอบผัดวันประกันพรุ่ง
    • ในฐานะคนเรียนคณิตศาสตร์ การเขียนทุกอย่างด้วยลายมือนั้นยุ่งยากมาก และเอกสารที่มีสมการเยอะก็ไม่ได้พิมพ์ง่ายนัก จริง ๆ แล้วฝั่งฟิสิกส์ยิ่งพิมพ์ยากกว่าอีก ในชีวิตที่ต้องโฟกัสกับเปเปอร์และการบ้าน ความง่ายในการจดไอเดียสำคัญมาก จึงไวต่อคุณภาพของเอนจิน และก็มักแชร์ทิปแมโครกันเยอะ วัฒนธรรมการรับคำแนะนำจากคนรอบตัวและแชร์ basic header จึงเป็นเรื่องธรรมชาติ
    • การใช้ LaTeX ทำให้ได้ความรู้สึกแบบ "เป็นทางการ" สมการเองก็จะดูจริงจังมากเมื่ออยู่ในเอกสาร LaTeX แต่ถ้าอยู่ใน Word จะไม่ให้ความรู้สึกแบบนั้น คล้ายกับตอนทำจดหมายข่าวฉบับแรกด้วย Aldus PageMaker แล้วพิมพ์ออกด้วยเลเซอร์พรินเตอร์ที่ให้ความรู้สึกเหมือนเป็นมืออาชีพ
    • เอกสารขนาดใหญ่ เช่น วิทยานิพนธ์ สามารถจัดการเป็นไฟล์ tex แยกตามแต่ละส่วน แล้วค่อยรวมมาคอมไพล์ทีหลังได้ และเข้ากันได้ดีกับ VCS อย่าง git ถ้าสร้างรูปด้วยสคริปต์ LaTeX ก็จะตรวจพบไฟล์ใหม่และคอมไพล์ใหม่ให้เองอัตโนมัติ แต่ใน Word ต้องไปหาและเปลี่ยนรูปทีละอันซึ่งไม่มีประสิทธิภาพ ยิ่งเอกสารใหญ่ขึ้น Word ก็ยิ่งใช้งานลำบาก แต่ LaTeX ตั้งค่าแค่ช่วงแรก หลังจากนั้นกลับมีประสิทธิภาพกว่า
    • ในช่วงยุค 2000 แค่มีสมการนิดหน่อยในเอกสาร Word ก็ทรมานมากแล้ว ถ้าต้องทำเอกสารหลายสิบหน้าพร้อมสูตรและ cross-reference จำนวนมาก แทบจะทำไม่ได้เลยถ้าไม่ใช้ LaTeX การแยกไฟล์ตามบทและการเชื่อมกับเอดิเตอร์ที่ใช้งานได้ดีจึงเป็นข้อดีสำคัญ
    • การสะสม snippet เล็ก ๆ น้อย ๆ ระหว่างเขียนเปเปอร์และรายงานมา 10 ปี ไม่ใช่ความหมกมุ่น แต่เป็นผลลัพธ์ตามธรรมชาติ
  • เหตุผลที่ Typst ดูมีอนาคตมากคือมีเทมเพลตหลักอย่าง IEEE ให้พร้อมใช้ และผลลัพธ์ที่ได้ก็แทบไม่ต่างจาก LaTeX เลย toolchain ของ LaTeX มีจุดที่ใช้งานลำบากเยอะ และ makefile ก็มักไม่เสถียร บ่อยครั้งต้องรันหลายรอบกว่าจะได้ผลลัพธ์ที่ถูกต้อง บางทีก็ต้องถึงขั้น git clean -xdf ถึงจะแก้ปัญหาได้ ทุกวันนี้ก็ยังไม่ค่อยเข้าใจว่าทำไมถึงเป็นแบบนั้น และตัว makefile เองก็ซับซ้อนเกินไป
    • มีคำพูดว่า "การลองสิ่งเดิมสองครั้งแล้วหวังผลลัพธ์ต่างกันคือความบ้า" ซึ่งการคอมไพล์ LaTeX ก็คือแบบนั้นเป๊ะ ๆ
    • แม้จะไม่ใช่คำตอบสมบูรณ์แบบ แต่ขอแนะนำ Latexmk ที่ช่วยทำให้ความยุ่งยากของการ build LaTeX เป็นอัตโนมัติ ดู ลิงก์วิธีใช้ และยังสามารถใช้ตัวเลือก -outdir เพื่อแยกจัดการไฟล์กลางได้ด้วย
    • ครั้งหนึ่งฉันเคยเข้าใจว่าทำไมต้องรันหลายรอบ แต่ตอนนี้จำไม่ได้แล้ว ใน build script ส่วนตัวสมัยก่อนยังมีเงื่อนไขเลยว่าถ้าใช้ bibtex ให้รันสามรอบ ถ้าไม่ใช้ให้รันสองรอบ ตอนนี้พอพ้นยุคนั้นมาได้ก็โล่งใจมาก
    • ทุกวันนี้ถ้าใช้ Tectonic ปัญหาคอมไพล์ซ้ำ ๆ แบบนี้จะถูกจัดการอัตโนมัติโดยไม่ต้องปวดหัว
  • ตอนนี้ AI กลายเป็นเป้าหมายหลักของการเขียน และเป็นเหตุผลหลักในการเลือกฟอร์แมตมาร์กอัปด้วย ในมุมของ semantic compression นั้น Typst, markdown และ asciidoc กระชับกว่า LaTeX มาก ช่วง 6 เดือนที่ผ่านมา ฉันเจอความเปลี่ยนแปลงครั้งใหญ่ในการใช้ AI กับงานวิจัยคณิตศาสตร์และงานเขียนโค้ด และในพื้นที่นี้ก็หาคำตอบตายตัวหรือคำแนะนำชัด ๆ ได้ยาก ที่จริง AI อ่านไดอะแกรมคณิตศาสตร์แบบ SVG ได้ดีกว่ามนุษย์ และไม่ชอบอ่านซอร์ส LaTeX แม้จะเข้าใจข้อกำหนดด้านฟอร์แมตของวารสาร แต่ก็ยังมีบรรณาธิการหลายแห่งที่บังคับเลย์เอาต์สองคอลัมน์ซึ่งไม่เข้ากับยุคสมัยแล้ว ในยุคที่การพิมพ์ลงกระดาษไม่ได้มีความหมายมากนัก ฉันเลยไม่ได้ใส่ใจเรื่องนั้นมาก และจากนี้ก็วางแผนจะเก็บผลงานวิจัยของตัวเองไว้ทั้งในรูปแอนิเมชันและเอกสาร Typst
    • ในสภาพแวดล้อมทางวิทยาศาสตร์มืออาชีพที่ยังพิมพ์เปเปอร์ออกมาอ่านจริง กระดาษก็ยังมีประสิทธิภาพอยู่
  • เนื่องจากวารสารและคอนเฟอเรนซ์ยังไม่รับ typst ฉันจึงไม่ได้ยึดติดกับ LaTeX เพราะอยากยึด แต่ยังต้องอยู่กับ LaTeX ตามข้อเท็จจริง การนำมาใช้หรือไม่ขึ้นกับว่าฝ่ายเหล่านี้เต็มใจจะรวมมันเข้ากับ toolchain ของตนเองหรือไม่
  • ฉันกำลังย้ายงานของตัวเองไป Typst มากขึ้นเรื่อย ๆ เพราะมันเร็วและใช้งานสบาย แต่สิ่งที่เป็นอุปสรรคที่สุดคือการต้องเรียนรู้สัญกรณ์คณิตศาสตร์ใหม่ Typst มีกฎเฉพาะตัวที่ต้องเรียนใหม่
    • Typst ก็ดูน่าสนใจ แต่สุดท้ายฉันกลับมาใช้ LaTeX อีกครั้งพร้อมชุด Claude Code + VS Code หลังจากห่างจาก LaTeX ไปพักใหญ่ ๆ (นับจากจบด็อกเตอร์ก็สิบกว่าปีแล้ว) เมื่อก่อนเคยใช้จนจำ TikZ, สมการ และ preamble macro ได้ขึ้นใจ แค่พิมพ์สิ่งที่ต้องการลงใน Claude Code มันก็มักให้ผลลัพธ์ที่เกือบตรงใจภายใน 1-2 ครั้ง และ Claude ยังช่วยตีความข้อความ error ของ LaTeX ได้ราว 95% จึงไม่เป็นปัญหาใหญ่เหมือนสมัยก่อน
    • mitex ก็เป็นอีกตัวเลือกหนึ่ง ดู แพ็กเกจ mitex แต่ฉันไม่ไหวจะไปเรียนสัญกรณ์อีกแบบเพิ่มแล้ว
  • ถ้าอยากดูซอร์สและผลลัพธ์ของ typst ก็มีเอกสารที่ทำเองบางส่วนแชร์ไว้:
  • มีความเห็นว่า Typst อาจหายไปภายในไม่กี่ปีหรือถูกซื้อกิจการ ขณะที่ LaTeX จะยังคงอยู่ต่อไปอีกหลายทศวรรษ
  • เคยคิดจะย้ายไป Typst เพราะมันน่าสนใจกว่า LaTeX ในด้านอย่างการควบคุมเลย์เอาต์แนวตั้ง แต่เมื่อไม่นานมานี้ความสามารถในการสร้างโค้ดของ LLM อย่าง ChatGPT ดีขึ้นมาก ทำให้มาร์กอัปเอนจินใหม่ ๆ โดยเฉพาะ typst ดูด้อยลงมากสำหรับ AI ถึง latex จะไม่ดีนัก แต่ก็ยังดีกว่า typst มาก และกับ typst นั้นแทบไม่ได้ผลเลย อาจจะดีขึ้นในอีก 6 เดือนหรือ 1 ปีก็ได้
    • การใช้ LLM ทำให้คิดน้อยลงและสะดวกก็จริง แต่ก็น่าหงุดหงิดที่หลายคนพึ่งพา LLM มากจนใช้เครื่องมือใหม่ด้วยตัวเองไม่เป็น ปรากฏการณ์นี้ก็คล้ายกับเมื่อก่อนที่คนไม่อยากใช้ภาษาใหม่เพียงเพราะคัดลอกวางไม่ได้หรือหา code snippet ยาก
    • กับ markdown หรือ rust นั้น AI ใช้งานได้ค่อนข้างดี ถ้านำโครงร่างเอกสาร Typst ไปใส่ในพรอมป์ต์ของ LLM มันอาจช่วยได้บ้าง
  • สิ่งที่ไม่ชอบใน Typst คือทุกวันนี้ไวยากรณ์สมการของ LaTeX แทบกลายเป็นมาตรฐานไปแล้ว และเพราะมันแพร่หลายมาก จึงทำให้การเรียนรู้ไวยากรณ์คณิตศาสตร์ใหม่เป็นเรื่องยาก
    • ที่จริงแล้วใน Typst เอง สัญกรณ์อย่าง $x^2=1$ ก็ยังใช้ได้เหมือนเดิม