Bất kỳ sự khác biệt về chức năng sử dụng quy ước hai không gian và một không gian ở cuối câu?


9

Q: Những lý do thực tế nào không được đặt sentence-end-double-spacera nil?

Một chủ đề được hồi sinh gần đây về việc nhận ra các câu không kết thúc trong hai không gian đã truyền cảm hứng cho câu hỏi này.

Các Emacs tay nút trên câu ghi chú rằng các lệnh câu cho rằng chúng tôi sử dụng ước các typist Mỹ của việc đưa hai không gian ở phần cuối của một câu (như trái ngược với, nói rằng, Công ước Pháp của một không gian). Các đối số cho / chống lại quy ước hai không gian rõ ràng trở nên khá chính trị (ví dụ, mảnh Slate này ).

Tôi không đặc biệt quan tâm đến vẻ bề ngoài khi tôi để LaTeX xử lý cài đặt loại của mình, nhưng quy ước hai không gian được dồn vào bộ nhớ cơ. Tuy nhiên, khi tôi dán văn bản vào bộ đệm Emacs từ các nguồn khác (trang web, v.v.), nó hầu như luôn nằm trong quy ước một không gian. Điều đó thật khó chịu theo một cách khác biệt so với tôi và tôi rất muốn đặt ra sentence-end-double-spaceđể nilđối phó với thực tế. Tuy nhiên, tôi chưa bao giờ nghĩ rằng vì tôi luôn cho rằng một cái gì đó sẽ vỡ nếu tôi làm như vậy. Tôi chỉ không có cơ sở vững chắc cho giả định đó.

Vì vậy: đang có bất kỳ hậu quả thực tế về mất chức năng cho việc thiết sentence-end-double-spaceđể nil? Sự thay đổi đáng kể duy nhất tôi có thể nghĩ đến là các hàm điền sẽ thay đổi quy ước hai không gian thành quy ước một không gian.


1
Yêu câu hỏi này, tôi hoàn toàn hiểu những gì bạn cảm thấy ...
mbork

Ngay cả bài báo Slate mà bạn trích dẫn lập luận rằng trong loại đơn cách, một quy ước hai không gian có thể giúp xác định kết thúc của câu.
alexurba

Câu trả lời:


9

Hậu quả duy nhất tôi thấy, là khả năng nhận ra các khoảng thời gian từ chữ viết tắt.

Như đã nêu của gnu.org :

Nếu bạn muốn sử dụng chỉ một sentence-end-double-spacekhoảng trắng giữa các câu, bạn có thể đặt biến thành nil để làm cho các lệnh câu dừng lại cho các khoảng trắng đơn. Tuy nhiên, điều này có một nhược điểm: không có cách nào để phân biệt giữa các giai đoạn kết thúc câunhững từ chỉ ra chữ viết tắt .

Để chỉnh sửa thuận tiện và đáng tin cậy, do đó chúng tôi khuyên bạn nên tuân theo quy ước hai không gian. Các biến sentence-end-double-spacecũng ảnh hưởng đến điền .

Tôi chưa bao giờ sử dụng quy ước hai không gian, tôi nghĩ, nó phụ thuộc vào cách thức / những gì bạn đang chỉnh sửa.


3

Đây thực sự không phải là một câu trả lời cho câu hỏi như đã nêu ("tôi sẽ mất gì nếu đặt sentence-end-double-spacethành nil"), mà là một cái gì đó giống như cách thứ ba ;-). (Ngoài ra, đây là bản sao (một phần) từ bài đăng tôi vừa viết trên blog của mình ; nếu điều này không phù hợp, ai đó vui lòng xóa nội dung này, nhưng tôi hy vọng điều này có thể hữu ích.)

Vì vậy, về cơ bản, tại sao bạn muốn mất bất cứ thứ gì bằng cách đặt một cái gì đó trái với ý thích của bạn? Đây là Emacs, sau tất cả!

(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)     

Bây giờ khi bạn mở một tệp, Emacs quyết định (sử dụng giá trị rất bảo thủ sentence-end-double-space-threshold, mà bạn có thể setqlàm bất cứ điều gì bạn cảm thấy đúng) đó là phong cách nào. (Rõ ràng, đây không phải không giúp đỡ trong trường hợp dán từ trình duyệt hoặc bất cứ điều gì Nó có thể được thực hiện, tư vấn. yankVà - nếu cần - thay thế khoảng trống trong văn bản kéo mạnh khi cần thiết, nhưng hey, tôi chỉ có 15 phút cho điều đó)

Tái bút Tất nhiên, nó không tính đến các giai đoạn tài khoản tại EOLs, v.v.; nhưng một lần nữa, ngưỡng rất thấp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.