Letras maiúsculas e o fator espaço

Letras maiúsculas e o fator espaço

Percebi que uma letra maiúscula seguida de pontuação faz com que a cola seguinte se comporte como a cola normal entre palavras e não altera o fator de espaço. Isso é geralmente aceitável quando uma letra maiúscula é seguida por um ponto final porque as iniciais são bastante comuns (por exemplo D. E. Knuth), mas não é aceitável quando uma letra maiúscula é seguida por um ponto de exclamação, ponto de interrogação, vírgula, ponto e vírgula ou vírgula.

Forneci um MWE que exibe o fator de espaço quando um sinal de pontuação ( ., !, ?, :, ;, ,) é seguido por um ), ], ou }para três casos: quando o sinal de pontuação segue uma (a) letra minúscula, (b) letra maiúscula , (c) letra maiúscula \@antes da pontuação seguinte. Estou ciente de que o csquotespacote já trata do fator espaço após as aspas de fechamento.

Em vez de adicionar \@após cada letra maiúscula seguida dos sinais de pontuação mencionados acima, estou pensando em adicionar uma macro aos meus documentos que trate todas as letras maiúsculas como letras minúsculas em relação ao fator espaço. Veja o código por egreg:Desativando o espaçamento entre palavras para pontos após letras maiúsculas

Estou interessado nas opiniões da comunidade LaTeX sobre este assunto.

