
Предположим, что мы хотим вставить небольшой пробел внутри сокращений, например:т.е.,например,д. ч.,г. Б.,а. С.,Округ Колумбия.,и т. д.,и т. п., … Выше я ввел пробел для волос « » (U+200A). (Хорошее это решение или нет, зависит от языка, руководства по стилю, редактора и автора. Для целей этого поста это просто простое предположение.) В \nonfrenchspacing
мы могли бы рассмотреть возможность сделать это, пропустив 1/24 em (1/24 em упоминается вhttp://helpx.adobe.com/illustrator/using/special-characters.html; некоторые люди, как вhttp://forum.glyphsapp.com/t/creating-hair-space-thin-space-figure-space-punctuation-space/12542/6возьмите 1/25 em; некоторые люди, как вhttp://www.myfonts.com/pages/fontshop-adventures-in-space_spacesвозьмите 1/3 тонкого пробела, не указывая, насколько он «тонкий») и допуская некоторое растяжение/сокращение (только для редких случаев, когда в другом месте строки недостаточно места для растяжения/сокращения; если вы набираетемноготекста, вы рано или поздно с ними столкнетесь):
(1) Сначала определим
\newcommand{\hairsp}{\hskip.0416666666em plus.0208333333em minus.0208333333em}
или
\newcommand{\hairsp}{\hspace{.0416666666em plus.0208333333em minus.0208333333em}}
(2) Во-вторых, скажем
i.\hairsp e., e.\hairsp g., d.\hairsp h., z.\hairsp B., a.\hairsp C., d.\hairsp C., и т.\hairsp д., и т.\hairsp п.
Или, может быть, стоит сказать
i.\@\hairsp e., e.\@\hairsp g., d.\@\hairsp h., z.\@\hairsp B., a.\@\hairsp C., d.\@\hairsp C., и т.\@\hairsp д., и т.\@\hairsp п.
на шаге (2)?
Мои собственные тесты не смогли различить результаты двух возможностей на этапе (2), но, может быть, я не провел правильные тесты?
решение1
{.0416666666em
нет смысла использовать так много десятичных знаков, tex использует арифметику с фиксированной точкой примерно до 5dp.
Поскольку вы добавляете пробел через \hskip
пробел, а не через слово, эффекта \spacefactor
это \@
не даст.
Обычно, если вы хотите использовать пропуск, я бы основывал значения на размерах шрифта, а не на em (то есть fontdimen 2,3,4, а не 6), см.Что означают разные \fontdimen<num>