Herhangi bir cümle sonunda iki boşluk veya tek boşluk konvansiyonu kullanan herhangi bir işlevsellik farkı var mı?


9

S: Pratik nedenler nelerdir değil sete sentence-end-double-spaceiçin nil?

İki alanda bitmeyen cümleleri tanıma konusunda yakın zamanda yeniden canlanan bir konu bu soruya ilham verdi.

Cümleler üzerinde Emacs manuel düğüm cümle komutları biz (söz hakkından, bir uzay Fransız kongre aksine) bir cümlenin sonuna iki boşluk koyarak Amerikan daktilo kuralını kullanır varsayalım o notları. İki uzay konvansiyonu / aleyhindeki argümanlar görünüşte oldukça kimyasallaşıyor (örneğin, bu Arduvaz parçası ).

Özellikle LaTeX'in tip ayarımı yapmasına izin verdiğim sürece görünüşleri umursamıyorum, ancak iki boşluklu konvansiyon kas hafızasına çarptı. Ancak, metni başka kaynaklardan (web sayfaları vb.) Gelen bir Emacs arabelleğine yapıştırdığımda, neredeyse her zaman tek boşluk kuralındadır. Bu, benden nasıl farklılaşabildikleri konusunda sinir bozucudur ve ben Reality ile sentence-end-double-spacebaşa nilçıkmak için ayarlandım . Ancak, hiç yapmadım, çünkü her zaman bir şeylerin kırılacağını varsaymıştım. Bu varsayım için kesin bir temelim yok.

Yani: ayarlanması için işlevsellik kaybı açısından herhangi bir pratik sonuçları vardır sentence-end-double-spaceiçin nil? Aklıma gelen tek önemli değişiklik, doldurma fonksiyonlarının iki boşluklu konvansiyonu tek boşluklu konvansiyona değiştireceğidir.


2
Bu soruyu seviyorum, ne hissettiğini tamamen anlıyorum ...
mbork

Alıntı yaptığınız Arduvaz makalesi bile, tek aralıklı yazımda çift boşluklu bir sözleşmenin cümlelerin sonunu belirlemeye yardımcı olabileceğini savunuyor.
alexurba

Yanıtlar:


9

Gördüğüm tek sonuç, dönemleri kısaltmalardan tanıma yeteneğidir.

Gnu.org tarafından belirtildiği gibi :

Cümleler arasında yalnızca bir boşluk kullanmak istiyorsanız sentence-end-double-space, cümle komutlarının tek boşluklar için durmasını sağlamak için değişkeni nil olarak ayarlayabilirsiniz . Bununla birlikte, bunun bir dezavantajı vardır: cümleleri bitiren süreleri ve kısaltmaları gösterenleri ayırmanın bir yolu yoktur .

Rahat ve güvenilir düzenleme için, bu nedenle iki boşluklu kurala uymanızı öneririz. Değişken doldurmayısentence-end-double-space da etkiler .

İki alanlı konvansiyonu hiç kullanmadım, sanırım, nasıl / ne düzenlediğinize bağlı.


3

( "Ne ben ayarlarsanız kaybedersin belirtildiği gibi bu gerçekten soruya bir cevap değildir sentence-end-double-spaceetmek nilgibi") yerine, ama bir şey üçüncü yol ;-). (Ayrıca, blogumda yeni yazdığım bir yazının (kısmi) bir kopyasıdır ; bu uygun değilse, lütfen birisi bunu silin, ancak umarım bu yardımcı olabilir.)

Peki, temel olarak, beğeninize karşı bir şey ayarlayarak neden bir şey kaybetmek istiyorsunuz ? Sonuçta bu 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)     

Şimdi bir dosyayı açtığınızda, Emacs ( stilin çok muhafazakar değerini kullanarak sentence-end-double-space-threshold, hangi setqşeyi doğru hissederseniz yapın) hangi stile karar verir. (Açıkçası, bu tarayıcıdan veya herhangi bir şeyden yapıştırma durumunda yardımcı olmaz. Yapılmış, tavsiye edilebilir yankve gerekirse gerekirse yanık metindeki boşlukların değiştirilmesi gerekebilir, ama hey, bunun için sadece 15 dakikam vardı!)

PS. Tabii ki, EOL vb. Dönemleri dikkate almaz .; ama yine eşik çok düşük.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.