\documentclass{article}
\usepackage[fontsize=9pt]{fontsize}
\usepackage{geometry}
\usepackage{multicol}
\setlength{\columnseprule}{0.5pt}
\raggedright
\usepackage{stix2}
%
%The following macro makes all uppercase letters behave like the lowercase with respect to the space factor.
%Source: https://tex.stackexchange.com/questions/60876/disabling-interword-spacing-for-periods-following-capital-letters
%\count255=`A
%\loop
%   \ifnum\count255<`Z
%   \sfcode\count255=1000
%   \advance\count255 by 1
%\repeat
%
\begin{document}
%
\begin{multicols}{4}[\section*{LaTeX Space Factors After Punctuation}]
Period
\par
\verb|abc.|
abc.
\the\spacefactor
\par
\verb|ABC.|
ABC.
\the\spacefactor
\par
\verb|ABC\@.|
ABC\@.
\the\spacefactor
%
\par
\bigskip
Exclamation Mark
\par
\verb|abc!|
abc!
\the\spacefactor
\par
\verb|ABC!|
ABC!
\the\spacefactor
\par
\verb|ABC\@!|
ABC\@!
\the\spacefactor
%
\par
\bigskip
Question Mark
\par
\verb|abc?|
abc?
\the\spacefactor
\par
\verb|ABC?|
ABC?
\the\spacefactor
\par
\verb|ABC\@?|
ABC\@?
\the\spacefactor
%
\par
\bigskip
Colon
\par
\verb|abc:|
abc:
\the\spacefactor
\par
\verb|ABC:|
ABC:
\the\spacefactor
\par
\verb|ABC\@:|
ABC\@:
\the\spacefactor
%
\par
\bigskip
Semicolon
\par
\verb|abc;|
abc;
\the\spacefactor
\par
\verb|ABC;|
ABC;
\the\spacefactor
\par
\verb|ABC\@;|
ABC\@;
\the\spacefactor
%
\par
\bigskip
Comma
\par
\verb|abc,|
abc,
\the\spacefactor
\par
\verb|ABC,|
ABC,
\the\spacefactor
\par
\verb|ABC\@,|
ABC\@,
\the\spacefactor
%
\par
.)
\par
\verb|abc.)|
abc.)
\the\spacefactor
\par
\verb|ABC.)|
ABC.)
\the\spacefactor
\par
\verb|ABC\@.)|
ABC\@.)
\the\spacefactor
%
\par
\bigskip
!)
\par
\verb|abc!|
abc!
\the\spacefactor
\par
\verb|ABC!|
ABC!
\the\spacefactor
\par
\verb|ABC\@!|
ABC\@!
\the\spacefactor
%
\par
\bigskip
?)
\par
\verb|abc?)|
abc?)
\the\spacefactor
\par
\verb|ABC?)|
ABC?)
\the\spacefactor
\par
\verb|ABC\@?)|
ABC\@?)
\the\spacefactor
%
\par
\bigskip
:)
\par
\verb|abc:)|
abc:)
\the\spacefactor
\par
\verb|ABC:)|
ABC:)
\the\spacefactor
\par
\verb|ABC\@:)|
ABC\@:)
\the\spacefactor
%
\par
\bigskip
;)
\par
\verb|abc;)|
abc;)
\the\spacefactor
\par
\verb|ABC;)|
ABC;)
\the\spacefactor
\par
\verb|ABC\@;)|
ABC\@;)
\the\spacefactor
%
\par
\bigskip
,)
\par
\verb|abc,)|
abc,)
\the\spacefactor
\par
\verb|ABC,)|
ABC,)
\the\spacefactor
\par
\verb|ABC\@,)|
ABC\@,)
\the\spacefactor
%
\par
.]
\par
\verb|abc.]|
abc.]
\the\spacefactor
\par
\verb|ABC.]|
ABC.]
\the\spacefactor
\par
\verb|ABC\@.]|
ABC\@.]
\the\spacefactor
%
\par
\bigskip
!]
\par
\verb|abc!|
abc!
\the\spacefactor
\par
\verb|ABC!|
ABC!
\the\spacefactor
\par
\verb|ABC\@!|
ABC\@!
\the\spacefactor
%
\par
\bigskip
?]
\par
\verb|abc?]|
abc?]
\the\spacefactor
\par
\verb|ABC?]|
ABC?]
\the\spacefactor
\par
\verb|ABC\@?]|
ABC\@?]
\the\spacefactor
%
\par
\bigskip
:]
\par
\verb|abc:]|
abc:]
\the\spacefactor
\par
\verb|ABC:]|
ABC:]
\the\spacefactor
\par
\verb|ABC\@:]|
ABC\@:]
\the\spacefactor
%
\par
\bigskip
;]
\par
\verb|abc;]|
abc;]
\the\spacefactor
\par
\verb|ABC;]|
ABC;]
\the\spacefactor
\par
\verb|ABC\@;]|
ABC\@;]
\the\spacefactor
%
\par
\bigskip
,]
\par
\verb|abc,]|
abc,]
\the\spacefactor
\par
\verb|ABC,]|
ABC,]
\the\spacefactor
\par
\verb|ABC\@,]|
ABC\@,]
\the\spacefactor
%
\par
.\}
\par
\verb|abc.\}|
abc.\}
\the\spacefactor
\par
\verb|ABC.\}|
ABC.\}
\the\spacefactor
\par
\verb|ABC\@.\}|
ABC\@.\}
\the\spacefactor
%
\par
\bigskip
!\}
\par
\verb|abc!|
abc!
\the\spacefactor
\par
\verb|ABC!|
ABC!
\the\spacefactor
\par
\verb|ABC\@!|
ABC\@!
\the\spacefactor
%
\par
\bigskip
?\}
\par
\verb|abc?\}|
abc?\}
\the\spacefactor
\par
\verb|ABC?\}|
ABC?\}
\the\spacefactor
\par
\verb|ABC\@?\}|
ABC\@?\}
\the\spacefactor
%
\par
\bigskip
:\}
\par
\verb|abc:\}|
abc:\}
\the\spacefactor
\par
\verb|ABC:\}|
ABC:\}
\the\spacefactor
\par
\verb|ABC\@:\}|
ABC\@:\}
\the\spacefactor
%
\par
\bigskip
;\}
\par
\verb|abc;\}|
abc;\}
\the\spacefactor
\par
\verb|ABC;\}|
ABC;\}
\the\spacefactor
\par
\verb|ABC\@;\}|
ABC\@;\}
\the\spacefactor
%
\par
\bigskip
,\}
\par
\verb|abc,\}|
abc,\}
\the\spacefactor
\par
\verb|ABC,\}|
ABC,\}
\the\spacefactor
\par
\verb|ABC\@,\}|
ABC\@,\}
\the\spacefactor
\end{multicols}
%
\end{document}
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

insira a descrição da imagem aqui

Responder1

Eu me preocupo principalmente com duas coisas: (a) Minha sugestão quebraria outras funcionalidades, classes de documentos e pacotes desejáveis ​​do LaTeX (b) Minha sugestão não é uma prática recomendada (embora talvez minha sugestão seja mais fácil para novos usuários)

Sim, essa é a principal preocupação. Se você criar uma classe de documento que use esta convenção, embora possa considerar a regra "mais simples", o comportamento não será como descrito em nenhum tutorial (la)tex, e quaisquer fragmentos de látex copiados de outros documentos ou gerados por estilos de bibliografia padrão serão não tem guardas para A. N. Otherisso terá espaço no final da frase. Portanto, embora tecnicamente o que você sugere funcione, não consideraria uma boa prática para uma classe de documento para uso geral.

informação relacionada