\documentclass[12pt]{book} 
%<-- A5 paper
%\documentclass[12pt,a5paper]{article} 
%A5 Book making:
%dvips -T 14.8cm,21.0cm [infile] | psbook | psnup -Pa5 -pa4 -2
%-->

%<-- My T2A encoding
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
%\usepackage[unicode=true,bookmarks=true]{hyperref}
\usepackage[unicode=true,bookmarks=false]{hyperref}
\hypersetup{
  pdftitle={LaTeX and Unix (cyrillic)},
  pdfsubject={LaTeX and Unix with Cyrillic},
  pdfauthor={Baldin Evgueni},
  pdfkeywords={LaTeX,Unix,cyrillic}
}

\usepackage{indentfirst}%first paragraph indent
%\usepackage{literat} %for pdflatex
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage{afterpage}
% : -> . in caption 
\usepackage[centerlast,small]{caption2}
\renewcommand{\captionlabeldelim}{.}
\usepackage{xspace}
%\usepackage{html}
\usepackage{listings}
\lstloadlanguages{[LaTeX]TeX,csh,Lisp}
\lstset{extendedchars=true,
        commentstyle=\it,
        stringstyle=\bf }


%backslash
\newcommand{\bs}{\symbol{'134}}
%degree
\newcommand{\grad}{\ensuremath{{}^{\circ}}\xspace}

\oddsidemargin 0.7in
\evensidemargin 0.7in

\title{\LaTeX,  Unix и русский стиль. \\ Версия 0.2}
\author{Балдин Е.М.}
\begin{document}
\frontmatter
\maketitle

\chapter{Предисловие}
\label{unix:intro}

В России издано уже достаточно книг по \LaTeX. \LaTeX{} это не просто
способ вёрстки документов, это фактически готовое решение для многих
проблем документоборота. К сожалению во всех изданных книгах уделяется
мало внимания по работе с \LaTeX{} в Unix-подобных окружениях с учётом
российской специфики.  Цель этого текст заполнить этот пробел. Для
получения более общей информации по работе с описанными здесь
программными продуктами следует к источникам, перечисленным в списке
литературы.



Документ распространяется под лицензией GNU FDL\footnote{GNU Free
  Documentation License.}. Вкратце: Вы можете распространять этот
документ в любом виде при условии предоставления исходников; Вы можете
распечатывать этот документ для себя; Вы можете его модифицировать
(или копировать часть информации) при условии сохранения на результат
текущей лицензии; При печати больших тиражей\footnote{100
  экземпляров}, а так же для изменения текущей лицензии вам следует
получить разрешение автора. Для получения более подробной информации
об этом типе лицензии следует обратиться к первоисточнику по адресу
\htmladdnormallink{www.gnu.org}{http://www.gnu.org/copyleft/fdl.html}.
Существует русский перевод лицензии сделанный
\htmladdnormallink{Еленой Тяпкиной}{mailto:tiapkina@hotmail.com}.

В разделе \ref{unix:LaTeX-T2}) описаны различные способы набора
кириллических текстов в \LaTeX{} и особенности русского стиля.
 
Кроме непосредственно проблем \LaTeX{} здесь обсуждаются инструменты,
которые могут значительно облегчить работу с \LaTeX{} в среде Unix.  В
разделе \ref{unix:gnuemacs} разобран один из наиболее продвинутых
инструментов такого рода: текстовый редактор \emph{Emacas}.

Вид набранного документа в значительной степени определяется шрифтом,
который вы используете. В разделе \ref{unix:cyrfonts} перечислены
основные кириллические шрифты, которые можно использовать при наборе.

В разделе \ref{unix:CyrProg} описаны вспомогательные программы,
которые могут помочь при работе с документами \LaTeX.

Планируется подробнее описать работу с emacs модами, а так же добавить
разделы посвящённые презентациям и работе с pdflatex.

При наборе использовался дистрибутив te\TeX. В качестве Unix-окружения
выступал дистрибутив ALT Linux Master 2.0\,. В стандартной поставки
был обновлён пакет \emph{listings}\footnote{Hабор листингов программ.}
и пакет \emph{hyperref}\footnote{Ссылки в dvi и pdf документах.}

\tableofcontents


\mainmatter
\chapter{\LaTeX{} и кириллица}
\label{unix:LaTeX-cyrillic}

В этом разделе собрано всё, что относится к особенностям русского
набора в документах \LaTeX. Особое внимание обращено на настройку
дистрибутива \LaTeX{} для работы с кириллицей (разделы
\ref{unix:LaTeX-T2}--~\ref{unix:LaTeX-teTeX}).

Обратите внимание, что доступны две версии \emph{\LaTeX}, одна из
них~--- \emph{\LaTeX{}~2.09}~--- старая версия, в то время как
\emph{\LaTeXe}~--- новая (выпуск \mbox{\emph{pre-3.0}}).  Если вы
используете \emph{\LaTeX{}~2.09}, то как можно быстрее переходите на
\emph{\LaTeXe}.  Последний сохраняет совместимость со старой версией,
но имеет намного больше возможностей.




\section{Пакет кириллизации T2}
\label{unix:LaTeX-T2}

Современные версии дистрибутивов \emph{\LaTeX} включают в себя
русификацию \emph{out of the box}.  Признаком русифицированности
\LaTeX'а out-of-the-box является наличие директории
\texttt{/\$TEXMF/tex/latex/t2}.  \texttt{\$TEXMF} обычно равно
\texttt{/usr/share/texmf} или \texttt{/usr/lib/texmf}. Русификация,
как нетрудно догадаться,~--- \emph{T2}.


Пакет T2 был изначально был создан Werner Lemberg'ом и Владимиром
Воловичем. Этот пакет развивается по сей день и, надеюсь, будет
развиваться и дальше. В нем присутствуют некоторые недостатки, но в
99\% случаев для отображения кириллицы через \emph{\LaTeX}
его возможностей хватает. Современная русификация
\emph{\LaTeX} основана именно на этом пакете. Пример
русификации через T2 приведён в разделе \ref{unix:LaTeX-teTeX}.

Пакет ,,T2`` можно найти на любом сайте
CTAN\footnote{\texttt{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/t2}},
последняя версия лежит по адресу
\texttt{ftp://ftp.vsu.ru/pub/tex/t2-current.tar.gz}.

Официально с 1-го декабря 1998 года дистрибутив \emph{\LaTeXe}
поддерживает шрифты со стандартными кириллическими кодировками (T2A,
T2B, T2C, X2) и всевозможные входные кодовые таблицы (например,
koi8-r, cp1251, cp866, iso8859-5)

BABEL начал поддерживать кодировку T2 с версии 3.6k (последнюю версию
можно взять на любом сайте \emph{CTAN}\footnote{В директории
\texttt{CTAN:macros/latex/required/babel}}.

В файле `cyrguide.tex', который является частью дистрибутива \LaTeXe,
описывается настройка и использование кириллицы при работе с \LaTeX.
Для полной поддержки кириллицы требуется иметь lh шрифты и
соответствующую таблицу переносов.

Шрифты lh начиная с версии 3.20 поддерживают все нужные кодировки~--- смотрите
раздел \ref{unix:CyrFontsLaTeXlh}.

Русские таблицы переносов, поддерживающие кодировку T2 и оформленные как пакет
,,ruhyphen``, можно найти на любом \emph{CTAN}\footnote{В директории
  \texttt{CTAN:language/hyphenation/ruhyphen}} архиве или на
\texttt{ftp.vsu.ru}\footnote{
  \texttt{ftp://ftp.vsu.ru/pub/tex/ruhyphen.tar.gz}\,.}.

В пакете T2, кроме непосредственно поддержки T2 кодировок,
дополнительно присутствуют следующие полезные составляющие.

\begin{itemize}
\item Пакет \emph{`mathtext}', который позволяет использовать
  кириллицу в формулах без дополнительных ухищрений. Пакет может быть
  включён с опцией \emph{warn}~--- в этом случае он сообщает обо всех
  случаях использования кириллических букв в формулах. Пакет следует
  загружать до загрузки пакета \texttt{babel} и/или \texttt{fontenc}.
\item Пакет \emph{`citehack.sty'} переопределяет команды \LaTeX{} таким
  образом, чтобы можно было использовать кириллические символы в
  качестве аргументов команд \texttt{\bs cite} и \texttt{\bs bibitem}~---
  это временный "хак", и в следующей версии \LaTeX{} нужда в нем отпадёт.
\item Скрипт \emph{`rubibtex'}
будет полезен, если вы используете \texttt{bibtex}.
\item Скрипт \emph{`rumkidx'} будет полезен, если вы используете
  \texttt{makeindex}~--- к сожалению, невозможно (без напильника)
  сделать несколько индексов одновременно.
\item Директория \emph{`examples'} содержит несколько примеров.
\item Пакет \emph{`cyrplain'}~--- на случай, если вы захотите
  использовать Plain TeX.
\item Директория \emph{`cyrfinst'} содержит поддержку кириллицы для
  пакета \texttt{fontinst}.
\item Директория \emph{`enc-maps'} содержит различные входные
  кодировки, которые можно использовать при наборе файла \LaTeX{}.
\end{itemize}


Одной из раздражающих особенностей T2-кириллизации является то, что
при ,,прогонке``  tex-файла через \texttt{latex} вывод
предупреждений и ошибок ведётся на внутренней кодировке~--- то есть
\emph{T2}:

Артём Чуприн написал программу-фильтр~--- она перекодирует сообщения
об ошибках от ,,\bs T2A/``  до конца строки, остальное не трогает. Для
практических нужд пока хватает.  Программу можно найти по адресу
\texttt{http://www.inp.nsk.su/~baldin/misc/Latex.c}

Так же можно использовать стандартный перекодировщики~--- например,

\begin{lstlisting}[language=csh]
   latex myfile.tex | t2filter
\end{lstlisting}



\section{Кириллизация te\TeX}
\label{unix:LaTeX-teTeX}


Если у вас старый дистрибутив te\TeXа (версия ниже 1.0), то
настоятельно рекомендуется скачать последнюю версию этого программного
продукта.

Для современных версий \TeX'а (te\TeX, fpTeX, Mik\TeX, Web2c \TeX)
русификация уже входит в дистрибутив (раздел \ref{unix:LaTeX-T2}).

Первое, что нужно сделать~--- это подключить русские переносы.  Для
этого нужно отредактировать файл \texttt{language.dat}, находящийся в
директории \texttt{\$TEXMF/tex/generic/config/language.dat}
\footnote{\texttt{\$TEXMF} обычно равно \texttt{/usr/lib/texmf} или
\texttt{/usr/share/texmf}}, добавив туда строки:

\begin{verbatim}
ruseng ruenhyph
       =russian
       =english
\end{verbatim}


Остальные строки нужно закомментировать, либо удалить.  После чего
необходимо перегенерировать форматные файлы:

\begin{lstlisting}[language=csh]
texconfig init
\end{lstlisting}

Описанное выше можно проделать через стандартную конфигурационную
программу \texttt{texconfig}~--- выбрать меню \texttt{hyphenation},
далее меню \texttt{latex} и раскомментировать строку со словом
\texttt{russian}. При выходе из программы форматные файлы
автоматически перегенерируются.


Теперь можно работать с русским языком.Добавьте в преамбулу документа (после
слов \texttt{\bs documentclass\{\}})


\begin{lstlisting}[frame=trBL,language=TeX,caption={Преамбула}]
 % если нужны русские буквы в формулах (не обязательно)
\usepackage{mathtext}         
 % внутренняя T2A кодировка TeX
\usepackage[T2A]{fontenc}     
 % кодировка - можно использовать [cp866] [cp1251]
\usepackage[koi8-r]{inputenc}
 % включение переносов 
\usepackage[russian]{babel}  
\end{lstlisting}

После этого в документе можно использовать русские буквы.Подробнее о
пакете \emph{T2} смотрите раздел \ref{unix:LaTeX-T2}.

\emph{P.S.} Это только один из вариантов, самый
простой и универсальный, решения проблемы кириллизации. Есть и другие
варианты и методы, которые на практике могут оказаться более удачными.

Чтобы добавить форматы из \texttt{cyrplain} набора в
\texttt{texconfig}, следует выбрать меню \texttt{FORMATS} и добавить
\begin{verbatim}
cyrtxinf      tex             language.dat    cyrtxinf.ini
\end{verbatim}
для русского \texttt{texinfo}. Аналогично для \texttt{cyrblue} и \texttt{cyramstx}.Чтобы добавить формат \texttt{cyrtex} (русский TeX), проще в каталоге
\texttt{web2c} выполнить:
\begin{verbatim}
initex '\input cyrtex.ini \dump'
\end{verbatim}
и бросить символическую ссылку с именем \texttt{cyrtex} на
\texttt{tex} (например, в \texttt{/usr/bin}\footnote{\texttt{cd
    /usr/bin; ln -s tex cyrtex}}). Чтобы переключится на русский в
этих \texttt{plain} форматах, надо использовать команду
\begin{lstlisting}[language=TeX]
  \language N
\end{lstlisting}
где N~--- номер, под которым числится русский язык в получившейся раскладке.

\section{Русский стиль}
\label{unix:LaTeX-Style}



В этом разделе даны рецепты, как создать и/или модифицировать свой стиль,
естественно, это относится к использованию кириллицы в \emph{\LaTeX}.
Предложенные рецепты в основном опираются на пакет русификации \emph{T2}
(См. раздел \ref{unix:LaTeX-T2}). 

Если вы воспользовались пакетом \emph{T2}, то многие необходимые для русского
набора команды уже переопределены. К ним относятся команды оглавления, подписей
и библиографии.



\subsection{Формулы и русский стиль}
\label{unix:cyrtexmath}
В этом разделе собрана информация о наборе математических формул при
использовании традиций русской типографии.


\subsubsection{Кириллические буквы в формулах}
\label{unix:LaTeX-T2-cyr-math}

Для того, чтобы использовать кириллицу в формулах (T2 кириллизация~--- раздел
\ref{unix:LaTeX-T2}) следует в преамбуле до задания \emph{inputenc},
\emph{fontenc}, \emph{babel} добавить строчку:

\begin{lstlisting}[language=TeX]
\usepackage[warn]{mathtext}
\end{lstlisting}

Что бы сделать кириллические буквы в формулах наклонными, то нужно изменить
преамбулу:
\begin{lstlisting}[language=TeX,,escapechar=|,caption={Включение кириллицы в
    формулы через mathtext}]
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc}
\DeсlareSуmbolFont{T2Aletters}{T2A}{cmr}{m}{it}
       |\ldots|
% выглядит как |\(V_{\text{\textit{кр}}}=\frac{S_1-S_2}{\delta t}\)|  
\(V_{кр}=\frac{S_1-S_2}{\delta t}\) 
         
 \end{lstlisting}

Для переносимости лучше все русские буквы в формулах включать с помощью команды
\texttt{\bs text\{\ldots\}} из пакета \emph{amtmath}.

\begin{lstlisting}[language=TeX,,escapechar=|,caption={Включение кириллицы в
    формулы через amsmath}]
\usepackage{amsmath}
       |\ldots|
% выглядит как |\(V_{\text{кр}}=\frac{S_1-S_2}{\delta t}\)|  
\(V_{\text{кр}}=\frac{S_1-S_2}{\delta t}\) 
\end{lstlisting}

\subsubsection{Математические символы}
\label{unix:cyrtexmath}

При наборе формул следует учитывать особенности русского стиля.

\paragraph{Тригонометрия}

В дополнения к стандартным командам типа \texttt{\bs tan} babel (раздел
\ref{unix:LaTeX-T2}) определяет несколько команд для набора в русском стиле:
$\tg\alpha$, $\ctg\beta$, $\cosec\gamma$, $\arctg\delta$, $\sh\varepsilon$,
$\ch\pi$, $\cth\rho$.


\paragraph{Комплексная арифметика}

По западной традиции действительная  ($\text{Re}$) и мнимая ($\text{Im}$) части
числа набираются как \(\Re\) и \(\Im\), соответственно. Для правильного набора
следует переопределить стандартные команды:
\begin{lstlisting}[language=TeX]
\usepackage{amsmath}
\renewcommand{\Re}{\text{Re}}
\renewcommand{\Im}{\text{Im}}
\end{lstlisting}

\paragraph{Греческие символы}
Для набора символов <<\(\varkappa\), \(\varepsilon\), \(\varphi\)>> в русском
стиле следует использовать команды \texttt{\bs varkappa}, \texttt{\bs
  varepsilon}, \texttt{\bs varphi}, соответственно. Обратите внимание на
стандартное написание <<\(\kappa\), \(\epsilon\), \(\phi\)>>.

\paragraph{Знаки сравнения}
\label{unix:cyrtexmath}

Знаки\footnote{Эти символы становятся доступны при подключении пакета
  \texttt{amssymb}.} $\leqslant$ (\texttt{\bs leqslant}) и
\(\geqslant\) (\texttt{\bs geqslant}), набранные в русском стиле отличаются от
западных аналогов \(\le\) (\texttt{\bs le}) и \(\ge\) (\texttt{\bs ge}),
соответственно. Для упрощения набора можно переопределить стандартные команды.

\paragraph{Пустое множества} 

Знак пустого множества\footnote{Этот символ становятся доступным при
  подключении пакета \texttt{amssymb}.}  \(\varnothing\) набирается с
  помощью команды \texttt{\bs varnothing}.


\subsubsection{Перенос формул}
\label{unix:LaTeX-operands-hyphenations}

Чтобы символы бинарных операций (,,+``, ,,=``, ,,-``) в \emph{\LaTeX}, набранные в
строчных формулах, при переносе на другую строку, дублировались
например:
\begin{verbatim}
a + b =
= c
\end{verbatim}

Для этого можно воспользоваться такими командами в
преамбуле:

\begin{lstlisting}[language=TeX,caption={Перенос формул}]
%begin{latexonly}
  \renewcommand\ne{\mathchar"3236\mathchar"303D\nobreak
    \discretionary{}{\usefont {OMS}{cmsy}{m}{n}\char"36\usefont
      {OT1}{cmr}{m}{n}\char"3D}{}} \begingroup
\catcode`\+\active\gdef+{\mathchar8235\nobreak\discretionary{}%
  {\usefont{OT1}{cmr}{m}{n}\char43}{}}
\catcode`\-\active\gdef-{\mathchar8704\nobreak\discretionary{}%
  {\usefont{OMS}{cmsy}{m}{n}\char0}{}}
\catcode`\=\active\gdef={\mathchar12349\nobreak\discretionary{}%
  {\usefont{OT1}{cmr}{m}{n}\char61}{}} \endgroup
\def\cdot{\mathchar8705\nobreak\discretionary{}%
  {\usefont{OMS}{cmsy}{m}{n}\char1}{}}
\def\times{\mathchar8706\nobreak\discretionary{}%
  {\usefont{OMS}{cmsy}{m}{n}\char2}{}} 
\mathcode`\==32768 \mathcode`\+=32768 \mathcode`\-=32768
%end{latexonly}
\end{lstlisting}

Первая и последняя строка комментария нужна в случае, если вы используете
\emph{latex2html} для публикации вашего файла в \emph{html} формате.

\emph{Дополнение:} Вероятно, эти команды будут
включены в планируемый пакет-дополнение к \texttt{babel}
(добавляющий некоторые особенности русскоязычного набора). Кто заметит
глюки в вышеприведённых командах~--- дайте знать Владимиру
Воловичу \texttt{vvv@vvv.vsu.ru} или
\texttt{2:5025/2.72}.

\subsection{,,Лапки``, <<Ёлочки>>, \No{} и \textsection.}
\label{unix:lapki-yolochki}

При использовании T2 кириллизации (раздел \ref{unix:LaTeX-T2}) во время
подключения пакета babel определяются некоторый набор  команд необходимый для
набора на русском языке.

К подобным командам относятся команды набора кавычек типа ,,лапки`` 
(,$\,$,лапки`\,`) и <<ёлочки>> (<\,<ёлочки>\,>).

Для набора знака номера следует воспользоваться командой \texttt{\bs No} (\No)
или \texttt{\bs textnumero} (\textnumero).

Для набора знака параграфа следует воспользоваться командой
\texttt{\bs S} (\S) или \texttt{\bs textsection} (\textsection).

\subsection{Дефисы, минусы и тире}
\label{unix:dash}

В издательских системах, основанных на \TeX'e различают дефис ,,-`` (hyphen),
короткое тире ,,--`` (en-dash), длинное тире ,,---`` (em-dash) и знак минуса
,,$-$``. 

Чтобы получить на печати дефис, короткое или длинное тире, надо набрать один,
два или три знака ,,-`` соответственно.

Дефис используют в составных словах (кто-то, где-нибудь), короткое тире
рекомендуется для указания диапазона чисел (3--4, 1903--1991), длинное тире
означает обычное тире (Это~--- слон), минус может существовать только в
формулах (\(a-b=c\)). 

Для того чтобы тире не отрывалось от слова при переходе на другую строку между
тире и словом следует поставить неразрывный пробел (Это${}^\sim$-\,-\,- слон).

\subsection{Перенос}
\label{unix:LaTeX-hyphenation}


Чтобы правильно писать составные слова, типа:
,,ком\-мер\-че\-ско-по\-сред\-ни\-че\-ская``.  следует добавить следующие
строчки (См. \texttt{README} от пакета \emph{ruhyphen}):
\begin{lstlisting}[language=TeX,escapechar=|]
  \lccode`\-=`\- \defaulthyphenchar=127
   |\ldots|
  \usepackage[T2A]{fontenc}
\end{lstlisting}
Если нужно явно задать правило переноса для какого-то составного слова, то
вставьте что-то вроде:

\begin{lstlisting}[language=TeX,caption={Задание правил переноса}]
  \begingroup
    \lccode`\==`\-
    % Пример: задать правила переноса для 
    %    `коммерческо-посредническая':
    \hyphenation{ком-мер-че-ско=-по-сред-ни-че-ская}
  \endgroup
\end{lstlisting}






\subsection{Подписи в картинках}
\label{unix:LaTeX-graphics}

Для создания кириллических подписей в картинках следует воспользоваться пакетом
\emph{psfrag}. 


Если вы хотите использовать картинки, сделанные, например,  в  \emph{xfig}
при работе с \TeX/\LaTeX, то Вам поможет пакет psfrag. В xfig'e
пишете вместо надписей тэги~--- типа Petr, moment и т.д. Экспортируете
картинку в eps. А в TeXовском файле пишете

\begin{lstlisting}[language=TeX,escapechar=|,caption={Использование psfrag}]
  \usepackage{psfrag} 
  |\ldots|
  \psfrag{Petr}{Здесь будет город заложен\dots}
  \psfrag{moment}{Я помню чудное мгновенье}
\end{lstlisting}
и т.д. Тогда в результате будут надписи в том же шрифте, что основной
текст.

Преимущества такого подхода:
\begin{itemize}
\item надписи в том же шрифте, что и текст,
\item можно вставлять любые формулы и т.д.~--- всё, что выдержит \TeX.
\end{itemize}

Недостатки:
\begin{itemize}
\item правильное расположение текста получается методом проб и ошибок,
\item если надо результат не в PostScript, а в pdf, то приходится
потрудиться: создавать одностраничные документы в \TeX (с
псфраговскими фрагментами), их переводить в eps, оттуда в pdf~--- в
общем, возиться, но так как Вы в Linux, то написать скрипт, который
будет это делать за вас, я думаю, труда не составит.
\end{itemize}


\subsection{Кириллица и bibtex}
\label{unix:LaTeX-T2-citehack}


Что бы можно было использовать кириллицу с bibtex'ом~--- то есть
иметь возможность написать что-то вроде:

\begin{lstlisting}[language=TeX]
  \bibitem{Иванов1000}
\end{lstlisting}

Следует воспользоваться пакетом \emph{citehack}~--- добавить в
преамбуле:
\begin{lstlisting}[language=TeX]
  \usepackage{citehack} 
\end{lstlisting}

\emph{Замечание:} По умолчанию кириллицу нельзя использовать в качестве ИНДЕКСА
(т.е. внутреннего объекта, который никак не отображается в свёрстанном
документе). В необязательных аргументах \texttt{\bs cite} и \texttt{\bs bibitem}
(которые отображаются в документе) использовать кириллицу можно. Пакет
\emph{citehack} позволяет использовать 8-битные символы в качестве индекса.


\subsection{Кириллица в пакете listings}
\label{unix:listings}

Для того чтобы можно было использовать кириллицу в комментариях при
распечатке текстов программ для пакета \emph{listings} следует
установить переменную \texttt{extendedchars}. Если это не сработает,
то следует обновить свою версию пакета.

\begin{lstlisting}[language=TeX,escapechar=|,caption={Работа с пакетом listings}]
\usepackage{listings}
%подгружаемые языки|~---| подробнее в документации |\texttt{listings}|
\lstloadlanguages{[LaTeX]TeX,csh,Lisp}
% включаем кириллицу и добавляем кое-какие опции
\lstset{extendedchars=true,
        commentstyle=\it,
        stringstyle=\bf }
        |\ldots|
|\bs|begin{lstlisting}[language=TeX,caption={Работа с чем-то}]
% Работаем с пакетом listings
\begin{something}
  что-то внутри 
\end{something}
|\bs \textbf{end}|{lstlisting}
\end{lstlisting}
    

\subsection{Hумерация}
\label{unix:numlist}

 Иногда кириллица в нумерации более к месту чем латиница.

\subsubsection{Списков}
\label{unix:LaTeX-enumerate}


Чтобы заставить окружение \texttt{enumerate} нумеровать списки \texttt{\bs item}
по-русски. Следует воспользоваться пакетом \emph{babel}:

\begin{lstlisting}[language=TeX,caption={Hумерация приложений}]
%\item Маленькие буквы:
\renewcommand{\theenumi}{\asbuk{enumi}}
   или
%Большие буквы:
\renewcommand{\theenumi}{\Asbuk{enumi}}
\end{lstlisting}

Эти команды делают нужную нам нумерацию на верхнем уровне вложенности.  Hа
следующем уровне идут \emph{enumii}, \emph{enumiii}, \emph{enumiv}.

\subsubsection{Приложений}
\label{unix:LaTeX-appendix}




Для нумерации разделов русскими буквами (некоторые как раз любят
латинские) следует написать:

\begin{lstlisting}[language=TeX,caption={Hумерация приложений}]
\makeatletter
\renewcommand\appendix{\par
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \gdef\thesection{\@Asbuk\c@section}}
\makeatother
\end{lstlisting}




\subsection{Отступ для первого параграфа раздела}
\label{unix:LaTeX-indentfirst}


В русской литературе, в отличии от английской, принято, чтобы первый параграф
раздела имел точно такой же отступ, как и везде. Для этого следует
воспользоваться пакетом
\emph{indentfirst}.
\begin{lstlisting}[language=TeX]
\usepackage{indentfirst}
\end{lstlisting}




\subsection{Подписи к рисункам}
\label{unix:caption}

Для того, чтобы изменить ,,:`` в подписи рисунка на ,,.``~--- т.e.\, ,,Рис.1:``
на ,,Рис.1.`` следует добавить в преамбуле следующие строчки:

\begin{lstlisting}[language=TeX,caption={Изменение стиля подписи к рисункам}]
\usepackage{caption2}
% заменяем для рисунков ':' после номера рисунка на '.'
\renewcommand{\captionlabeldelim}{.}
\end{lstlisting}


\subsection{За буковку ,,ё`` замолвите слово}
\label{unix:cyryo}


Пара слов в поддержку буквы ,,ё``. Эту букву незаслуженно забывают при наборе
текстов.  Более того, некоторые деятели ратуют за её полное упразднение.
Однако, коль уж вам довелось узнать русский язык, то говорить и писать на нём
следует правильно. Hаличие буквы ,,ё`` в тексте значительно облегчает процесс
чтения\footnote{Особенно это актуально при быстром чтении.}. 

\emph{Поставь букву "ё" на её место!}\footnote{Hа правах лозунга.}

Для проверки правописания надо использовать словарь Александра Лебедева
(раздел \ref{unix:CyrSpellSwan}), где
есть реальная поддержка ,,ё``.

В среде X-Window следует использовать шрифты cyr-rfx (раздел
\ref{unix:CyrFontsXCyr-RFX}), в которых буква ,,ё`` занимает своё законное
место.


\chapter{GNU Emacs}
\label{unix:gnuemacs}

Есть две версии редактора \emph{Emacs}~--- \texttt{GNU Emacs} и
\texttt{XEmacs}.  Они обеспечивают более или менее сходный набор функций и
возможностей, но при этом реализация некоторых деталей расходится довольно
сильно. Здесь описывается настройка и использование \emph{Gnu Emacs} версий
21.2 и новее. Если у вас проблемы с настройкой вашей версии \emph{Emacs}, то
попробуйте перейти на более современные версии.

Для получения информации о пользовании и об общей настройки \emph{GNU Emacs}
можно обратиться ,,Руководству по \emph{GNU Emacs}`` русское издание которого
подготовлено \texttt{IPLabs Inc.} и \htmladdnormallink{АHО ,,Институтом логики,
  когнитологии и развития личности``}{http://www.logic.ru}. Есть электронная
версия этой книги, которую можно найти по адресу:
\htmladdnormallink{www.gnu.org.ru}{http://www.gnu.org.ru/emacs/emacs_toc.html}\,.


Для тех, кто совсем не знаком с \emph{Emacs}, неплохой идеей будет начать с
обучающей диалоговой программы. Чтобы вызвать её, следует запустить
\emph{Emacs} и набрать \texttt{C-h t}.


\emph{Совет:} При работе в среде \emph{X Window} для \emph{emacs} лучше всего
подойдут шрифты \texttt{lucidatypewriter} из коллекции шрифтов Болховитянова
\emph{Cyr-RFX} (См. раздел \ref{unix:CyrFontsXCyr-RFX}).






\section{Emacs и MULE}
\label{unix:emacs-mule}

\emph{MULE}~--- ,,MULtilanguage Emacs support``~--- это подсистема
\emph{emacs}, которая создана для возможности использования в этом редакторе
различных языков. Основным толчком для развития \emph{MULE} послужило желание
использовать китайские/японские и тому подобные языки~--- с этим, говорят,
проблем нет, а вот по поводу использования кириллицы мало что известно~---
попробуем разобраться.

Для правильной работы с \emph{Mule} необходимо

\begin{itemize}
\item Пакет emacs-leim. Этот пакет присутствует в
подавляющем большинстве известных дистрибутивов.
\item Русские шрифты в \emph{koi8-r} или \emph{iso5} кодировке (раздел
  \ref{unix:CyrFontsXCyr-RFX}).
\end{itemize}

Для кириллизации \emph{Emacs} в \texttt{.emacs} следует добавить следующие
строчки:

\lstset{showspaces=false}
\begin{lstlisting}[language=Lisp,caption={Часть .emacs отвечающая за кириллицу},label=list:cyremacs]
;;  кириллизация через mule - переключалка "Ctrl+\" 
;; требуется liem  
(set-language-environment "Cyrillic-KOI8")

;; клавиатура и терминал могут быть в кодировке
;; отличной от koi8-r 
(set-terminal-coding-system 'koi8-r)
(set-keyboard-coding-system 'koi8-r)

;; Добавляет возможность копирования в Emacs
;; из X Window кириллических символов (хак)
(set-selection-coding-system 'compound-text-with-extensions)

;; Подстановка шрифтов cyr-rfx
(cond (window-system
 (create-fontset-from-fontset-spec 
 "-rfx-courier-medium-r-*-*-18-*-*-*-*-*-fontset-Evgueni" t)
 ;; по умолчанию
 (set-default-font "fontset-Evgueni")
 ;; по умолчанию для фреймов
 (add-to-list 
   'default-frame-alist '(font . "fontset-Evgueni")
)))
\end{lstlisting}

Всё. Теперь самое главное это отучиться пользоваться системным переключателем
раскладки клавиатуры~--- \emph{Emacs} всё делает сам. По умолчанию
переключатель раскладки клавиатуры повешен на \texttt{C-\bs}\footnote{Как не
  странно~--- это довольно удобно.}.

 

Чтобы раскладка соответствовала раскладке русских букв на виндовых (а теперь
таких большинство) клавиатурах, можно добавить ещё следующие
строки\footnote{Клавиша <<\bs|>> \(\rightarrow\) <<\bs/>> при переключения
  регистра (для моего удобства). Вы сами таким образом можете создать любую
  раскладку.}:

\begin{lstlisting}[language=Lisp,caption={Часть .emacs отвечающая за раскладку
 клавиатуры},label=list:emacskbd]
(quail-define-package
 "cyrillic-jcuken" "Cyrillic" "RU" nil
 "ЙЦУКЕH keyboard layout widely used in Russia"
 nil t t t t nil nil nil nil nil t)
\end{lstlisting}
\begin{verbatim}
(quail-define-rules
 ("1" ?1) ("2" ?2) ("3" ?3) ("4" ?4) ("5" ?5) 
 ("6" ?6) ("7" ?7) ("8" ?8) ("9" ?9) ("0" ?0) 
 ("-" ?-) ("=" ?=) ("`" ?ё) ("q" ?й) ("w" ?ц) 
 ("e" ?у) ("r" ?к) ("t" ?е) ("y" ?н) ("u" ?г) 
 ("i" ?ш) ("o" ?щ) ("p" ?з) ("[" ?х) ("]" ?ъ) 
 ("a" ?ф) ("s" ?ы) ("d" ?в) ("f" ?а) ("g" ?п) 
 ("h" ?р) ("j" ?о) ("k" ?л) ("l" ?д) (";" ?ж) 
 ("'" ?э) ("\\" ?\\) ("z" ?я) ("x" ?ч) ("c" ?с)
 ("v" ?м) ("b" ?и) ("n" ?т) ("m" ?ь) ("," ?б) 
 ("." ?ю) ("/" ?.) ("!" ?!) ("@" ?\") ("#" ?#) 
 ("$" ?\;) ("%" ?%) ("^" ?:) ("&" ??) ("*" ?*) 
 ("(" ?() (")" ?)) ("_" ?_) ("+" ?+) ("~" ?Ё)
 ("Q" ?Й) ("W" ?Ц) ("E" ?У) ("R" ?К) ("T" ?Е) 
 ("Y" ?H) ("U" ?Г) ("I" ?Ш) ("O" ?Щ) ("P" ?З) 
 ("{" ?Х) ("}" ?Ъ) ("A" ?Ф) ("S" ?Ы) ("D" ?В) 
 ("F" ?А) ("G" ?П) ("H" ?Р) ("J" ?О) ("K" ?Л) 
 ("L" ?Д) (":" ?Ж) ("\"" ?Э) ("|" ?/)("Z" ?Я) 
 ("X" ?Ч) ("C" ?С) ("V" ?М) ("B" ?И) ("N" ?Т) 
 ("M" ?Ь) ("<" ?Б) (">" ?Ю) ("?" ?,)
)
\end{verbatim}



\section{X-ресурсы}
\label{unix:emacs-resources}


Для настройки интерфейса emacs полезно воспользоваться механизмом X-ресурсов.
Для кириллизации меню и для задания геометрии окна emacs в файл можно
\texttt{.Xdefaults} прописать следующие строки\footnote{Перевод строки за \bs
  вставлен только для удобства форматирования, его и \bs следует убрать}:

\begin{verbatim}
Emacs.pane.menubar.font: 8x16
Emacs.pane.menubar.*.fontlist: \
           -rfx-courier-medium-r-*-*-18-*-*-*-*-*-koi8-r
Emacs.geometry: 86x51+0+0
\end{verbatim}

Шрифты и геометрию следует подобрать согласно вашим требованиям.


\section{auctex}
\label{unix:auctex}

\begin{lstlisting}[language=Lisp,caption={auctex конфигурация в .emacs}]
;;====================================
;;                 LaTeX
;;====================================
;;
;; auctex - очень круто !!! - LaTeX, однако
;;
;; Если текст разбит на несколько частей, то во всех файлах 
;;следует добавить строчку типа:
;;% -*- mode: latex; TeX-master: "<Главный файл>"; -*-
;;
(require 'tex-site)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)


;; Переопределение функции из font-latex.el (auctex)
;; для того, чтобы правильно выделялись русские ,,кавычки`` 
(defun font-latex-match-quotation (limit)
  "Used for patterns like:
``this is a normal quote'' and these are multilingual 
quoted strings: ,,russian``, \"< french \"> and \"`german\"' 
quotes, << french >> and 8-bit french."
  (when (re-search-forward
         (eval-when-compile
           (concat "\\(,,\\)\\|\\(``\\)\\|\\(\"<\\)\\|"
                   "\\(\"`\\)\\|\\(<<\\)\\|"
                   "\\(" (char-to-string 171) "\\)")) ; An 8-bit "<<"
         limit t)
    (let ((beg (match-beginning 0)))
      (search-forward
       (cond ((match-beginning 1) "``")
             ((match-beginning 2) "''")
             ((match-beginning 3) "\">")
             ((match-beginning 4) "\"'")
             ((match-beginning 5) ">>")
             ((match-beginning 6) 
             (eval-when-compile (char-to-string 187))))
       limit 'move)
      (store-match-data (list beg (point)))
      t)))

;; Автовставка кавычек по нажатию клавиши " 
(setq TeX-open-quote ",,")
(setq TeX-close-quote "``")

\end{lstlisting}



\section{reftex}
\label{unix:reftex}


\begin{lstlisting}[language=Lisp,caption={reftex конфигурация в .emacs}]
;;
;; reftex - ref, labels и т.д. в LaTeX
;;
;; with AUCTeX LaTeX mode
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)   
;; with Emacs latex mode
;(add-hook 'latex-mode-hook 'turn-on-reftex)   
;;plug in AucTex
(setq reftex-plug-into-AUCTeX t)   
\end{lstlisting}


\section{preview-latex}
\label{unix:preview-latex}

Требуется версия \emph{auctex} \(\geqslant\) 11.4 и
версия \emph{Emacs} \(\geqslant\) 21.4 скомпилированная с поддержкой
\emph{png} формата.

\begin{lstlisting}[language=Lisp,escapechar=|,
caption={preview-latex конфигурация в .emacs}]
(setq load-path (append load-path 
                '("|<<путь до preview-latex>>|")))
(autoload 'LaTeX-preview-setup "preview")
(add-hook 'LaTeX-mode-hook #'LaTeX-preview-setup)
\end{lstlisting}

\section{flyspell-mode}
\label{unix:flyspell-mode}

Автоматическая проверка правописания\footnote{Hеправильно набранные
  слова выделяются цветом.} и не смотря на то, что всегда готовый
документ следует проверить с помощью \emph{ispell} (раздел
\ref{unix:CyrSpell}) от начала и до конца (команда \texttt{M-x
  ispell-buffer}), постоянная проверка помогает.

Для того чтобы добавить автоматическую проверку ко всем текстовым
файлам\footnote{У \emph{Emacs} существует список типов файлов, которые
относятся к текстовым.} в \texttt{.eamcs} следует добавить строчку.

\begin{lstlisting}[language=Lisp,caption={Включение flyspell-mode в .emacs}]
(add-hook 'text-mode-hook 'flyspell-mode)
\end{lstlisting}


\section{Подсветка синтаксиса}
\label{unix:font-lock}

\begin{lstlisting}[language=Lisp,escapechar=|,
caption={Hастройка font-lock в .emacs}]
;; Выбор стиля подсветки 
;;(ресурсов на такое дело не жалко)
(require 'font-lock)
(setq font-lock-mode-maximum-decoration t)
;; Включение всеобщей подсветки.
(if (fboundp 'global-font-lock-mode) 
                   (global-font-lock-mode t))
;; Подсветка выделенного блока 
(setq transient-mark-mode 't 
           highlight-nonselected-windows 't)

\end{lstlisting}

\chapter{Кириллические шрифты}
\label{unix:cyrfonts}
    
    На настоящий момент на рынке кириллических шрифтов
существует только один продавец~--- это ParaType.  Остальные (в том
числе и ,,свободные`` сайты типа Vedi или Litera) предлагают в основном
акцидентные шрифты, для набора текстов не пригодные. С ценами Paratype
можно ознакомится, естественно, на 
\htmladdnormallink{www.paratype.com}{http://www.paratype.com}
Однако при
отборе шрифтов надо очень внимательно прочитать лицензию и
договор\footnote{То есть, какие реально у вас будут права,
какие реально есть гарантии и какую реально поддержку и сопровождение
обеспечивает Paratype.}. Кроме того, необходимо
озаботиться грамотным подбором гарнитур для начертаний
\texttt{\bs rm}, \texttt{\bs sf},
\texttt{\bs sc}, \texttt{\bs tt } так, чтобы они были
совместны. Иначе можно было бы ограничиться ,,свободной Литературной``
от ParaType, но вопрос: откуда взять замену всем остальным ТеХовским
шрифтам?!


Так что лучше пользоваться стандартными шрифтами \emph{lh} Ольги Лапко (раздел
\ref{unix:CyrFontsLaTeXlh}). Относительно недавно появился полностью свободный
набор шрифтов Type1 \texttt{cm-super}, которые получены преобразованием из
\LaTeX-шрифтов (раздел \ref{unix:CyrFontsType1cm-super}). Возможно
шрифты \texttt{cm-super} являются самым перспективным решением.



\section{Шрифты Type1}
\label{unix:CyrFontsType1}

Современные Type1 фонты поддерживают \texttt{UNICODE} и содержат русские
символы с именами глифов типа ,,afii10049``.


К сожалению, многие приложения видят только первые 256 символов Type1 шрифта
(Latin1 или ISO\_8859-1).  Именно для таких приложений нужны ,,отхаканные"
шрифты, где в диапазоне 0-255 расположены символы \texttt{KOI8-R}. Взять можно,
например, с
\htmladdnormallink{ftp.kapella.gpi.ru}{ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/}.
Этот набор даже имеет необходимую часть для добавления к файлу
\texttt{Fontmap}.  Вы должны утянуть содержание каталога
\texttt{/pub/cyrillic/psfonts}. В файле README описываются все необходимые
подробности. ,,Нормальные`` Type1 шрифты есть в Adobe Type Manager (ATM) или в
поставке OS/2.


На сайте \htmladdnormallink{www.paratype.com}{http://www.paratype.com} можно
найти несколько бесплатных Type1 декоративных шрифтов~--- например, Pushkin.


\subsection{cm-super}
\label{unix:CyrFontsType1cm-super}

        Самый "молодой"  из рассматриваемых пакетов. В
будущем, вероятно, этот пакет будет базовым во всех дистрибутивах, так
как является свободным.

Пакет CM-Super состоит из Type 1 шрифтов, которые были получены с помощь
конвертации из EC/TC, ECC и LH шрифтов (Computer Modern font families). Пакет
включает \emph{ВСЕ} стандартные глифы, входящие в T1, TS1, T2A, T2B, T2C и
Adobe кодировки \LaTeX.

Пакет CM-Super можно взять на любом
\htmladdnormallink{CTAN}{ftp://ftp.dante.de/tex-archive/fonts/ps-type1/cm-super}
архиве или на
\htmladdnormallink{ftp.vsu.ru}{ftp://ftp.vsu.ru/pub/tex/font-packs/cm-super/}.
Для установки следует внимательно прочитать \texttt{README}.


\subsection{literat}
\label{unix:CyrFontsType1literat}

В 1996 году компания ParaGraph International и Russian Foundation for Basic
Research сделал шрифты literat доступными для бесплатного использования
(подробнее смотрите файл licence из самого пакета). По отзывам, начертание этих
шрифтов сильно отличается (причём далеко не в лучшую сторону) от того, что
изначально называлось ,,гарнитура литературная``\footnote{Старые математические
книжки 60-х годов.}~--- шрифт явно не доделан\footnote{Можно
посмотреть и ужаснуться, как выглядит слово ,,Где``.}, 
но в 99\% случаев результат вывода на печать вполне
удовлетворителен. Из-за своей лицензии огрехи шрифтов нельзя
поправить, поэтому для создания документа лучше использовать пакет cm-super
(раздел \ref{unix:CyrFontsType1cm-super}).

Сами шрифты доступны по адресу
\htmladdnormallink{ftp.vsu.ru}{ftp://ftp.vsu.ru/pub/tex/literat.zip}. Там
лежат и сами шрифты, и все, что надо для их использования с \LaTeX{} и PDF\LaTeX.

Для того, чтобы эти шрифты можно было использовать с \LaTeXом, следует достать
так же и пакет
\htmladdnormallink{literat-*.tar.gz}{ftp://ftp.vsu.ru/pub/tex/}~---
"виртуальные шрифты" для \LaTeX (T2A, OT1, T1 и TS1 кодировки).  Подробности по
установке смотрите в файле описания этого пакета.



\subsection{PSCYR}
\label{unix:CyrFontsType1PsCyr}

Набор шрифтов Type1 для работы с \texttt{TeX/LaTeX}.

Полное число представленных базовых начертаний на текущий момент более четырёх
десятков. Пакет поддерживается Александром Лебедевым, автором словаря для
проверки правописания, описанного в разделе \ref{unix:CyrSpellSwan}.


Коллекция состоит из двух архивных файлов (версия пакета может быть другой):
\texttt{PSCyr-x.x-type1.tar.gz}, содержащего собственно начертания глифов в
формате Type1 (файлы \texttt{*.pfb}) и их метрику и кернинг (файлы
\texttt{*.afm}), и \texttt{PSCyr-x.x-tex.tar.gz}, содержащего tfm и vf-файлы,
вектор кодировки T2A, определения шрифтов и стилевой файл для системы TeX,
список шрифтов для dvips, а также документацию.

 Пакет состоит из двух частей:
\begin{itemize}
\item PsCyr-type1-*.tar.gz~--- содержит шрифты Type 1 и их метрики.  В пакет
  включены гарнитуры: AcademyPSCyr, AntiquaPSCyr, Handbook\-PSCyr, CollegePSCyr,
  Lazurski, TimesNewRomanPSMT, ArialMT, Text\-book\-PSCyr, MagazinePSCyr,
  CourierNewPSMT, CurierPSCyr, Cooper\-PSCyr, AdvertisementPSCyr;
\item PsCyr-tex-*.tar.gz~--- tfm и vf-файлы, вектор кодировки T2A, определения
  шрифтов и стилевой файл для системы TeX, список шрифтов для dvips, а также
  документацию.
\end{itemize}



К первичному узлу PSCyr, можно получить доступ по
\htmladdnormallink{http}{http://scon155.phys.msu.su/pub/russian/psfonts/}, или
\htmladdnormallink{ftp}{ftp://scon155.phys.msu.su/pub/russian/psfonts/}
протоколу.  Официальное зеркало находится по адресу:
\htmladdnormallink{ftp.vsu.ru}{ftp://ftp.vsu.ru/pub/tex/font-packs/pscyr/}.




\subsection{sharatype}
\label{unix:CyrFontsType1sharatype}
        
Свободные шрифты от Сергея Шарашкина можно найти по адресу
\htmladdnormallink{ftp.ice.ru}{ftp://ftp.ice.ru/pub/fonts/type1/}.  Hачиная с
версии \texttt{2.0.4} в пакете появилось всё необходимое для использования этих
шрифтов в \TeX.



\section{Шрифты для \TeX/\LaTeX}
\label{unix:CyrFontsLaTeX}

При работе с \TeX/\LaTeX{} можно использовать Type1 шрифты~--- где их
можно найти, описано в разделе \ref{unix:CyrFontsType1}.

\emph{Внимание:} При использовании Type1 шрифтов в тексте, насыщенном
математическими символами, восприятие текста умеренно ухудшится. Математические
CM-шрифты не будут сочетаться с текстовыми шрифтами. Это утверждение не
относится к шрифтам \texttt{cm-super} (раздел \ref{unix:CyrFontsType1cm-super})
и в меньшей степени к шрифтам PsCyr (раздел \ref{unix:CyrFontsType1PsCyr}).

      В этом разделе описаны стандартные кириллические шрифты
\emph{\LaTeX}, которых хватает в 99.99\% случаев.


\subsection{lh}
\label{unix:CyrFontsLaTeXlh}



Лучшие кириллические шрифты всех времён и народов~--- кроме шуток.

Благодаря Ольге Лапко (Издательство Мир) мы имеем бесплатный шрифт, который
позволяет оформлять научные тексты с помощью \emph{\LaTeX}, совершенно не
заботясь о подборке шрифтов для формул/текста. Как правило, эти шрифты уже есть
в дистрибутиве \emph{\LaTeX}. Эти шрифты развиваются~--- в будущем обещают
новые начертания (относительно недавно обещали добавить Concreate~---
"Конкретная Математика"). Шрифты \emph{lh} всегда можно достать по следующим
адресам:
\begin{itemize}
\item \texttt{CTAN:fonts/cyrillic/lh}
\item \htmladdnormallink{ftp.vsu.ru/pub/tex/}{ftp://ftp.vsu.ru/pub/tex/}
\item  \htmladdnormallink{www.cemi.rssi.ru/cyrtug/files/cyremtex.98}{http://www.cemi.rssi.ru/cyrtug/files/cyremtex.98}
\item   \htmladdnormallink{www.cemi.rssi.ru/cyrtug/eng/news.htm}{http://www.cemi.rssi.ru/cyrtug/eng/news.htm}
\end{itemize}

Начиная с версии 3.20 \emph{LH} поддерживает стандартные кодировки \LaTeX{} T2
(раздел \ref{unix:LaTeX-T2}), кроме того, поддерживаются LCY, OT2 и др.


\section{Шрифты TrueType}
\label{unix:CyrFontsttf}
      
Сами шрифты ttf (Type42) впервые были предложены корпорацией Apple, но своего
наивысшего рассвета достигли с помощью компании Microsoft.

Несколько самых распространённых шрифтов, которые входят в стандартную поставку
M\$ Windows сама Microsoft выложила для бесплатного пользования. Причина по
которой эти шрифты распространялись через web страничку компании заключалась в
переходе на Unicode\footnote{В ранних версиях Windows шрифты для русской версии
  поставлялись в кодировке CP1251 и, соответственно, документы набранные в
  старом окружении требуют корректного преобразования, для отображения в среде
  UNICODE.} .  Летом 2002 года шрифты были убраны со web странички Microsoft.

Hа сегодня не существует сколько-нибудь полного свободного набора ttf шрифтов,
для качественной подготовки документов. То что есть годится только для
небольших простых документов, типа короткой деловой записки. Шрифты от
Microsoft являются наиболее распространёнными и поэтому если вам нужны именно
ttf шрифты\footnote{Это может потребоваться, если вы пользуетесь программой
  OpenOffice для совместимости с M\$ Word}, то другой альтернативы нет.
      
Лицензия с которой выкладывались ttf шрифты от Microsoft не запрещает их
выкладывать на других web страничках, что и было сделано на сайте
\htmladdnormallinkfoot{Microsoft's TrueType core fonts on
  linux}{http://corefonts.sourceforge.net/}. Однако, как долго продлится
подобное состояние не известно.

Шрифты лежат в архивах. По лицензии EULA их запрещено модифицировать, но не
запрещено распаковывать. Для распаковки следует воспользоваться утилитой
\texttt{cabextract}. В некоторых дистрибутивах\footnote{Hапример в
дистрибутиве Debian, ALT.} существуют специальные пакеты-обвязки, с
помощью которых вы сами можете собрать установочные пакеты для частного
пользования.

\emph{Если есть возможность, то следует отказываться от использования ttf в пользу
Type1, например, в пользу пакета \texttt{cm-super} (раздел
\ref{unix:CyrFontsType1cm-super}). Есть гораздо более удобные способы обработки
текста чем с помощью редакторах типа M\$ Word}



\section{Шрифты для X Window}
\label{unix:CyrFontsX11}

В этом разделе перечислены наиболее часто встречающиеся растровые шрифты.

Кроме растровых шрифтов, в X Window можно использовать Type1 Postcript шрифты
(раздел \ref{unix:CyrFontsType1}).  Правда, Type1 шрифты не стоит
использовать как терминальные (обычно в этих шрифтах отсутствуют необходимые
для этого символы), но в некоторых случаях они предпочтительнее, так как
являются масштабируемыми.



\subsection{Cyr-RFX}
\label{unix:CyrFontsXCyr-RFX}
        
Hаиболее эргономичные, на текущие момент, кириллические шрифты для X Window~---
это шрифты из проекта \texttt{Cyr-RFX} Дмитрия Болховитянова:
\htmladdnormallinkfoot{www.inp.nsk.su/${}^\sim$bolkhov}{http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/}.
Его шрифты предлагаются для \emph{всех} используемых кодировок кириллицы.

\emph{Hастоятельно рекомендуется для использования в качестве базового набора.}

\subsection{European}
\label{unix:CyrFontsXEuropean}
        
        Очень благородные ,,исовые``  шрифты можно взять на
любом зеркале GNU в каталоге \texttt{intlfonts}, например,
\htmladdnormallinkfoot{European.tar.gz}{ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz}. Debian они уже есть.

В качестве базового набора рекомендуется использовать шрифты \texttt{cyr-rfx}
(раздел \ref{unix:CyrFontsXCyr-RFX}).



\chapter{Вспомогательные программы}
\label{unix:CyrProg}

\section{Проверка правописания}
\label{unix:CyrSpell}



Для проверки правописания обычно используется программа \emph{GNU ispell}.
Она имеет очень гибкие настройки и возможности для расширения.  Её можно
использовать при проверке правописания текстов, написанных на языках, отличных
от английского, путём добавления новых \emph{словарей}.

В идеальном случае, когда ваш \texttt{ispell} установлен правильно, вам надо
только создать словарь, используя команды, обеспечиваемые файлом
\texttt{Makefile} из дистрибутива соответствующего словаря. Однако с некой
долей вероятности у вас возникнут проблемы с \texttt{ispell}, который откажется
понимать 8-ми битные данные. Это означает, что в вашей системе \texttt{ispell}
скомпилирован без поддержки 8-ми битных символов. В этом случае вам не удастся
избежать перекомпиляции пакета \texttt{ispell}.

Если у вас все нормально, то можете инициировать проверку правописания для
русских текстов путём вызова программы \texttt{ispell} с опцией 
\texttt{'-d  russian'}


Последняя версия \texttt{ispell} имеет номер 3.1.20.  При желании пакет можно
взять здесь
\htmladdnormallink{ftp.cs.ucla.edu}{ftp://ftp.cs.ucla.edu/pub/ispell-3.1/ispell-3.1.20.tar.gz}
или найти на любом крупном ftp-сервере.  При самостоятельной компиляции
\texttt{ispell} надо скопировать \texttt{local.h.samp} в \texttt{local.h},
закомментировать в нем \emph{NO8BIT} (\texttt{\# undef NO8BIT}) и установить
правильные пути для \texttt{BINDIR}, \texttt{LIBDIR} и других рабочих
директорий.



\subsection{Словарь Александра Лебедева}
\label{unix:CyrSpellSwan}

Этот словарь построен на основе словаря русского языка для \texttt{ispell},
первоначально составленного Нилом Далтоном (Neal Dalton) в 1992 г.  После
тщательной проверки и исправления примерно 4000 ошибок в словаре Нила Далтона
(в этой части работы использовался орфографический словарь русского языка,
выпущенный Институтом русского языка АН СССР), в словарь были добавлены
отсутствовавшие в нём правила образования форм существительных, прилагательных,
причастий, наречий, изменены правила формирования окончаний глаголов, так что
affix-файл можно считать переписанным заново.  Одновременно в словарь было
добавлено большое число слов.

Словарь постоянно совершенствуется, дополняется и корректируется.  Последнюю
версию словаря можно найти на сервере:
\htmladdnormallinkfoot{mch5.chem.msu.su}{ftp://mch5.chem.msu.su/pub/russian/ispell/rus-ispell.tar.gz}.

Как можно понять из названия раздела, автором этого словаря является
\htmladdnormallink{Александр Лебедев}{mailto:swan@mch.chem.msu.su}.

  
  \emph{Внимание:} Отличительной чертой данного словаря является то, что
  начиная с версии 0.99c0 в него включена полноценная поддержка буквы ,,ё``
  (другие словари просто заменяют букву ё на букву е).




\begin{thebibliography}{10}
  
\bibitem{Cyrillic-HOWTO-russian} 
\emph{Балдин Е.М.}  \newblock
\htmladdnormallink{Cyrillic HOWTO (russian)}
{http://www.inp.nsk.su/~baldin}

\bibitem{Stolmen-emacs}
\emph{Ричард Столмен}
\newblock Руководство по GNU Emacs
\newblock тринадцатая редакция, обновлено для Emacs версии 20.4
\newblock перевод H. Ю. Иванов, А. Я. Отт, О. С. Тихонов
\newblock Издание подготовлено IPLabs Inc. и АHО ,,Институт логики,
когнитологии и развития личности`` 1999

\bibitem{Gossens-latex}
\emph{М. Гуссенс, Ф. Миттелбах, А. Самарин}
\newblock Путеводитель по пакету \LaTeX и его расширению \LaTeXe.
\newblock Издательство ,,Мир``, 1999.

\bibitem{Kotelnikov-latex}
\emph{И. Котельников, П. Чеботаев}
\newblock Издательская система \LaTeXe.
\newblock Сибирский хронограф, Новосибирск, 1998

\bibitem{latexweb}
\emph{М. Гуссенс С. Ратц} 
\newblock Путеводитель по пакету \LaTeX и его Web-приложениям.
\newblock Издательство ,,Мир``, 2001.

\bibitem{russian-style}
\emph{М. Ю. Колодин} 
\newblock \textbf{Русский стиль} или Hовейшие рекомендации для
современных российских электронных типографий.  
\newblock Местоположение документа:
\htmladdnormallink{cyrtex.da.ru}{http://cyrtex.da.ru/}

\bibitem{fido7-TeX-FAQ}
\emph{М. Ю. Колодин}
\newblock TeX FAQ эхо-конференции FIDO RU.TEX.
\newblock Местоположение документа:
\htmladdnormallink{cyrtex.da.ru}{http://cyrtex.da.ru/}


\bibitem{Lvovskij-LaTeX-3}
\emph{Сергей Львовский}
\newblock \LaTeXe{}
\newblock Вариант 3его издания.
\newblock Будет издано в конце 2002 года.

\end{thebibliography}

%\backmatter
% Заключительная часть
\end{document}


;; Save positions in files between sessions
(require 'saveplace)
(setq-default save-place t)




;; Автовставка для пустого TeX файла
;;"% -*- mode: latex; TeX-master: \""
;;              (file-name-nondirectory f-name)
;;              "\"; -*-\n"
;;                "%Created: " (current-time-string) "\n"
(add-hook 'find-file-not-found-hooks 'AutoInsertLaTeXHeader)
(defun AutoInsertLaTeXHeader ()
  (let ((f-name (buffer-file-name)))
    (if (string-match "\\.tex$" f-name)
        (insert "\\documentclass[12pt]{article} \n"
                "%<-- A5 paper\n"
                "%\\documentclass[12pt,a5paper]{article} \n"
                "%A5 Book making:\n"
                "%dvips -T 14.8cm,21.0cm [infile] | psbook | psnup -Pa5 -pa4 -2\n"
                "%-->\n"
                "\n%<-- My T2A encoding\n"
                "\\usepackage[warn]{mathtext}\n"
                "\\usepackage[T2A]{fontenc}\n"
                "\\usepackage[koi8-r]{inputenc}\n"
                "\\usepackage[english,russian]{babel}\n"
                "\\usepackage{indentfirst}%first paragraph indent\n"
                "%\\usepackage{literat} %for pdflatex\n"
                "\\usepackage{graphicx}\n"
                "\\usepackage{amssymb}\n"
                "\\usepackage{amsmath}\n"
                "\\usepackage{floatflt}\n"
                "\\usepackage{wrapfig}\n"
                "\\usepackage{afterpage}\n"
                "% : -> . in caption \n"
                "\\usepackage[centerlast,small]{caption2}\n"
                "\\renewcommand{\\captionlabeldelim}{.}\n"
                "\\usepackage{xspace}\n"
                "\n"
                "%backslash\n"
                "\\newcommand{\\bs}{\\symbol{'134}}\n"
                "%degree\n"
                "\\newcommand{\\grad}{\\ensuremath{{}^{\\circ}}\\xspace}\n"
                "\n%\\textwidth 165mm\n"
                "%\\textheight 230mm\n"
                "%\\topmargin -10mm\n"
                "%\\oddsidemargin 0mm\n\n"
                "\\begin{document}\n\n\n"
                "%\\begin{thebibliography}{9}\n"
                "%\\bibitem{}\n"
                "%\\newblock\n"
                "%\\end{thebibliography}\n"
                "\\end{document}\n"
                ))))

;;==========================================














\subsection{Paradissa}
\label{unix:CyrFontsType1Paradissa}

\htmladdnormallink{Василий К. Малышев}{mailto:malyshev@mx.ihep.su} в 1993 году
выложил набор кириллических шрифтов при условии отсутствия модификации пакета
(подробности смотри в лицензии пакета).  Сам пакет можно найти в любом архиве
\htmladdnormallink{CTAN}{ftp://ftp.dante.de} в директории
\texttt{fonts/cm/ps-type1/paradissa}. Василий К. Малышев известен как автор
популярного коммерческого дистрибутива \LaTeX{} под win32 BaKoMa\TeX.
        
Пакет Paradissa имеет некоторые технические "опечатки", которые можно исправить
с помощью простого скрипта \emph{`corr-cmc.sh'}, приведённого ниже.  Скрипт
использует утилиты \texttt{t1disasm} и \texttt{t1asm} из пакета
\texttt{t1utils}.

\begin{lstlisting}[language=csh]
#!/bin/sh

for i in cmc*.pfb; do

t1disasm $i | awk '
        /^\/Subrs [0-9]* array$/ {s=1}
        /^readonly def$/ && s {print "|-";s=0;next}
        /^\/.notdef {$/ {while ($0 !~ /} |-$/) {getline}
        printf "/.notdef {\n\t0 0 hsbw\n\tendchar\n"}
        {print}
' | t1asm -b > .temp

rm -f $i
mv -f .temp `echo $i | sed 's,\(cmc.....\).\.pfb,\1.pfb,'`

done
\end{lstlisting}


Из-за своей несвободной лицензии вместо шрифтов Paradissa лучше использовать
пакет cm-super (раздел \ref{unix:CyrFontsType1cm-super}).



\subsection{LucidaSO}
\label{unix:CyrFontsType1LucidaSO}

Благодаря свободно распространяемому дистрибутиву StarOffice 5.2 стали доступны
шрифты LucidaSO (версия 0.1 от 13 августа 2000).

        Эти шрифты можно найти по адресу: \htmladdnormallink{ftp://ftp.vsu.ru/pub/tex/font-packs/lucidaso/}{ftp.vsu.ru}. Там
лежат и сами шрифты, и все, что надо для их использования с \LaTeX{} и
PDF\LaTeX.

В пакет входит три шрифтовые гарнитуры: LucidaSans, LucidaType и LucidaBright
(всего 32 шрифта type1). Поддерживаются следующие кодировки TeX: T1, TS1, OT1,
T2A. Кириллические шрифты содержатся только в LucidaSans и LucidaType. Всего
есть 70 начертаний.

Виртуальные шрифты созданы с использованием \texttt{fontinst v1.914}.Для
инсталляции шрифтов в teTeX (См. раздел \ref{unix:LaTeX-teTeX})
выполните следующие действия:

\begin{itemize}
\item распакуйте tar-gz файл \texttt{lucidaso-type1-<date>.tar.gz} в директорию
  \emph{texmf};
\item распакуйте tar-gz файл \texttt{lucidaso-tex-<date>.tar.gz} в директорию
  \emph{texmf}.  \emph{Внимание:} при распаковки могут затереться TFM и VF
  файлы Lucida шрифтов, которые являются частью дистрибутива teTeX;
\item добавьте в скрипт \texttt{updmap} запись для \texttt{lucidaso.map};
\item выполните \texttt{updmap} для перегенерации map файлов;
\item для того, чтобы просмотреть документацию/примеры, загляните в директорию
  \texttt{texmf/doc/latex/lucidaso/}.
\end{itemize}

        В случае возникновения комментариев, вопросов и ,,bug
reports``, свяжитесь с автором пакета Владимиром Воловичем по
электронной почте \htmladdnormallink{TeX@vvv.vsu.ru}{htmlto:TeX@vvv.vsu.ru}.






\section{Работа с Washington Cyrillic}
\label{unix;WashingtonCyrillic}


Этот пакет был создан для Американского Математического Общества, чтобы дать
возможность создавать документы со ссылками на первоисточники на русском.
Следовательно, авторы не очень ,,напрягались`` при создании этого пакета, и
шрифты в результате этого выглядят довольно неуклюже.  Обычно этот пакет
упоминается как \emph{"по настоящему плохой пакет кириллицы для \TeX"}.

Однако мы обсудим его, так как он очень прост в использовании и
не требует установки~--- этот набор содержится в большинстве
дистрибутивов \TeX.

Конечно, у вас не будете такой роскоши, как автоматическая
расстановка дефисов, но всё равно\ldots



\begin{lstlisting}[language=TeX]
\input cyracc.def
\font\tencyr=wncyr10
\def\cyr{\tencyr\cyracc}
\end{lstlisting}

Теперь, чтобы напечатать символы кириллицы, вставьте \texttt{\bs cyr} для печати
используйте соответствующий латинский символ или команду \TeX.  То есть строчные
буквы русского алфавита соответствуют следующим сочетаниям:



\begin{verbatim}
a b v g d e \"e zh z i {\u i} k l m n o p r s t u f 
kh c ch sh shch {\cprime} y {\cdprime}  \`e yu ya
\end{verbatim}

Чрезвычайно сложно преобразовывать ваши русские тексты в такую кодировку, но вы
можете автоматизировать этот процесс.  Программа \texttt{translit} поддерживает
опцию вывода \TeX.


\subsection{Texinfo}
\label{unix:LaTeX-T2-texinfo}

Чтобы кириллицу можно было использовать с \emph{texinfo} следует
воспользоваться пакетом \emph{cyrplain} (См. раздел \ref{unix:LaTeX-T2}).

