Algum cuidado especial é necessário se um ponto final dentro de uma abreviatura for seguido por um \hskip ou um \hspace?

Algum cuidado especial é necessário se um ponto final dentro de uma abreviatura for seguido por um \hskip ou um \hspace?

Vamos supor que desejamos inserir algum tipo de pequeno espaço dentro de abreviaturas comoeu. e.,e. g.,d. h.,z. B.,a. C.,d. C.,et. D.,et. pág.,… Acima, inseri um espaço de cabelo “ ” (U+200A). (Se é uma boa decisão ou não, depende do idioma, do guia de estilo, do editor e do autor. Para o propósito desta postagem, é apenas uma suposição simples.) Em \nonfrenchspacing, podemos considerar fazer isso pulando 24/1 em (1/24 em é mencionado emhttp://helpx.adobe.com/illustrator/using/special-characters.html; algumas pessoas como emhttp://forum.glyphsapp.com/t/creating-hair-space-thin-space-figure-space-punctuation-space/12542/6pegue 1/25 em; algumas pessoas como emhttp://www.myfonts.com/pages/fontshop-adventures-in-space_spacespegue 1/3 de um espaço fino sem dizer a largura de seu “fino”) e permita algum estiramento/encolhimento (apenas para os raros casos em que não há espaço suficiente para esticar/encolher em outro lugar da linha; se você digitargrande quantidadede texto, você eventualmente os encontrará):

(1) Primeiro, defina

\newcommand{\hairsp}{\hskip.0416666666em plus.0208333333em minus.0208333333em}

ou

\newcommand{\hairsp}{\hspace{.0416666666em plus.0208333333em minus.0208333333em}}

(2) Em segundo lugar, digamos

i.\hairsp e., e.\hairsp g., d.\hairsp h., z.\hairsp B., a.\hairsp C., d.\hairsp C., и т.\hairsp д., и т.\hairsp п.

Ou deveríamos dizer

i.\@\hairsp e., e.\@\hairsp g., d.\@\hairsp h., z.\@\hairsp B., a.\@\hairsp C., d.\@\hairsp C., и т.\@\hairsp д., и т.\@\hairsp п.

na etapa (2)?

Meus próprios testes não conseguiram distinguir entre o resultado das duas possibilidades na etapa (2), mas talvez eu não tenha feito os testes certos?

Responder1

{.0416666666em não faz sentido usar tantos dígitos decimais, tex usa aritmética de ponto fixo para cerca de 5dp.

Como você está adicionando espaço em \hskipvez de um espaço de palavra, \spacefactor não \@terá efeito.

Geralmente, se você quiser usar um skip, eu basearia os valores nas dimensões da fonte em vez de em (ou seja, fontdimen 2,3,4 em vez de 6), consulteO que significa diferente \fontdimen<num>

informação relacionada