文の終わりに2スペースの規則と1スペースの規則を使用した機能の違いはありますか?


9

Q:設定しない実用的な理由は何ですか?sentence-end-double-spacenil

2つのスペースで終わらない文を認識することについて最近復活したスレッドは、この質問に影響を与えました。

文章Emacsマニュアルノードでは、文章コマンドは、アメリカのタイピストが文章の最後に2つのスペースを置くという規則(たとえば、1つのスペースというフランスの規則とは対照的)を使用することを前提としています。2つのスペースの慣習に対する/反対の議論は明らかにかなり論争的になります(たとえば、このスレートピース)。

LaTeXにタイプ設定を処理させる限り、特に外観は気にしませんが、2スペースの規則は筋肉の記憶に打ち込まれます。しかし、テキストを他のソース(Webページなど)からEmacsバッファーに貼り付けると、ほとんどの場合、1スペースの規則に従います。それはある意味、自分とどう違うのかという点で不愉快なことであり、現実に対処sentence-end-double-spaceするように設定したくなりnilます。しかし、そうした場合、何かが壊れるといつも思っていたので、私は持っていません。私はその仮定について確固たる根拠がありません。

だから:に設定sentence-end-double-spaceするための機能の損失の面で実際的な結果はありますnilか?私が考えることができる唯一の重要な変更は、fill関数が2スペースの規則を1スペースの規則に変更することです。


1
この質問が大好きです、私はあなたが感じることを完全に理解しています...
mbork

あなたが引用しているスレートの記事でさえ、モノスペースタイプではダブルスペース規則が文の終わりを識別するのに役立つかもしれないと主張しています。
alexurba 2014年

回答:


9

私が目にしている唯一の結果は、略語からピリオドを認識する能力です。

gnu.orgで述べられているように

文の間にスペースを1つだけ使用したい場合は、変数sentence-end-double-spaceをnilに設定して、文のコマンドを1つのスペースで停止させることができます。しかし、これには欠点があります:区別する方法はありません最後の文章その期間略語を示したもので

したがって、便利で信頼性の高い編集のために、2スペースの規則に従うことをお勧めします。変数sentence-end-double-space塗りつぶしにも影響し ます

私は2スペースの慣習を使ったことはありません。それは編集方法や内容によって異なります。


3

これは、述べられた質問(「に設定sentence-end-double-spaceした場合、何を失うかnil」)に対する実際の回答ではなく、3番目の方法のようなものです;-)。(また、私がブログに書いたばかりの投稿からの(部分的な)コピーです。これが不適切な場合は、誰かがこれを削除してください。これが役に立てば幸いです。)

それで、基本的に、あなたの好みに反して何かを設定することによって、なぜあなた何かを失いたいのですか?結局これが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。もちろん、EOLなどの期間は考慮されません。しかし、やはり、しきい値は非常に低いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.