문장 끝에 두 공백과 한 공백 규칙을 사용하여 기능상의 차이점이 있습니까?


9

Q : 실제 이유가 무엇입니까 하지 세트로 sentence-end-double-space하는 nil?

두 공간으로 끝나지 않는 문장 인식 에 관한 최근에 부활 한 실 이이 질문에 영감을주었습니다.

문장Emacs 매뉴얼 노드 는 문장 명령이 문장의 끝에 두 개의 공백을 넣는 미국 타이피스트의 규칙을 사용한다고 가정합니다 (한 공간의 프랑스 규칙과 반대). 2 공간 협약에 대한 찬반론은 명백히 매우 논쟁 적이다 (예 : 이 슬레이트 작품 ).

LaTeX가 내 유형 설정을 처리하도록 허용하는 한 특별히 외모는 신경 쓰지 않지만 두 공간 규칙은 근육 기억력에 영향을 미칩니다. 그러나 다른 소스 (웹 페이지 등)의 Emacs 버퍼에 텍스트를 붙여 넣을 때 거의 항상 한 공간으로 표시됩니다. A의 종류 성가신의의 그 방법 감히 - 그들은 --부터 저를 다른 종류의 방법, 나는 세트에 유혹있어 sentence-end-double-space하는 nil현실에 대처하기. 그러나 나는 그렇게한다면 무언가가 깨질 것이라고 항상 가정했기 때문에 결코 본 적이 없습니다. 나는 그 가정에 대한 확실한 근거가 없습니다.

따라서 :로 설정 sentence-end-double-space하면 기능 손실 측면에서 실질적인 결과 가 nil있습니까? 필자가 생각할 수있는 유일한 중요한 변화는 채우기 기능이 2 공간 규칙을 1 공간 규칙으로 변경한다는 것입니다.


2
이 질문을 사랑합니다, 나는 당신이 느끼는 것을 완전히 이해합니다 ...
mbork

인용 한 슬레이트 기사조차도 단일 공백 ​​유형의 이중 공백 규칙이 문장의 끝을 식별하는 데 도움이 될 수 있다고 주장합니다.
alexurba

답변:


9

내가보고있는 유일한 결과는 약어에서 기간을 인식하는 능력입니다.

gnu.org에 명시된 바와 같이 :

문장 사이에 sentence-end-double-space공백을 하나만 사용하려면 문장 명령이 단일 공백에 대해 중지되도록 변수 를 nil로 설정할 수 있습니다. 그러나 여기에는 단점이 있습니다. 문장을 끝내는 기간약어를 나타내는 기간 을 구분할 방법이 없습니다 .

편리하고 안정적인 편집을 위해서는 2 칸 규칙을 따르는 것이 좋습니다. 변수 sentence-end-double-space채우기 에도 영향을줍니다 .

나는 두 공간 규칙을 사용한 적이 없다. 나는 그것이 당신이 어떻게 / 무엇을 편집하고 있는지에 달려 있다고 생각한다.


3

( "내가 내가 설정 한 경우 잃지 않는 명시된 바와 같이이 정말 질문에 대한 답변하지 않습니다 sentence-end-double-spacenil등")이 아니라,하지만 뭔가 세 번째 방법을 ;-). 또한 블로그에 방금 작성한 게시물 의 (일부) 사본 입니다. 부적절한 경우 누군가 삭제하십시오.하지만 도움이 되길 바랍니다.)

기본적으로 왜 취향에 맞지 않게 무언가 를 잃고 싶 습니까? 결국 이맥스입니다!

(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 분 밖에 없었습니다!)

추신. 물론 EOL 등의 기간은 고려하지 않습니다. 그러나 다시 임계 값은 매우 낮습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.