> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/latex/uk/zapitannya-ta-vidpovidi/07-creating-multiple-bibliographies-in-the-same-document.md).

# Створення кількох списків літератури в одному документі

## Вступ

У цій статті буде розглянуто, як можна створити кілька бібліографій в одному документі LaTeX, використовуючи відповідні пакети. За замовчуванням кожен документ LaTeX може містити лише одну бібліографію або список літератури, або за допомогою `\begin{thebibliography}\bibitem...\end{thebibliography}` списку або за допомогою `\bibligraphystyle{...}\bibliography{...}`, або `\printbibliography`. Але є ситуації, коли вам може знадобитися створити *кілька бібліографій*. Можливо, ви захочете мати окрему бібліографію для кожного розділу, а не для всього документа. Або ж вам можуть знадобитися окремі бібліографії для різних категорій і тем.

Якщо ви спробуєте врахувати ці сценарії, вставивши кілька `\bibliography` викликів у різних місцях вашого документа LaTeX, ви побачите, що всі вони містять один і той самий список елементів, що охоплює *усі* посилання у всьому вашому документі. Натомість вам доведеться використовувати відповідні пакети LaTeX, щоб правильно генерувати окремі бібліографії.

Спочатку вам потрібно визначити, чи ви використовуєте [BibTeX](/latex/uk/posilannya-ta-cituvannya/01-bibliography-management-with-bibtex.md) або [biblatex](/latex/uk/posilannya-ta-cituvannya/03-bibliography-management-with-biblatex.md): вони потребують різних пакетів, які не можна змішувати. Якщо ви використовуєте шаблон, наданий вашим видавцем або університетом, перевірте, чи зразок шаблону `.tex` файл містить `\printbibliography` або `\addbibresource`. Якщо так, ви використовуєте `biblatex`, тож переходьте до розділу [тут](#with-biblatex). Інакше ви, найімовірніше, використовуєте BibTeX, тож продовжуйте читати [тут](#packages-for-bibtex).

## Пакети для BibTeX

### Пакет chapterbib

Якщо вам просто потрібно мати бібліографію наприкінці кожного розділу вашої книги/дисертації, пакет `chapterbib` може бути саме тим, що вам потрібно.

1. *Кожен розділ має бути в `.tex` окремому файлі.* Напишіть

   ```latex
   \bibliographystyle{...}
   \bibliography{...}
   ```

   у кінці кожного розділу в кожному `.tex` файлі. Ви можете вказати інший `.bib` файл для кожного розділу в `\bibliography`.
2. У файлі вашого "основного документа" `.tex` завантажте `chapterbib` пакет. Опція `sectionbib` корисна, якщо ви хочете, щоб бібліографія для кожного розділу відображалася як ненумерований розділ замість ненумерованого розділу-книги після фактичного розділу.

   ```latex
   \usepackage[sectionbib]{chapterbib}
   ```
3. Використайте `\include` у головному файлі документа, щоб підключити кожен із ваших розділів `.tex` файли. *`\input` буде **не** працювати з `chapterbib` для створення бібліографій по розділах!*
4. Якщо компілюєте на локальному комп’ютері: компіляція вашого основного документа `.tex` згенерує кілька `.aux` файлів, по одному для кожного розділу `.tex` файлу, який ви включили. Тепер потрібно запустити `bibtex` для всіх цих `.aux` файлів, перш ніж знову компілювати основний документ `.tex` файл. [Засіб збірки Overleaf, `latexmk`,](/latex/uk/baza-znan/064-how-does-overleaf-compile-my-project.md) автоматично виконає всі ці етапи обробки, тож вам лише потрібно натиснути кнопку **«Перекомпілювати»** один раз.

Зауважте, що ви *не повинні* писати `\bibliobraphy{...}` у вашому основному документі `.tex` файлі, коли використовуєте `chapterbib`. Інакше ви можете отримати багато повідомлень про помилки BibTeX щодо *"Illegal; another \bibdata command"*. Якщо вам також потрібна "глобальна" бібліографія, яка збирає всі посилання в усьому документі, пакет `bibunits` може бути кращим вибором.

[Відкрити приклад в Overleaf](https://www.overleaf.com/project/new/template/5694?id=8827885\&mainFile=main.tex\&templateName=Per-chapter+bibliographies+with+chapterbib)

### Пакет bibunits

Функція `bibunits` пакет також можна використовувати для створення бібліографій по розділах, і розділи не обов’язково мають бути в окремих `.tex` файли.

1. Почніть із написання `\usepackage[sectionbib]{bibunits}` у вашому основному документі `.tex`у преамбулі.
2. Щоб використовувати той самий `.bib` файл і стиль бібліографії для всіх посилань у вашому документі, використовуйте `\defaultbibliographystyle{...}` та `\defaultbibliography{...}` команди після завантаження `bibunits`. Наприклад:

   ```latex
   \defaultbibliographystyle{unsrt}
   \defaultbibliography{references} % назва файлу .bib без розширення
   ```
3. Додайте `\bibliographyunit[\chapter]` після `\begin{document}`.
4. Наприкінці кожного розділу додайте `\putbib`. Це тоді виведе бібліографію для всіх випадків `\cite` які з’явилися після останнього `\chapter`. (Ви можете написати `\bibliographyunit` без будь-яких аргументів у пізнішій частині документа, щоб вимкнути автоматичне `bibunit`-ування розділів.)
5. Якщо компілюєте на локальному комп’ютері: компіляція вашого основного документа `.tex` згенерує кілька `.aux` файлів, по одному для кожного розділу `.tex` файлу, який ви включили. Тепер потрібно запустити `bibtex` для всіх цих `.aux` файлів, перш ніж знову компілювати основний документ `.tex` файл. [Засіб збірки Overleaf, `latexmk`,](/latex/uk/baza-znan/064-how-does-overleaf-compile-my-project.md) автоматично виконає всі ці етапи обробки, тож вам лише потрібно натиснути кнопку **«Перекомпілювати»** один раз.

[Відкрити приклад в Overleaf](https://www.overleaf.com/project/new/template/5695?id=8828133\&mainFile=main.tex\&templateName=Per-chapter+bibliographies+with+bibunits)

Кілька додаткових порад:

* Якщо ви використовуєте інший `.bib` файл для кожного розділу/одиниці, ви можете вказати його як необов’язковий аргумент до `\putbib`, напр. `\putbib[chap1refs]`—зауважте, без `.bib` розширення.
* Якщо вам потрібно розбити документ на довільні "bibliography units" (тобто не обмежені `\chapter` чи іншими командами заголовків розділів) з автономними посиланнями та бібліографіями, ви можете використати `bibunit` середовище, з `\putbib` у ньому:

  ```latex
  \begin{bibunit}
  ...\cite{smith2012} and \cite{wilkins2008}...
  \putbib
  \end{bibunit}
  ```

  Якщо вам потрібен інший стиль для певного `bibunit` тобто відмінний від `\defaultbibliographystyle{...}` який ви вказали, ви можете передати його як необов’язковий аргумент до `bibunit`: `\begin{bibunit}**[plain]**`
* Якщо вам також потрібна "глобальна" бібліографія, яка включає всі посилання з усіх розділів або bibunit, додайте `globalcitecopy` опцію під час завантаження `bibunits` пакета: `\usepackage[sectionbib,**globalcitecopy**]{bibunits}`

### Пакет multibib

Іноді вам може знадобитися мати окремі бібліографії для різних категорій. Один зі способів досягти цього — використати пакет `multibib` . Наприклад, щоб створити список бібліографії для посилань, пов’язаних із хімією, і окремий — для посилань, пов’язаних із фізикою, потрібні такі кроки:

1. Завантажте `multibib` пакет і використайте `\newcites` команду, щоб створити бібліографічні типи "`Math`" та "`Phys`". Вони матимуть заголовки бібліографій "Math Readings" і "Physics Readings".

   ```latex
   \usepackage[resetlabels,labeled]{multibib}

   \newcites{Math}{Math Readings}
   \newcites{Phys}{Physics Readings}
   ```

   Ви можете використовувати значення, розділені комами, щоб створити кілька типів бібліографій у тій самій `\newcites{}` команді; лише переконайтеся, що ви також вказали правильну кількість назв бібліографій:

   ```latex
   \newcites{Math,Phys}{Math Readings,Physics Readings}
   ```
2. Для кожної нової бібліографії `X`, тепер у вас є нові команди `\citeX`, `\bibliographystyleX`, `\bibliographyX`. Отже, тепер у вас будуть

   * `\citeMath`, `\bibliographystyleMath`, `\bibliographyMath`
   * `\citePhys`, `\bibliographystylePhys`, `\bibliographyPhys`

   на додаток до стандартного `\cite`, `\bibliographystyle`, `\bibliography`

   Тепер ви можете використовувати `\bibliographystyle`, `\bibliographystyleMath`, `\bibliographystylePhys` щоб указати стиль для кожної бібліографії; і вказати `.bib` файл для кожної `\bibliography`, `\bibliographyMath`, `\bibliographyPhys`. (Стиль бібліографії часто є однаковим для всіх бібліографій, але ви можете використовувати різні `.bib` файли.)

   ```latex
   \cite{paper1} і \cite{paper2} були опубліковані пізніше ніж
   \citeMath{paper3}. Див. також \citePhys{paper4}.

   \bibliographystyle{unsrt}
   \bibliography{references}

   \bibliographystyleMath{unsrt}
   \bibliographyMath{refs-etc}

   \bibliographystylePhys{unsrt}
   \bibliographyPhys{refs-etc}
   ```

   У цьому прикладі `paper1` та `paper2` визначено в `references.bib` і будуть перелічені в стандартній бібліографії. `paper3` буде перелічено в бібліографії "Math Readings"; `paper4` у бібліографії "Physics Readings"; обидва `paper3` та `paper4` визначено в `файли refs-etc.bib.` файлі.
3. Якщо компілюєте на локальному комп’ютері: компіляція вашого основного документа `.tex` згенерує кілька `.aux` Тепер потрібно запустити `bibtex` для всіх цих `.aux` файлів, перш ніж знову компілювати основний документ `.tex` файл ще раз. В Overleaf вам лише потрібно натиснути **Перекомпіляція** кнопку, і він автоматично виконає всі ці кроки.

[Відкрити приклад в Overleaf](https://www.overleaf.com/project/new/template/18645?id=3104751\&latexEngine=pdflatex\&mainFile=main.tex\&templateName=Multiple+Bibliographies+with+multibib)

## З biblatex

Якщо ви використовуєте пакет biblatex, то ви **не повинні** завантажувати жоден із пакетів, згаданих у попередніх розділах: це включає `natbib`, `chapterbib`, `bibunits`, `multibib`.

### Бібліографії по розділах

Функція `biblatex` пакет має `механізм refsection, подібний до "` Ви можете`bibunit`".

1. автоматично починати новий `biblatex` коли він зустрічає `механізм refsection, подібний до "` розділ `\chapter`, додавши **`опцію refsection=chapter`** під час завантаження `biblatex`:

   ```latex
   \usepackage[natbib,style=authoryear,refsection=chapter]{biblatex}
   \addbibresource{refs.bib}
   ```
2. Потім ви можете вставити `\printbibliography` наприкінці кожного `\chapter`, щоб перелічити лише ті посилання, які з’явилися після останнього `\chapter`. У наведеному нижче прикладі коду ми також використовуємо `heading=subbibintoc` опцію для `\printbibliography`, щоб бібліографія друкувалася наприкінці розділу як ненумерований підрозділ (`subbib`) замість ненумерованого розділу; і щоб вона була включена до змісту (`intoc`).

   ```latex
   \chapter{Перший розділ}

   \section{Section Heading}
   Ось посилання! \citep{latex:companion}
   \printbibliography[heading=subbibintoc]


   \chapter{Second Chapter}

   \section{Section Heading}
   Ось ще одне посилання! \citep{lshort}
   \printbibliography[heading=subbibintoc]
   ```
3. Альтернативно, ви можете вставити `\begin{refsection}...\end{refsection}` навколо кожного розділу або навколо довільних блоків тексту. Не використовуйте `опцію refsection=chapter` опцію в цьому випадку:

   ```latex
   \usepackage[natbib,style=authoryear]{biblatex}
   \addbibresource{refs.bib}
   ...
   \begin{refsection}
   \chapter{Перший розділ}
   \section{Section Heading}
   Ось посилання! \citep{latex:companion}
   \printbibliography[heading=subbibintoc]
   \end{refsection}

   \begin{refsection}
   \chapter{Second Chapter}
   \section{Section Heading}
   Ось ще одне посилання! \citep{lshort}
   \printbibliography[heading=subbibintoc]
   \end{refsection}

   %% Список публікацій можна створити, використовуючи цей підхід
   \begin{refsection}
   \nocite{paper1,paper2}
   %% Тут ми хочемо ненумерований розділ, але з іншим заголовком
   \printbibliography[title={List of Publications}]
   \end{refsection}
   ```

[Відкрийте приклад в Overleaf.](https://www.overleaf.com/docs?snip_uri=https://assets.ctfassets.net/nrgyaltdicpt/3mfINcJWZRlegHyXND3SEQ/7843cab4a5d022161a43bea6662bc00b/biblatex-perchapter.zip) У цьому прикладі `main.tex` використовує `[refsection=chapter]` опцію пакета, тоді як `alt.tex` використовує вставлений вручну `механізм refsection, подібний до "` середовища.

### Бібліографії для різних категорій

Ви можете використовувати ключові слова або категорії, щоб створювати окремі бібліографії на основі різних тем.

#### Використання ключових слів

1. У цьому підході вам потрібно додати поле **`keywords`** до запису посилання у `.bib` файлі. Наприклад:

   ```bibtex
   @article{paper4,
     title={High energy colliders as black hole factories...},
     ...
     keywords={phys}
   }
   ```
2. Цитуйте свої посилання, як зазвичай.
3. Потім виконайте кілька `\printbibliography` команд, указуючи, який `ключове слово` включити. Ви можете встановити різні `поле назви`s для кожної `\printbibliography` команди:

   ```latex
   % Бібліографія "main"
   \printbibliography[notkeyword={math},notkeyword={phys}]

   % Бібліографія Math
   \printbibliography[keyword={math},title={Math Readings}]

   % Бібліографія Physics
   \printbibliography[keyword={phys},title={Physics Readings}]
   ```

[Відкрити приклад в Overleaf](https://www.overleaf.com/docs?snip_uri=https://assets.ctfassets.net/nrgyaltdicpt/3Bt5Tf9eSCtcXQrGshjQJT/7c64c3820a4adc4e20468aee752dc1e9/biblatex-keywords.zip)

#### Використання категорій

1. У цьому підході вам не потрібно додавати жодних додаткових полів до вашого `.bib` файлу. Натомість ви оголосите типи категорій і додасте посилання до кожної категорії у преамбулі вашого `.tex` файлу:

   ```latex
   \addbibresource{refs-nokeywords.bib}
   \DeclareBibliographyCategory{math}
   \DeclareBibliographyCategory{phys}
   \addtocategory{math}{paper3}
   \addtocategory{phys}{paper4}
   ```
2. Цитуйте свої посилання, як зазвичай.
3. Потім виконайте кілька `\printbibliography` команди, кожна з яких указує, яку `категорію` друкувати.

   ```latex
   % Бібліографія "main"
   \printbibliography[notcategory={math},notcategory={phys}]

   % Бібліографія Math
   \printbibliography[category={math},title={Math Readings}]

   % Бібліографія Physics
   \printbibliography[category={phys},title={Physics Readings}]
   ```

[Відкрити приклад в Overleaf](https://www.overleaf.com/docs?snip_uri=https://assets.ctfassets.net/nrgyaltdicpt/6l5HYYfby0AscSXwLsWKPM/71b6fb3e848f473fc9d2735847af7ec1/biblatex-categories.zip)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/latex/uk/zapitannya-ta-vidpovidi/07-creating-multiple-bibliographies-in-the-same-document.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
