Набор символов старой русской орфографии (ять, фита, ижица)

Q. Возникла необходимость набирать дореформенный текст. Использую MikTeX и cm-super. Текст не церековный, шрифтовых извращений не требуется. Hе подскажете ли, каким образом получить в LaTeX буквы, использовавшиеся в старой русской орфографии (ять, фита, ижица)?

A [Vladimir Volovich]. Эти буквы есть в кодировках X2 и OT2. Поэтому:

\usepackage[X2,T2]{fontenc}
     \DeclareTextSymbolDefault{\CYRYAT}{X2}
     \DeclareTextSymbolDefault{\CYRFITA}{X2}
     \DeclareTextSymbolDefault{\CYRIZH}{X2}
     \DeclareTextSymbolDefault{\cyryat}{X2}
     \DeclareTextSymbolDefault{\cyrfita}{X2}
     \DeclareTextSymbolDefault{\cyrizh}{X2}

и набирать их как \CYRYAT, \CYRFITA, \CYRIZH, \cyryat, \cyrfita, \cyrizh.

[Waldenfels] Если InputEncoding - utf8x, то можно писать этими буквами непосредственно.


[neGODnick]

Эти буквы есть в кодировках X2 и OT2.

При этом не забываем, что в кодировке X2 отсутствуют латинские символы. А символы латинского алфавита нужны практически всегда — хотя бы для тех же интернет-ссылок, адресов электронной@почты, ISBN и т. д. Поэтому в большинстве случаев придётся использовать две кодировки. При указании нескольких кодировок для пакета fontenc основной считается та, которая указана последней. Так, если мы укажем в преамбуле

\usepackage[X2,T2A]{fontenc}

то основной кодировкой будет T2A, но для отображения ятей и т. д. необходимые символы будут браться из кодировки X2.

[Waldenfels] пишет: Если InputEncoding - utf8x, то можно писать этими буквами непосредственно.

Это было бы особенно удобно, если использовать типографскую раскладку. Я сделал себе собственную раскладку клавиатуры и она мне сильно облегчает жизнь, но

  1. при написании «старостильных» букв в LaTeX лучше использовать спец. \команды — в TeX- или простых текстовых редакторах могут не отображаться или даже вообще не сохраняться нужные символы (так, текстовый редактор AkelPad 4.1.2 при наборе их показывает, но потом начинает ругаться и сохраняет в виде ?? — поди потом разберись...);
  2. оказалось, что при спользовании кодировки utf8 я не могу использовать пакет soul, который в utf8 не работает, выдавая кучу ошибок! А он мне необходим, поэтому я могу использовать только cp1251 или другую не юникодную.

Кроме этого, делать такую преамбулу и набирать просто так нельзя! Если в тексте, например, будут формулы или английские буквы, обозначения и т. п., то они будут перекорёжены до неузнаваемости из-за конфликта кодировок. Необходимо явно задавать смену кодировок в тексте:

Код:

Вот мы пишем обычный текст на русском или на english-ском, 
а теперь {\fontencoding{X2}\selectfontпишемъ н\cyryatчто въ старой ор\cyrotldограф\cyriiи}, 
а начиная с запятой пошёл снова обычный текст

Результат:

Вот мы пишем обычный текст на русском или на english-ском, 
а теперь пишемъ нѣчто въ старой орѳографіи, 
а начиная с запятой пошёл снова обычный текст

Понятно, что постоянно набирать такое — мучение, поэтому лучше сделать в преамбуле спец. команды для отдельных букв. Я себе сделал так:

\usepackage[X2,T2A]{fontenc} 
\usepackage[cp1251]{inputenc} 
\newcommand{\И}{{\fontencoding{X2}\selectfont\CYRII}} % Буква И-десятеричное ЗАГЛАВНАЯ на рус. клавише «Ии» 
\newcommand{\и}{{\fontencoding{X2}\selectfont\cyrii}} % Буква И-десятеричное строчная 

\newcommand{\Е}{{\fontencoding{X2}\selectfont\CYRYAT}} % Буква Ять ЗАГЛАВНАЯ на рус. клавише «Ее» 
\newcommand{\е}{{\fontencoding{X2}\selectfont\cyryat}} % Буква Ять строчная 

\newcommand{\Ф}{{\fontencoding{X2}\selectfont\CYROTLD}} % Буква Фита ЗАГЛАВНАЯ на рус. клавише «Фф» 
\newcommand{\ф}{{\fontencoding{X2}\selectfont\cyrotld}} % Буква Фита строчная 

\newcommand{\Ы}{{\fontencoding{X2}\selectfont\CYRIZH}} % Буква Ижица ЗАГЛАВНАЯ на рус. клавише «Ыы» 
\newcommand{\ы}{{\fontencoding{X2}\selectfont\cyrizh}} % Буква Ижица строчная

Раскладка выбрана такая:

Буква Клавиша Рус / En Почему на этой клавише
Іі И‑десятеричное Ии/Bb Потому что это тоже «И» :—)
Ѣѣ Ять Ее/Tt Используется аналогично букве «Е», а не «Я»
Ѳѳ Фита Фф/Aa По названию, хотя по использованию ближе к русскому «Т», лат. «Th»
Ѵѵ Ижица Ыы/Ss Ижица примерно соотв. лат. «Yy» по использованию (а ещё точнее «Υυ» — греческому «Эпсилон»), в русском соотв. «И» или «В», но мы помещаем на Ыы/Ss — так легче запомнить и отыскать потом в коде (и не спутаешь). Употреблялась и раньше всё равно очень редко.

Теперь я могу набирать любые тексты как обычно, вводя по отдельности необходимые короткие команды из слеша и одной-единственной буквы (фактически, просто добавляя \):

Вот мы пишем обычный текст на русском или на english-ском, 
а теперь пишемъ н\ечто въ старой ор\фограф\ии, 
а начиная с запятой пошёл снова обычный текст

Обратите внимание, что я сделал команды для ввода старых русских букв тоже на русском, чтобы не было необходимости переключать раскладку клавиатуры.

 
faq/yat.txt · Последние изменения: 2009/03/07 06:22 negodnick
 
Recent changes RSS feed Driven by DokuWiki