Работа в системе LaTeX

       

Семейства шрифтов


Конечно, хотелось бы подключать к LaTeX'у не один шрифт фиксированного размера, а целый набор новых шрифтов таким образом, чтобы в tex}-файле можно было менять их начертание и размер с помощью команд, аналогичных рассмотренным нами в лекции 3.

Такие возможности действительно есть. Например, образцы шрифтов типа Times, приведенные на с. 360, были получены с помощью таких команд:

{\fontfamily{ptm} \selectfont \begin{center} This is Times font sample\\ ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz\\ \fontshape{it}\selectfont ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz \fontseries{b}\fontshape{n}\selectfont ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz\\ \fontshape{it}\selectfont ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz \end{center} }

В них устанавливаются желаемые параметры шрифта, а затем этот шрифт вызывается командой \selectfont.

Сначала мы устанавливаем семейство шрифтов с помощью команды

\fontfamily{ptm}

(где ptm есть внутреннее имя семейства шрифтов типа таймс). При этом остальные параметры (размер, насыщенность, начертание) остаются неизменными. Команда \selectfont переключает шрифт. Затем мы меняем начертание с помощью команды \fontshape, делая его курсивным (it}, прямое начертание обозначается n), и снова переключаем шрифт с помощью \selectfont. После этого мы меняем насыщенность с помощью команды \fontseries (при этом b} означает полужирный шрифт, а обычный шрифт обозначается m}) и возвращаемся к прямому начертанию. И так далее.

Есть еще команда изменения размера шрифта, явно указывающая кегль и интерлиньяж. Например, команды

\fontfamily{ptm} \fontsize{17pt}{24pt} \selectfont This is Times Roman\\ 17 pt / 24 pt

позволяют напечатать две строки шрифтом типа таймс с размером 17 pt и расстоянием между строками 24 pt:

Команды \fontfamily, \fontseries, \fontshape и \fontsize являются командами "нижнего уровня": как правило, надо использовать не их, а команды типа \textbf, \textit, \textsf или же команды смены начертания и насыщенности (\rmfamily, \sffamily, \upshape, \bfseries и др.).


Но откуда же LaTeX узнаёт, что, например, команда \rmfamily предписывает переключиться на семейство шрифтов, известное под внутренним именем cmr, а команда \bfseries устанавливает насыщенность, известную под внутренним именем bx? Эта информация содержится в определении следующих команд:

КомандаОпределение в стандартных классах
\rmdefaultcmr
\sfdefaultcmss
\ttdefault cmtt
\bfdefault bx
\mddefault m
\itdefaultit
\sldefaultsl
\scdefault sc
\updefault n
Читать эту таблицу надо следующим образом: если семейство, насыщенность или начертание шрифта обозначается буквами xx, то команда \xxfamily, \xxseries или \xxshape (или команда с одним аргументом \textxx) установит соответствующий атрибут шрифта с внутренним именем, указанным в таблице в строчке с командой \xxdefault.

Сказанное объясняет рецепт уменьшения ширины жирного шрифта, приведенный на стр.114: переопределяя команду \bfdefault, мы заставляем LaTeX по командам \textbf или \bfseries (а также \bf) выбирать шрифт насыщенности b}, менее широкой, чем насыщенность bx, получающаяся по умолчанию.

А если, например, вы захотите, чтобы основным шрифтом вашего документа был шрифт без засечек, то можно переопределить в преамбуле команду \rmdefault:

\renewcommand*{\rmdefault}{cmss} (согласно нашей таблице, cmss — это LaTeX'овское внутреннее имя для шрифта без засечек). Другой вопрос, будет ли это удачным полиграфическим решением. Не слишком увлекайтесь подобными экспериментами, если вы не полиграфист!


Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий