Все началось с того, что я подсел на emacs. Путь юного джедая был долог и тернист, но в конце концов я вынужден был согласиться, что да, иногда emacs оказывается эффективнее, чем другие редакторы и IDE. И что если уж подсел — то все, организм начинает отторгать все остальное. Не иначе как специальный гормон начинает вырабатываться, вызвающий эйфорию при пользовании emacs и депрессию вместе с неконтролируемыми вспышками гнева — во всех остальных случаях. А уж какие ощущения емаксист испытывает при редактировании своего ~/.emacs, не стоит даже и пытаться описывать…
Нет, конечно, с первого раза он мне не понравился. И со второго, и с третьего тоже. Но я был настойчив, потому что хотел убедиться, что все эти странные люди со Столлманом во главе ошибаются. Наивный… Майн готт, я даже нашел людей, которые пользуются emacs в Windows! Теперь я могу их понять. Чем дальше, тем меньше хочется переключаться в другое окно. Нужна оболочка — пожалуйста, M-x shell. Почту почитать — сколько угодно, rmail-mode. С файлами и каталогами поработать — вот, извольте, C-x d. Рисунок нарисовать, PDF посмотреть, по Интернету посерфить… Ах да, в нем еще можно редактировать текст (вот ведь приятная неожиданность)! В результате ловишь себя на мысли, что и Linux в общем-то не очень нужен, и только зря жрет ресурсы.
Но падаван вырос, и настало ему время заняться поддержкой многострадальной отечественной науки. Наука у нас в стране, говоря откровенно, каким-то парадоксальным образом существует отдельно от занимающихся ею ученых, в своеобразной параллельной реальности. Оцените: ВАКовский журнал требует предоставлять публикации в формате Word, и чтоб не более 5 страниц. Вместе с иллюстрациями и библиографией. Видели когда-нибудь нормальную научную статью из 5 страниц? Найдете — покажите мне. А уж статей, качественно сверстанных в Word, — днем с огнем; большинство просто не в курсе про такую вещь, как стили. Но я на поводу у толпы не иду и как правильный апологет CS все пишу исключительно в (La)TeX. Потом как-нибудь через ODF и MathML сконвертирую, если припрет.
Но что-то меня сегодня понесло на отвлеченные темы болтать, пора бы перейти к делу. Так вот, поскольку emacs теперь мой дом родной, то AUCTeX — просто-таки домашние тапочки, основная работа происходит именно в нем. Но какой же научный текст без библиографии? Вот и пришлось искать некий редактор BibTeX-файлов, встроенный в emacs (кто не в курсе, про что вообще речь и зачем он нужен, почитайте обзор BibTeX от Дебианщика). Таковым редактором оказался ebib. Это не режим никакой, а полноценное elisp-приложение, вроде Gnus.
ebib прост, как пятак. Для начала в ~/.emacs записываем строчку:
(autoload 'ebib "ebib" "Ebib, a BibTeX database manager." t)
Теперь запускаем его по M-x ebib, видим два буфера: верхний (индексный, index buffer) и нижний (буфер записи, entry buffer). В индексном буфере отображается список ключей всех записей в bib-базе. При выборе одного из ключей в буфере записи отображаются поля, описывающие соответствующий библиографический источник.

Я не буду подробно и по шагам описывать, как именно пользоваться ebib — дело нехитрое. Лучше приведу небольшой набор наиболее полезных привязок:
- o —открыть (создать) bib-файл;
- q —выйти из ebib совсем (в индексном буфере) или завершить редактирование записи (в буфере записи);
- z — отправить ebib на задний план, без закрытия файла (вернуть обратно опять по M-x ebib);
- a — добавить запись;
- e — редактировать запись (в индексном буфере) или поле (в буфере записи);
- E —изменить ключ записи;
- C-x b —завершить редактирование многострочного поля;
- c, x, y —copy, cut, yank;
- s — сохранить файл;
- w — сохранить файл в другое место;
- / — поиск в базе по регулярному выражению;
- P — сформировать файл с таблицей всех записей в базе (мегаудобная штука!).
Теперь о самом главном — об интеграции с LaTeX-mode. Это происходит с двух сторон. Если мы редактируем tex-файл (то есть, находимся в LaTeX-mode), то в нашем распоряжении есть две замечательные функции:
- ebib-insert-bibtex-key — в позицию курсора вставляется ссылка на источник, ключ которого мы зададим в минибуфере (при этом работает автодополнение!);
- ebib-entry-summary — отобразить информацию о цитате, на которой находится курсор.
По умолчанию эти функции не закреплены за клавиатурными комбинациями, поэтому рекомундую сразу дописать в ~/.emacs следующее:
(add-hook 'LaTeX-mode-hook #'(lambda () (local-set-key "\C-cb" 'ebib-insert-bibtex-key)))
(add-hook 'LaTeX-mode-hook #'(lambda () (local-set-key "\C-cs" 'ebib-entry-summary)))
Разумеется, для корректной работы на заднем плане в это время должен работать ebib. Если же мы находимся в индексном буфере ebib’a, то можем выбрать ключ и нажать p (push), вставив тем самым цитату в некоторый другой буфер. Это хорошо тем, что перед глазами сразу вся база, и не нужно мучительно вспоминать имена ключей.
Разумеется, я тут рассказал только самые-самые верхи. Жаждущих подробностей перенаправляю читать документацию.




(Еще не оценили)
Loading ...