Emacs для начинающих

       

Загрузка пакета fontenc


Пакет fontenc предназначен для указания внутренней кодировки шрифта TeX, которую надлежит использовать при компиляции документа, и загружается строкой вида

\usepackage[(список кодировок)]{fontenc}

«Переходником» к загрузке данного пакета в LyX служит параметр \font_encoding, который можно задать либо вручную в конфигурационном файле, либо через поле «TeX encoding», расположенное в диалоге «Preferences…» (вкладка «Outputs», на ней вкладка «Другие»). Любопытно, что создатели LyX не только вынесли сей параметр в глобальные настройки программы (полагая, очевидно, что у пользователя не возникнет потребности в его частом изменении), но и «спрятали» его на вкладке, не имеющей отношения к установкам языкового окружения. По умолчанию предлагается использовать кодировку T1, которая ныне является стандартом для языков Западной Европы. Можно (но не рекомендуется) установить \font_encoding в «default» – в этом случае пакет fontenc не загрузится вообще, и LaTeX будет использовать устаревшую 7-битную кодировку OT1. Существования кириллических кодировок авторы не предусмотрели, однако использовать их не составит труда, поскольку сам LyX не интересуется значением \font_encoding, а только передает его пакету fontenc.

Возможно, у читателя возникнет недоумение: зачем понадобилось создавать специальные кодировки для TeX, когда изобилие существующих кодовых страниц и так служит источником неразберихи. Дело заключается в том, что система TeX по традиции предъявляет определенные требования к своим шрифтам. Например, в них должны быть латинские лигатуры и полный набор акцентов-модификаторов, причем всё это хозяйство обычно размещается в таблице символов в диапазоне 0–32 (на использование данной области в TeX не существует запрета, поскольку нет и потребности в управляющих кодах). Есть свои предпочтения по отношению к типографским символам: некоторые из них непременно должны присутствовать в таблице, другие же выносятся в специальные символьные шрифты. Освободившееся место используется для дополнительных букв, в результате чего, например, кодировка T1, хотя она и основана на западноевропейской кодовой странице iso-8859-1, фактически включает также и символы центральноевропейского набора.


С этими требованиями и должны сообразовываться кодировки TeX для кириллицы. Таковых существует несколько. Особенно хотелось бы предостеречь от использования кодировки LCY, основанной на cp866. Еще недавно эта кодировка была фактическим стандартом для постсоветского пространства. Однако ныне на смену ей пришла серия кодировок T2, существующая в трех ипостасях (T2A, T2B, T2C). Все три кодировки совместимы между собой и с cp1251, на которой основаны; различие же их заключается в средней области таблицы (128–191). В T2A здесь размещены символы славянских алфавитов из cp1251, сдобренные «азиатской кириллицей», в то время как в других двух кодировках «азиатская кириллица» царствует безраздельно. Существует также «идеологически чистая», но весьма громоздкая кодировка X2, которая включает все кириллические буквы из кодировок серии T2 (а также символы старой орфографии), но зато не содержит латинского алфавита.

Из сказанного вытекает, что наиболее целесообразным в большинстве случаев является использование кодировки T2A. Она и в самом деле по умолчанию загружается пакетом поддержки русского языка (о котором речь ниже) в том случае, если ни одна из кириллических кодировок не упомянута в опциях пакета fontenc. Так что исходное значение параметра \font_encoding, собственно говоря, можно оставить без изменений. Однако же явное указание кодировок является одним из признаков хорошего тона при работе с LaTeX, поэтому не будет ошибкой заменить T1 на T2A. Впрочем, правильнее всего будет передать пакету fontenc сразу два значения, разделив их запятой, например: \font_encoding "T1,T2A"

Такое решение следует настоятельно рекомендовать тем пользователям, которым приходится включать в свои документы фрагменты текста на западноевропейских языках. Абсолютно необходимым оно будет также в том случае, если для кириллицы используется кодировка, не содержащая латинского алфавита (как X2).


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