ความแตกต่างด้านการใช้งานใด ๆ ที่ใช้การประชุมสองช่องทางเทียบกับการประชุมหนึ่งช่องว่างที่ท้ายประโยค?


9

Q:อะไรคือเหตุผลในทางปฏิบัติจะมีไม่ถึงชุดsentence-end-double-spaceไปnil?

เธรดที่ได้รับการฟื้นฟูเมื่อเร็ว ๆ นี้เกี่ยวกับการจดจำประโยคที่ไม่ได้ลงท้ายด้วยสองช่องว่างเป็นแรงบันดาลใจให้กับคำถามนี้

Emacs คู่มือโหนดในประโยคหมายเหตุที่คำสั่งประโยคสมมติว่าเราใช้การประชุมพนักงานพิมพ์ดีดอเมริกันของการวางสองช่องว่างในตอนท้ายของประโยค (เมื่อเทียบกับการพูด, การประชุมของฝรั่งเศสพื้นที่หนึ่ง) ข้อโต้แย้งสำหรับ / กับการประชุมสองพื้นที่ดูเหมือนจะได้รับการโต้เถียงอย่างรุนแรง (เช่นชิ้นส่วน Slate นี้ )

ฉันไม่สนใจเป็นพิเศษเพราะฉันปล่อยให้ LaTeX จัดการกับการตั้งค่าของฉัน แต่การประชุมสองช่องว่างนั้นถูกทุบลงในหน่วยความจำของกล้ามเนื้อ อย่างไรก็ตามเมื่อฉันวางข้อความลงในบัฟเฟอร์ Emacs จากแหล่งอื่น ๆ (หน้าเว็บ ฯลฯ ) มันมักจะอยู่ในรูปแบบพื้นที่เดียว นั่นเป็นชนิดที่น่ารำคาญในวิธีการกล้าที่พวกเขา-แตกต่างจากที่ผมเรียงลำดับของวิธีการและฉันอยากจะชุดsentence-end-double-spaceที่จะnilจัดการกับความเป็นจริง อย่างไรก็ตามฉันไม่เคยมีเพราะฉันคิดเสมอว่า Something Will Break ถ้าฉันทำเช่นนั้น ฉันแค่ไม่มีพื้นฐานที่มั่นคงสำหรับสมมติฐานนั้น

ดังนั้น: จะมีผลกระทบในทางปฏิบัติใด ๆ ในแง่ของการสูญเสียของการทำงานสำหรับการตั้งค่าsentence-end-double-spaceเพื่อnil? การเปลี่ยนแปลงที่สำคัญเพียงอย่างเดียวที่ฉันคิดได้ก็คือฟังก์ชั่นการเติมจะเปลี่ยนการประชุมแบบสองช่องว่างเป็นแบบแผนเดียว


2
รักคำถามนี้ฉันเข้าใจอย่างถ่องแท้ว่าคุณรู้สึกอย่างไร ...
mbork

แม้แต่บทความ Slate ที่คุณอ้างถึงระบุว่าในการพิมพ์แบบโมโนสเปซการประชุมแบบเว้นวรรคอาจช่วยในการระบุจุดสิ้นสุดของประโยค
alexurba

คำตอบ:


9

สิ่งเดียวที่ฉันเห็นคือความสามารถในการจดจำช่วงเวลาจากตัวย่อ

ตามที่ระบุไว้โดยgnu.org :

หากคุณต้องการใช้เพียงช่องว่างเดียวระหว่างประโยคคุณสามารถตั้งค่าตัวแปรsentence-end-double-spaceเป็นศูนย์เพื่อให้คำสั่งประโยคหยุดสำหรับช่องว่างเดียว แต่นี้มีข้อเสียเปรียบ: มีวิธีที่จะแยกแยะความแตกต่างระหว่างไม่มีระยะเวลาที่ประโยคท้ายและ ผู้ที่บ่งบอกถึงตัวย่อ

สำหรับการแก้ไขที่สะดวกและเชื่อถือได้เราขอแนะนำให้คุณปฏิบัติตามระเบียบแบบสองช่องว่าง ตัวแปรsentence-end-double-spaceนี้มีผลต่อ การเติมด้วยเช่นกัน

ฉันไม่เคยใช้ระเบียบแบบสองพื้นที่ฉันคิดว่ามันขึ้นอยู่กับว่าคุณกำลังแก้ไขอะไร /


3

นี่ไม่ใช่คำตอบของคำถามตามที่ระบุไว้ ("ฉันจะเสียอะไรถ้าฉันตั้งไว้sentence-end-double-spaceที่nil") แต่เป็นสิ่งที่ชอบวิธีที่สาม ;-) (นอกจากนี้ยังเป็นสำเนา (บางส่วน) จากโพสต์ที่ฉันเพิ่งเขียนในบล็อกของฉันหากไม่เหมาะสมมีคนโปรดลบสิ่งนี้ แต่ฉันหวังว่านี่จะเป็นประโยชน์)

ดังนั้นโดยทั่วไปทำไมคุณต้องการสูญเสียอะไรโดยตั้งค่าบางอย่างกับความชอบของคุณ? นี่คือ Emacs หลังจากทั้งหมด!

(defvar sentence-end-double-space-threshold 2
  "How many occurrences of \".  \" per kilobyte should be enough
  to declare this file as using two spaces after sentences.")

(defun set-sentence-end-double-space ()
  "Set `sentence-end-double-space' according to how often the
  literal string \".  \" occurs in the current buffer."
  (make-local-variable 'sentence-end-double-space)
  (if (>= (* (count-matches "\\.  ") 1024)
      (* (buffer-size) sentence-end-double-space-threshold))
      (setq sentence-end-double-space t)
    (setq sentence-end-double-space nil)))

(add-hook 'find-file-hook 'set-sentence-end-double-space)     

ตอนนี้เมื่อคุณเปิดไฟล์ Emacs จะตัดสินใจ (ใช้ค่าที่อนุรักษ์นิยมมากsentence-end-double-space-thresholdซึ่งคุณสามารถทำsetqในสิ่งที่คุณรู้สึกว่าเหมาะสม) ซึ่งเป็นสไตล์ (เห็นได้ชัดว่าสิ่งนี้ไม่ได้ช่วยในกรณีที่วางจากเบราว์เซอร์หรืออะไรก็ตามมันสามารถทำได้ให้คำปรึกษาyankและ - ถ้าจำเป็น - แทนที่ช่องว่างในข้อความที่ถูกดึงเท่าที่จำเป็น แต่เดี๋ยวก่อนฉันมีเพียง 15 นาที!

PS แน่นอนว่ามันไม่ได้คำนึงถึงรอบระยะเวลาบัญชีที่ EOLs ฯลฯ แต่อีกครั้งเกณฑ์ต่ำมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.