ผมทดลอง Copy เอกสารออกจากไฟล์ PDF ไฟล์หนึ่งและ Paste ลงใน InDesign เพื่อจะจัดหน้าให้สะดวกสำหรับการแปลเอกสาร (ใช้วิธีแบ่งหนึ่งหน้าเป็นสองคอลัมน์ เอกสารภาษาอังกฤษอยู่คอลัมน์ซ้าย และส่วนที่ผมจะพิมพ์เพื่อแปลจะอยู่ทางขวา) แต่หลังจาก Paste ข้อความลงในโปรแกรมแล้วก็ต้องพบกับปัญหาข้อหนึ่ง นั่นคือ เอกสารถูกตัดออกเป็นบรรทัดย่อยๆ ตามขนาดของคอลัมน์ที่ปรากฎในเอกสาร PDF – ข้อความแต่ละบรรทัดไม่ได้ไหลรวมกันเป็นย่อหน้าอย่างที่ควรจะเป็น
การแก้ปัญหา
- ผมทดลองจับแพทเทิร์นของบรรทัดที่ตัดผิด และพบว่าบรรทัดที่ไม่ใช่จบย่อหน้าจริงๆ นั้นมีลักษณะหนึ่งที่เหมือนกัน นั่นคือ “สิ่งที่อยู่ก่อนหน้า End of Paragraph นั้น ไม่ใช่ Full Stop” เสมอ
- หากแพทเทิร์นในข้อที่ 1. ถูก นั่นแปลว่า “ถ้าผมสามารถแยกแยะ End of Paragraph ทั้งหมดที่ไม่ได้มีจุด Full Stop นำมาก่อนหน้า ออกจากที่เหลือได้ ผมจะสามารถลบจุดที่ผิดเหล่านั้นออกได้ทั้งหมด)
- หลักการอ้างอิงสำหรับข้อ 2. คือ ค้นหา End of Paragraph ที่นำด้วย “อะไรก็ตามที่ไม่ใช่ Full Stop” > แทนค่าด้วย “อะไรก็ตามที่ไม่ใช่ Full Stop นั้นๆ บวก em space หนึ่งช่อง (ที่เราเอามาแทน End of Paragraph ที่มันมีผิดที่)” > ผลที่ได้คือ บรรทัดที่ตัดผิดเหล่านั้นจะถูกนำมาเรียงต่อกันแทน ส่วน End of Paragraph ที่นำหน้าด้วยจุด Full Stop ก็จะยังคงเดิมไม่เสียหาย
- ค้นหาสูตร GREP สำหรับการแก้ปัญหานี้ – หลังจากทดลองแล้วได้ความว่า คำสั่งในช่อง “Find what:” ต้องเขียนว่า ([^\.])(\r) มีความหมายว่า ให้ตรวจหาสองสิ่ง (สองกลุ่ม) ให้เจอตามเงื่อนไข เงื่อนไขแรกคือต้องเจออะไรก็ตามที่ไม่ใช่ \. ซึ่งหมายถึงจุด Full Stop จากนั้นต้องเจอ \r ซึ่งหมายถึง End of Paragraph มาคู่กัน
- ขั้นต่อไป ค้นหาคำสั่งในช่อง “Change to:” ได้ความว่า ให้เขียนว่า “$1 ” (โปรดสังเกตว่ามีเคาะวรรคหนึ่งครั้ง) ซึ่งหมายความว่า “จากสองสิ่ง (สองกลุ่ม) ในข้อ 4. ให้เปลี่ยนค่าเป็น เหลือแต่กลุ่มที่หนึ่ง ($1 ซึ่งหมายถึงอะไรก็ตามที่ไม่ใช่ Full Stop นั่นเอง) แล้วต่อด้วยเคาะวรรคธรรมดาหนึ่งครั้ง
อย่างไรก็ตาม สูตรนี้ไม่ได้ถูกต้องสำหรับเอกสารทั้งชิ้นเสียทีเดียว ในบางกรณี สิ่งที่ตามหลัง Colon (เครื่องหมาย :) ก็หมายถึงการจบบรรทัดเหมือนกัน ถ้าจะให้ครบถ้วนจะต้องเข้าไปแก้สูตร GREP เพิ่มเติมอีก แต่สำหรับกรณีนี้ ถือว่าหน้าต่างๆ จัดได้ถูกตามที่อยากได้มากขึ้น (ที่ควรอยู่เป็น Paragraph เดียวกันก็ไม่โดนตัดบรรทัดแยกโดยไม่จำเป็นแล้ว) ผมจึงหยุดการแก้ปัญหาแต่เพียงเท่านี้