\documentclass{article}
\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

\author{А.\,Б.\,Шипунов\footnote{e-mail: \texttt{plantago at herba.msu.ru}}}
\title{\texttt{rusnat.bst},\\
русский стиль для библиографии}
\date{}

\begin{document}
\maketitle

Стиль должен использоваться вместе с пакетом \texttt{natbib}, поскольку представляет собой модификацию \texttt{plainnat.bst}.

Автор ставил целью создание двуязычной (а на самом деле многоязычной "--- ведь пишем же <<Hf. 2>>), принятой в России, библиографии. Поэтому пришлось удалить все вставляемые по-английски подстроки, кроме <<et al.>>. Это значит, что \textbf{В BIB-ФАЙЛ НУЖНО ВСТАВЛЯТЬ НАЗВАНИЯ ВСЕХ ЧАСТЕЙ ССЫЛКИ}, то есть писать: \verb|\No~1|, \verb|Vol. 2|, \verb|С.~54--55|. Это приводит к определенной \textbf{несовместимости} подготовленных таким образом bib-файлов с другими стилями, вставляющими подстроки, и, наоборот, <<чужих>> \texttt{bib}-файлов с \texttt{rusnat}. 

\bigskip

Выходы: 

\begin{enumerate}

\item редактировать \texttt{bbl}- или \texttt{bib}-файл; 

\item пользуясь другими стилями, убирать подстроки из английской части библиографии; 

\item переделывать остальные стили на этот же манер; 

\item определить поле \texttt{language} и с десяток функций, которые, в зависимости от значения поля, вставляли бы разные подстроки (хотя бы на английском, немецком и русском языках). Нечто в этом роде сделано в пакете \texttt{gost}. Пример:

\begin{verbatim}
FUNCTION {volume.lang}
 { language "russian" =
 { "Т.~" }
 { language "german" =
  { "Bd~" }
  { "Vol.~" } % if NOT `russian' OR `german', e.g. empty
  if$
  }
 if$
}
\end{verbatim}

\item Использовать альтернативные пакеты "--- \texttt{ryssify} М. Колодина\\
(\texttt{http://www.tutor.nsu.ru/tex/BibTeX}) или уже упомянутый \texttt{gost} М. Полякова (\texttt{CTAN}).

\item Перейти на \texttt{latexbib} (\texttt{CTAN}), стили к которому можно написать значительно быстрее, поскольку они основаны на языке \LaTeX, а не на языке Bib\TeX. Эта возможность автором не исследовалась.

\end{enumerate}

\section*{ОСОБЕННОСТИ}

\begin{itemize}

\item убраны вставляемые подстроки (см. выше);

\item убраны сокращения названий журналов;

\item изменены на римские цифры сокращения названий месяцев;

\item убраны все \verb|change.case$|;

\item добавлен новый тип записи \texttt{WWW}: обязательное поле \texttt{url} (из стилей \texttt{HARVARD}); необязательные поля: \texttt{author}, \texttt{title}, \texttt{date}, \texttt{note};

\item записи типа \texttt{TECHREPORT}, \texttt{BOOKLET}, \texttt{PHDTHESIS}, \texttt{MASTERTHESIS}, \texttt{MANUAL} и \texttt{PROCEEDINGS} приравнены к \texttt{BOOK}.

\end{itemize}

Согласно ГОСТ 7.1-84:

\begin{itemize}

\item добавлены нужные разделительные знаки (\verb|/|, \verb|//|, точка и пр.), поэтому точки в конце полей не нужны (кроме сокращений);

\item добавлено новое поле \texttt{responsible} (<<сведения об ответственности>> по ГОСТ), куда надо писать редакторов, учреждения и пр.;

\item поля \texttt{editor}, \texttt{organization}, \texttt{school} и \texttt{institution} в этой связи \textbf{не поддерживаются};

\item добавлено поле \texttt{part}, которое идет через запятую после тома (если он есть) в \texttt{BOOK}, \texttt{INBOOK}, \texttt{INCOLLECTION} и \texttt{INPROCEEDINGS};

\item в этих же типах записи можно не писать издательство; 

\item в этих же типах записи \texttt{series} идут в скобках в конце;

\item в этих же типах записи и в \texttt{ARTICLE} нужно, а в \texttt{MISC} можно писать страницы;

\item в \texttt{ARTICLE} должен быть либо \texttt{volume}, либо \texttt{number};

\item в \texttt{ARTICLE} можно писать \texttt{series}, которая вставляется после названия журнала без скобок.

\end{itemize}

\section*{МАЛЕНЬКИЕ ХИТРОСТИ}

\begin{verbatim}
@Article{...
  author =  "Д. Д. и др. Соколов",
      % или еще хитрее:
  author =  "и др. Соколов, {\rm (мл.)}, Д. Д.",
\end{verbatim}

<<и др.>> воспринимается как \texttt{von}-часть, \verb|{\rm (мл.)}| как \texttt{Jr}-часть; писать же <<and others>> можно только после двух фамилий, и не в русской части библиографии, поскольку вставляется <<et al.>>.

\begin{verbatim}
@Book{...
 title =   "Атлас ареалов и ресурсов лекарственных растений СССР",
 key =     "Атлас...",
\end{verbatim}

Когда нет ни автора, ни редактора, то для того, чтобы получилось\\
\verb|\bibitem[Атл(1983)Атлас...]| в тексте надо пользоваться \verb|\citep*| или\\
\verb|\citet*|. Эти же команды, в отличие от оригинального \texttt{natbib}, вызывают полный список авторов с инициалами:  вместо <<Серебряков, 1960>> "--- <<И. Г. Серебряков, 1960>>.

\begin{verbatim}
@Book{...
 year =    "в печати",
 ... % или
 year =    "1998, в печати",
\end{verbatim}

Для выделения имен авторов используется команда \verb|\EM|, которая здесь по умолчанию определена как \verb|\em|. Можно написать в преамбуле tex-файла \verb|\def\EM{}| или \verb|\def\EM{\scshape}|.

Можно пользоваться также командой \verb|\RNtxt|, определенной как \verb|\relax|, поэтому, если нужно, чтобы что-то записывалось перед всеми ссылками, надо определить ее до \verb|\bibliography|. Например: 

\begin{verbatim}
\def\RNtxt{\item[] Мое предисловие.}
\end{verbatim}

(\verb|\item[]| нужен обязательно!).

Для \texttt{WWW}: тильда (\texttt{~}) "--- это \verb|{\char"7E}|.

Этот стиль умеет писать вещи типа <<1998a>>, <<1998b>> и т.д.  Однако в русской части библиографии надо писать кириллицей: <<1998а>>, <<1998б>> и т.д. Выход: в русской части помечать годы вручную либо пользоваться \verb|\nosort| (см. ниже). Можно вообще отменить это в тексте библиографии, написав:

\begin{verbatim}
\def\RNtxt{\def\natexlab##1{\relax}}\begin{verbatim}
\end{verbatim}

Если в преамбуле или стилевом пакете написать \verb|\def\nosort#1{\relax}|, а в bib-файле пометить ссылки на одного автора таким образом:

\begin{verbatim}
%%   author =  "А. Б. {Шипунов\nosort{z}}",
\end{verbatim}

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

\end{document}
