วันพฤหัสบดีที่ 2 พฤศจิกายน พ.ศ. 2566

[LibreOffice Writer] ลบการขึ้นหน้าใหม่ การขึ้นบรรทัดใหม่ บรรทัดว่าง และการกดแท็บ

การทำเอกสารนั้น บางครั้งมีความจำเป็นที่ต้องแทรกการบังคับขึ้นหน้าใหม่ (manual page break) การบังคับขึ้นบรรทัดใหม่ (manual line break) และการกดแท็บ (tab mark) แต่หลังจากแทรกไปแล้วบางทีจะต้องลบเอาพวกนี้ทิ้ง ซึ่งในกรณีที่เป็น MS Office Word ค่อนข้างจะทำได้ง่าย คือสั่งค้นหา ^m ^p ^t แล้วแทนที่ด้วยความว่าง

แต่ในกรณีของ LibreOffice Writer นั้น การลบเครื่องหมายบังคับขึ้นหน้าใหม่ เป็นอะไรที่ทำไม่ได้ จำเป็นต้องใช้ extension ที่ชื่อ AltSearch (Alternative Find & Replace for Writer) มาช่วย แต่ extension นี้ไม่ได้อัปเดตมาหลายปีมากแล้ว (ล่าสุดคือ 1.4.2) และ LibreOffice Writer รุ่นที่ผมใช้คือ 7.6.2.1 ซึ่ง AltSearch มันไม่สามารถจัดการกับ manual page break ได้แล้ว (แต่ยังจัดการกับอักขระพิเศษอื่นๆ ได้อยู่) ซึ่งด้วยความที่ปกติแล้วเอกสารที่ผมทำงานจะไม่มีการใส่ manual break มา ผมเลยไม่รู้ว่ามันใช้ไม่ได้มาตั้งแต่เวอร์ชันอะไร


หลังจากพยายามหาวิธีอยู่พักใหญ่จนไปเจอการเขียนมาโคร ( 1, 2) แต่แล้วก็มาเจอวิธีที่ง่ายกว่านั้น

โดยปกติการลบบรรทัดว่างของ LibreOffice Writer ก็คือการค้นหาแบบ Regular expressions โดยค้นคำว่า ^$

และก็นั่นแหละ ใช้เจ้านี่ในการลบ manual page break ทิ้งไป ซึ่งผลกระทบที่เกิดขึ้นก็คือพวกบรรทัดว่างๆ ทั้งหลายในเอกสารก็จะถูกลบไปพร้อมๆ กันโดยปริยาย (ในเวอร์ชันก่อนๆ ผมจำได้ว่ามันทำได้แค่ลบบรรทัดว่าง แต่ไม่สามารถลบ manual page break ได้)



แต่เอกสารที่ผมทำ โดยปกติจะไม่มีบรรทัดว่างๆ ทิ้งไว้อยู่แล้ว งานของตัวเองเลยน่าจะไม่ได้รับผลกระทบอะไรมาก

เอกสารที่เราแทรกเครื่องหมายบังคับขึ้นหน้าใหม่ (manual page break) ดูจากหน้าตาจะเห็นการตัดขึ้นหน้าใหม่


เมื่อเราค้นหา ^$ (จำเป็นต้องติ๊กช่อง Regular expressions ไว้ด้วย ไม่งั้นมันจะคิดว่าเป็นการหาตัวอักขระ ^$ แทน) และช่อง Replace: ให้ปล่อยว่างเอาไว้ จากนั้นกดปุ่ม Replace All เท่านี้เจ้า manual page break ก็หายจ้อยไปล่ะ



เรื่องสำคัญที่ต้องจำ

ปกติแล้วใน LibreOffice Writer นั้น เวลาเราจะตัดย่อหน้าไหนให้ขึ้นหน้าใหม่ เมื่อ แทรก page break แล้ว ย่อหน้านั้นจะถูกตัดไปขึ้นหน้าใหม่ ส่วนย่อหน้าก่อนหน้านี้ จะมีย่อหน้าเปล่าๆ เพิ่มขึ้นมาอีก สิ่งสำคัญคือ **ห้ามลบย่อหน้าเปล่าๆ นั่นทิ้ง** ไม่อย่างนั้นแล้วจะไม่สามารถใช้วิธีลบย่อหน้าเปล่า เพื่อลบ page break ได้



การลบตัวบังคับขึ้นบรรทัดใหม่ (manual break) ก็ใช้วิธีนี้ในการลบเช่นกัน แต่เปลี่ยนจาก ^$ ให้เป็น \n แทน และอย่าลืมว่าต้องติ๊กช่อง Regular expressions ด้วย




เมื่อแทนที่เสร็จแล้ว ก็จะได้ออกมาตามนี้ การบังคับขึ้นบรรทัดใหม่ (manual line break) ถูกลบเกลี้ยง



ส่วนวิธีการลบเครื่องหมายแท็บ ก็เหมือนกัน คือค้นหา \t

วิธีการใช้ regular expression นี่ มันค่อนข้างซับซ้อนมาก แต่ก็ช่วยให้การค้นหาทำให้อย่างมีประสิทธิภาพสูงมาก รายละเอียดของการใช้งาน regular expression ของ LibreOffice อ่านได้จากที่นี่



※※※※※

[ Keyword ]

LibreOffice Writer delete manual page break, delete manual line break, delete tab mark, delete empty lines, remove manual page break, remove manual line break, remove tab mark, remove empty lines, ลบการบังคับขึ้นหน้าใหม่, ลบการบังคับขึ้นบรรทัดใหม่, ลบแท็บ, ลบบรรทัดว่าง


ไม่มีความคิดเห็น:

แสดงความคิดเห็น