Alguma diferença de funcionalidade usando uma convenção de dois espaços versus um espaço no final de uma frase?


9

Q: Que razões práticas estão lá não para conjunto sentence-end-double-spacede nil?

Um tópico recentemente revivido sobre o reconhecimento de frases que não terminam em dois espaços inspirou essa pergunta.

O nó manual do Emacs nas sentenças observa que os comandos da sentença assumem que usamos a convenção do datilógrafo americano de colocar dois espaços no final de uma sentença (em oposição, por exemplo, à convenção francesa de um espaço). Os argumentos a favor / contra a convenção de dois espaços aparentemente ficam bastante polêmicos (por exemplo, esta peça do Slate ).

Não me preocupo particularmente com a aparência, na medida em que deixei o LaTeX lidar com minha configuração de tipo, mas a convenção de dois espaços é inserida na memória muscular. No entanto, quando colo texto em um buffer Emacs de outras fontes (páginas da web etc.), quase sempre está na convenção de espaço único. Isso é uma espécie de irritante em um how-se atrevem-se-diferem-from-me tipo de forma, e estou tentado a conjunto sentence-end-double-spacepara nillidar com a realidade. Porém, nunca o fiz, porque sempre presumi que algo quebraria se o fizesse. Eu simplesmente não tenho nenhuma base firme para essa suposição.

Assim: há quaisquer consequências práticas em termos de perda de funcionalidade para a criação sentence-end-double-spacede nil? A única mudança significativa em que consigo pensar é que as funções de preenchimento transformarão a convenção de dois espaços na convenção de um espaço.


11
Amo esta pergunta, eu entendo completamente o que você sente ...
mbork

Até o artigo Slate que você cita argumenta que, no tipo monoespaçado, uma convenção de espaço duplo pode ajudar a identificar o final das frases.
Alexurba 28/10

Respostas:


9

A única conseqüência que estou vendo é a capacidade de reconhecer períodos de abreviações.

Conforme declarado pelo gnu.org :

Se você deseja usar apenas um espaço entre as frases, pode definir a variável sentence-end-double-spacecomo nil para fazer com que os comandos da frase parem em espaços únicos. No entanto, isso tem uma desvantagem: não há como distinguir entre períodos que terminam sentenças e aqueles que indicam abreviações .

Para uma edição conveniente e confiável, recomendamos que você siga a convenção de dois espaços. A variável sentence-end-double-spacetambém afeta o preenchimento .

Acho que nunca usei a convenção de dois espaços, depende de como / o que você está editando.


3

Esta não é realmente uma resposta para a pergunta como indicado ( "o que eu perderia se eu definir sentence-end-double-spacea nil"), mas sim algo como a terceira via ;-). (Além disso, é uma cópia (parcial) de uma postagem que acabei de escrever no meu blog ; se isso for inapropriado, alguém exclua isso, mas espero que isso seja útil.)

Então, basicamente, por que você quer perder alguma coisa colocando algo contra o seu gosto? Este é o Emacs, afinal!

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

Agora, quando você abre um arquivo, o Emacs decide (usando o valor muito conservador de sentence-end-double-space-threshold, do qual você pode setqfazer o que achar melhor) qual é o estilo. (Obviamente, isso não ajuda em caso de colagem do navegador ou o que seja. Isso poderia ser feito, aconselhando yanke - se necessário - substituindo espaços no texto arrancado conforme necessário, mas, ei, eu só tinha 15 minutos para isso!)

PS. Obviamente, ele não leva em consideração períodos nas EOLs, etc .; mas, novamente, o limite é muito baixo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.