\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} {\Huge \texttt{rusnat.bst} is now deprecated, use \textsf{bibtex8} / \textsf{bibtexu} with \texttt{gost} bibliography style files!} \maketitle Стиль должен использоваться вместе с пакетом \texttt{natbib}, поскольку представляет собой модификацию \texttt{plainnat.bst}. Автор ставил целью создание двуязычной (а на самом деле многоязычной "--- ведь пишем же <>), принятой в России, библиографии. Поэтому пришлось удалить все вставляемые по-английски подстроки, кроме <>. Это значит, что \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}-часть; писать же <> можно только после двух фамилий, и не в русской части библиографии, поскольку вставляется <>. \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}