Библиография в Техе.

Nov 17, 2014 16:19

Небольшой manual о том, как работать с библиографией в TeX-е. Точнее, речь пойдет о BibTeX-е - наборе пакетов, которые встроены по умолчанию в большинство дистрибутивов TeX и LaTeX, и которые позволяют намного более удобно работать с библиографией. Итак, как это работает:


0) Если кому интересно сразу посмотреть примеры - то вот они: вариант оформления статьи в виде revtex4-1 (TeX, PDF), вариант artictle (TeX, PDF), оба файла используют один и тот же файл библиографии refs.bib.

1) Все ссылки помещаются в отдельный файл с расширением ".bib". Здесь и далее я буду называть его "refs.bib". Преимущества такого подхода:

  1. Один и тот же файл может быть использован для разный статей, т.е. в нем можно собрать всю свою коллекцию библиографии. BibTeX сам выбирает оттуда только те ссылки, которые используются. Сравните, например, файл refs.bib и итоговую статью PDF: в файле библиографии есть ссылки (Landau - Lifshitz), которые не используются в тексте статьи TeX, и поэтому не появляются в итоговой статье PDF.
  2. Из одного и того же файла "refs.bib" BibTeX сам форматирует библиографию согласно заданному стилю статьи. В разные журналы требуется разное оформление библиографии - и вместо вас это может делать BibTeX. См. например статьи PDF1 (revtex4-1) и PDF2 (article) - в обоих случаях используется один и тот же файл библиографии refs.bib. При этом, нумерация ссылок в статье в порядке их появления в тексте осуществляется автоматически (сравните refs.bib, TeX, PDF).
  3. Понятное дело, при таких возможностях файл "refs.bib" не может не быть форматированным. И заполнять его самостоятельно согласно правилам такого форматирования - не слишком приятная штука. Но! Одно из самых классных обстоятельств в работе с BibTeX заключается в том, что файл "refs.bib" и не нужно форматировать самостоятельно. Почти все нам предоставит Google Scholar (см. ниже).
Файл "refs.bib" имеет следующую структуру:

@article{falkovich2004non,
  title={{Non-Gaussian error probability in optical soliton transmission}},
  author={Falkovich, G. and Kolokolov, I. and Lebedev, V. and Mezentsev, V. and Turitsyn, S.},
  journal={Physica D: Nonlinear Phenomena},
  volume={195},
  number={1},
  pages={1--28},
  year={2004},
  publisher={Elsevier}
}

@article{bale2010intracavity,
  title={{Intracavity dynamics in high-power mode-locked fiber lasers}},
  author={Bale, B. G. and Boscolo, S. and Kutz, J. N. and Turitsyn, S. K.},
  journal={Physical Review A},
  volume={81},
  number={3},
  pages={033828},
  year={2010},
  publisher={APS}
}

Объявлений начала и конца у этого файла нет, нужно просто создать пустой текстовый файл, и начать вносить в него в любом порядке записи @article{ ... }, каждая из которых обозначает ссылку на статью. Здесь "falkovich2004non" и "bale2010intracavity" - имена ссылок, по которым вы потом будете вставлять references в тело статьи.

Одно из самых замечательных обстоятельств в использовании BibTeX - это то, что совершенно не обязательно самому форматировать данные каждой статьи чтобы делать записи @article{ ... } в "refs.bib". Тут нам приходит на помощь Google.

Итак, идем в Google Scholar, заходим сразу же в "Настройки" (нужно чтобы у вас был аккаунт в Google), смотрим "Менеджер библиографий", кликаем на "Показывать ссылки для импорта цитат в BibTex", и сохраняем настройки. Теперь идем в Google Scholar опять, ищем нужную нам статью, например по фразе "Non-Gaussian error probability in optical soliton transmission", находим статью в результатах поиска (в данном случае результат всего один), и кликаем там на ссылку "Импортировать в BibTeX". По этой ссылке будет написано как раз что нам нужно:

@article{falkovich2004non,
  title={Non-Gaussian error probability in optical soliton transmission},
  author={Falkovich, G and Kolokolov, I and Lebedev, V and Mezentsev, V and Turitsyn, S},
  journal={Physica D: Nonlinear Phenomena},
  volume={195},
  number={1},
  pages={1--28},
  year={2004},
  publisher={Elsevier}
}

Копируем это все в refs.bib, и далее немного корректируем. Во-первых, полезно ставить двойные фигурные скобки для названия title - вот так: {{ ... }}. В этом случае название статьи будет в бибилиографии написано ровно так, как оно стоит в фигурных скобках. В противном случае можно получить только одну заглавную букву, например вот так: "Non-gaussian error probability in optical soliton transmission". Во-вторых, имеет смысл одинаковым образом во всем файле писать имена авторов. Бывает так, что встречается написание авторов в виде "Falkovich, G", или "Falkovich, Gregory", или еще отчество (второе имя) указывают. Я обычно во всех случаях форматирую имена авторов как "Falkovich, G.".

Кстати, бывает что для грантов нужно указывать издательство - как видим, его легко найти через тот же Google Scholar.

2) Итак, файл "refs.bib" мы составили, теперь начинаем им пользоваться. Вместо обычного объявления библиографии в тексте статьи, типа

\begin{thebibliography}{99}
...
\end{thebibliography}

пишем

\bibliography{refs}

Здесь refs - это имя файла "refs.bib", файл должен лежать в той же директории, что и тело статьи.

Далее, нужно проследить, чтобы в статье команда "\bibliographystyle" (ее можно ставить как в шапке, так и непосредственно перед библиографией) встречалась только один раз (иначе при компиляции будет ошибка). Некоторые стилевые файлы оформления статьи, например встроенные в TeX revtex4 и revtex4-1, уже в себе имеют эту команду \bibliographystyle. Поэтому если у вас в шапке статьи стоит что-то вроде "\documentclass{revtex4-1}", то нужно проследить чтобы команд "\bibliographystyle" в тексте статьи больше не было (сравните TeX1 и TeX2).

Если есть возможность выбрать стиль библиографии, я обычно выбираю "\bibliographystyle{ieeetr}". В этом случае TeX сам нумерует ссылки в тексте в порядке их появления.

Все! Компилируем статью, получаем нашу библиографию.

3) Некоторые журналы не принимают отдельные файлы библиографии. Обойти этот момент очень просто. При компиляции статьи создается файл с расширением ".bbl". В нем содержится вся наша правильно отформатированная и отсортированная библиография. Просто заменяем команду "\bibliography{refs}" на то, что найдем в этом файле. Все! Теперь текст статьи содержит автономную (не зависимую от "refs.bib") библиографию в том самом виде, в каком нужно для вашей статьи.

tex

Previous post Next post
Up