> For the complete documentation index, see [llms.txt](https://overleaf-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://overleaf-pro.ayaka.space/latex/fi/kysymykset-ja-vastaukset/07-creating-multiple-bibliographies-in-the-same-document.md).

# Useiden lähdeluetteloiden luominen samaan asiakirjaan

## Johdanto

Tässä artikkelissa käsitellään, miten voit luoda useita lähdeluetteloita samaan LaTeX-asiakirjaan sopivien pakettien avulla. Oletuksena kukin LaTeX-asiakirja voi sisältää vain yhden lähdeluettelon tai viiteluettelon, joko muodossa `\begin{thebibliography}\bibitem...\end{thebibliography}` luettelo tai muodossa `\bibligraphystyle{...}\bibliography{...}`, tai `\printbibliography`. Mutta on tilanteita, joissa saatat joutua luomaan *useita lähdeluetteloita*. Saatat haluta erillisen lähdeluettelon jokaiselle luvulle koko asiakirjan sijaan. Tai saatat haluta erillisiä lähdeluetteloita eri luokille ja teemoille.

Jos yrität toteuttaa nämä tilanteet lisäämällä useita `\bibliography` kutsuja eri kohtiin LaTeX-asiakirjassasi, huomaat, että ne kaikki sisältävät saman kohdeluettelon, joka kattaa *kaikki* viitteet koko asiakirjassasi. Sen sijaan sinun on käytettävä sopivia LaTeX-paketteja erillisten lähdeluetteloiden luomiseen oikein.

Ensin sinun täytyy selvittää, käytätkö [BibTeX](/latex/fi/viitteet-ja-sitaatit/01-bibliography-management-with-bibtex.md) tai [biblatex](/latex/fi/viitteet-ja-sitaatit/03-bibliography-management-with-biblatex.md): ne vaativat eri paketteja, joita ei voi sekoittaa. Jos käytät kustantajan tai yliopistosi tarjoamaa mallipohjaa, tarkista, onko esimerkkipohjassa `.tex` tiedosto sisältää `\printbibliography` tai `\addbibresource`. Jos on, käytät `biblatex`, joten siirry kohtaan [täällä](#with-biblatex). Muussa tapauksessa käytät todennäköisesti BibTeXiä, joten jatka lukemista [täällä](#packages-for-bibtex).

## BibTeX-paketit

### chapterbib-paketti

Jos tarvitset yksinkertaisesti lähdeluettelon kirjaasi/työtäsi jokaisen luvun loppuun, `chapterbib` paketti saattaa olla kaikki, mitä tarvitset.

1. *Jokaisen luvun tulisi olla `.tex` omassa tiedostossaan.* Kirjoita

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

   kunkin luvun lopussa jokaisessa `.tex` tiedostossa. Voit määrittää eri `.bib` tiedoston kullekin luvulle `\bibliography`.
2. "pääasiakirjassasi" `.tex` tiedostossa, lataa `chapterbib` paketti.  `sectionbib` pakettivaihtoehto on hyödyllinen, jos haluat, että kunkin luvun lähdeluettelo näkyy nimeämättömänä osiona eikä nimeämättömänä lukuna varsinaisen luvun jälkeen.

   ```latex
   \usepackage[sectionbib]{chapterbib}
   ```
3. Käytä `\include` pääasiakirjatiedostossa sisällyttämään jokainen luvun `.tex` .bib-tiedostoja. *`\input` tulee **sisällä** toimia yhdessä `chapterbib` tuottaakseen luvukohtaiset lähdeluettelot!*
4. Jos käännät paikallisella koneella: pääasiakirjasi kääntäminen `.tex` tuottaa useita `.aux` tiedostoja, yhden kutakin lukua varten `.tex` tiedostoa, jonka olit sisällyttänyt. Nyt sinun täytyy ajaa `bibtex` kaikissa näissä `.aux` tiedostoissa ennen kuin käännät pääasiakirjan `.tex` tiedoston uudelleen. [Overleafin rakennustyökalu, `latexmk`,](/latex/fi/tietopankki/064-how-does-overleaf-compile-my-project.md) hoitaa kaikki nämä käsittelyvaiheet automaattisesti, joten sinun tarvitsee vain klikata **"Recompile"** -painiketta kerran.

Huomaa, että sinun *ei pidä* kirjoittaa `\bibliobraphy{...}` pääasiakirjasi `.tex` tiedostoon käyttäessäsi `chapterbib`. Muuten saatat saada paljon BibTeX-virheilmoituksia aiheesta *"Illegal; another \bibdata command"*. Jos tarvitset lisäksi "globaalin" lähdeluettelon, joka kerää kaikki koko asiakirjan viitteet, `bibunits` paketti saattaa olla parempi valinta.

[Avaa esimerkki Overleafissa](https://www.overleaf.com/project/new/template/5694?id=8827885\&mainFile=main.tex\&templateName=Per-chapter+bibliographies+with+chapterbib)

### bibunits-paketti

Se `bibunits` pakettia voidaan käyttää myös luvukohtaisten lähdeluetteloiden luomiseen, eikä lukujen tarvitse olla erillisissä `.tex` .bib-tiedostoja.

1. Aloita kirjoittamalla `\usepackage[sectionbib]{bibunits}` pääasiakirjasi `.tex`-esipuheeseen.
2. Jos haluat käyttää samaa `.bib` tiedostoa ja lähdeluettelotyyliä kaikille asiakirjasi viitteille, käytä `\defaultbibliographystyle{...}` ja `\defaultbibliography{...}` komentoja lataamisen jälkeen `bibunits`. Esimerkiksi:

   ```latex
   \defaultbibliographystyle{unsrt}
   \defaultbibliography{references} % .bib-tiedoston nimi ilman päätettä
   ```
3. Lisää `\bibliographyunit[\chapter]` jälkeen `\begin{document}`.
4. Lisää kunkin luvun loppuun `\putbib`. Tämä tulostaa sitten lähdeluettelon kaikista esiintymistä `\cite` jotka ovat tapahtuneet viimeisimmän jälkeen `\chapter`. (Voit kirjoittaa `\bibliographyunit` ilman argumentteja myöhemmin asiakirjassa poistaaksesi automaattisen `bibunit`-luvun muodostuksen käytöstä.)
5. Jos käännät paikallisella koneella: pääasiakirjasi kääntäminen `.tex` tuottaa useita `.aux` tiedostoja, yhden kutakin lukua varten `.tex` tiedostoa, jonka olit sisällyttänyt. Nyt sinun täytyy ajaa `bibtex` kaikissa näissä `.aux` tiedostoissa ennen kuin käännät pääasiakirjan `.tex` tiedoston uudelleen. [Overleafin rakennustyökalu, `latexmk`,](/latex/fi/tietopankki/064-how-does-overleaf-compile-my-project.md) hoitaa kaikki nämä käsittelyvaiheet automaattisesti, joten sinun tarvitsee vain klikata **"Recompile"** -painiketta kerran.

[Avaa esimerkki Overleafissa](https://www.overleaf.com/project/new/template/5695?id=8828133\&mainFile=main.tex\&templateName=Per-chapter+bibliographies+with+bibunits)

Muutama lisävinkki:

* Jos käytät eri `.bib` tiedostoa jokaiselle luvulle/yksikölle, voit määrittää sen valinnaisena argumenttina `\putbib`, esim. `\putbib[chap1refs]`—huomaa, ei `.bib` laajennus.
* Jos sinun täytyy jakaa asiakirjasi mielivaltaisiin "lähdeluettelo-yksiköihin" (eli ei rajoittuen `\chapter` tai muihin otsikkokomentoihin) omasävyisillä viitteillä ja lähdeluetteloilla, voit käyttää `bibunit` ympäristöä, jossa on `\putbib` sisällä:

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

  Jos tarvitset tietylle `bibunit` eli erilaisen kuin `\defaultbibliographystyle{...}` jonka olit määrittänyt, voit antaa sen valinnaisena argumenttina `bibunit`: `\begin{bibunit}**[plain]**`
* Jos tarvitset myös "globaalin" lähdeluettelon, joka sisältää kaikki viitteet kaikista luvuista tai bibuniteista, lisää `globalcitecopy` vaihtoehto ladatessasi `bibunits` pakettia: `\usepackage[sectionbib,**globalcitecopy**]{bibunits}`

### multibib-paketti

Joskus saatat haluta erillisiä lähdeluetteloita eri luokille. Yksi tapa saavuttaa tämä on käyttää `multibib` pakettia. Esimerkiksi kemiaan liittyville viitteille ja fysiikkaan liittyville viitteille tehtävien lähdeluetteloiden luomiseksi tarvitaan seuraavat vaiheet:

1. Lataa `multibib` paketti ja käytä `\newcites` komentoa luomaan "`Math`"- ja "`Phys`"-lähdeluettelotyypit. Niillä on otsikkoina "Math Readings" ja "Physics Readings".

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

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

   Voit käyttää pilkuilla erotettuja arvoja luodaksesi useita lähdeluettelotyyppejä samassa `\newcites{}` komennossa; varmista vain, että olet määrittänyt myös oikean määrän lähdeluetteloiden otsikoita:

   ```latex
   \newcites{Math,Phys}{Math Readings,Physics Readings}
   ```
2. Jokaiselle uudelle lähdeluettelolle `X`, sinulla on nyt uudet komennot `\citeX`, `\bibliographystyleX`, `\bibliographyX`. Näin ollen sinulla on nyt

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

   lisäksi oletus `\cite`, `\bibliographystyle`, `\bibliography`

   Voit nyt käyttää `\bibliographystyle`, `\bibliographystyleMath`, `\bibliographystylePhys` määrittääksesi kunkin lähdeluettelon tyylin; ja määrittää `.bib` tiedoston kullekin `\bibliography`, `\bibliographyMath`, `\bibliographyPhys`. (Lähdeluettelotyyli on usein sama kaikissa lähdeluetteloissa, mutta saatat käyttää erilaisia `.bib` tiedostoja.)

   ```latex
   \cite{paper1} ja \cite{paper2} julkaistiin myöhemmin kuin
   \citeMath{paper3}. Katso myös \citePhys{paper4}.

   \bibliographystyle{unsrt}
   \bibliography{references}

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

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

   Tässä esimerkissä, `paper1` ja `paper2` on määritelty `references.bib` ja ne luetellaan oletuslähdeluettelossa. `paper3` luetellaan "Math Readings" -lähdeluettelossa; `paper4` "Physics Readings" -lähdeluettelossa; molemmat `paper3` ja `paper4` on määritelty `refs-etc.bib` tiedostossa.
3. Jos käännät paikallisella koneella: pääasiakirjasi kääntäminen `.tex` tuottaa useita `.aux` tiedostot. Nyt sinun täytyy ajaa `bibtex` kaikissa näissä `.aux` tiedostoissa ennen kuin käännät pääasiakirjan `.tex` tiedosto uudelleen. Overleafissa sinun tarvitsee vain klikata **Uudelleen käännä** painiketta, ja se hoitaa kaikki nämä vaiheet automaattisesti.

[Avaa esimerkki Overleafissa](https://www.overleaf.com/project/new/template/18645?id=3104751\&latexEngine=pdflatex\&mainFile=main.tex\&templateName=Multiple+Bibliographies+with+multibib)

## biblatexilla

Jos käytät biblatex-pakettia, sinun **ei pidä** ladata mitään edellisissä osioissa mainituista paketeista: tähän sisältyy `natbib`, `chapterbib`, `bibunits`, `multibib`.

### Luvukohtaiset lähdeluettelot

Se `biblatex` paketissa on `refsection` mekanismi, joka on samankaltainen kuin "`bibunit`".

1. Voit saada `biblatex` aloittamaan automaattisesti uuden `refsection` kun se kohtaa `\chapter`, lisäämällä **`refsection=chapter`** vaihtoehdon ladattaessa `biblatex`:

   ```latex
   \usepackage[natbib,style=authoryear,refsection=chapter]{biblatex}
   \addbibresource{refs.bib}
   ```
2. Voit sitten laittaa `\printbibliography` kunkin `\chapter`loppuun, jotta listataan vain ne viitteet, jotka ovat ilmestyneet viimeisimmän jälkeen `\chapter`. Alla olevassa koodiesimerkissä käytämme myös `heading=subbibintoc` vaihtoehtoa `\printbibliography`, jotta lähdeluettelo tulostetaan luvun loppuun nimeämättömänä osiona (`subbib`) eikä nimeämättömänä lukuna; ja jotta se sisällytetään sisällysluetteloon (`intoc`).

   ```latex
   \chapter{Ensimmäinen luku}

   \section{Section Heading}
   Tässä on viite! \citep{latex:companion}
   \printbibliography[heading=subbibintoc]


   \chapter{Second Chapter}

   \section{Section Heading}
   Tässä on toinen viite! \citep{lshort}
   \printbibliography[heading=subbibintoc]
   ```
3. Vaihtoehtoisesti voit laittaa `\begin{refsection}...\end{refsection}` kunkin luvun ympärille tai mielivaltaisten tekstilohkojen ympärille. Älä käytä `refsection=chapter` vaihtoehtoa tässä tapauksessa:

   ```latex
   \usepackage[natbib,style=authoryear]{biblatex}
   \addbibresource{refs.bib}
   ...
   \begin{refsection}
   \chapter{Ensimmäinen luku}
   \section{Section Heading}
   Tässä on viite! \citep{latex:companion}
   \printbibliography[heading=subbibintoc]
   \end{refsection}

   \begin{refsection}
   \chapter{Second Chapter}
   \section{Section Heading}
   Tässä on toinen viite! \citep{lshort}
   \printbibliography[heading=subbibintoc]
   \end{refsection}

   %% Julkaisuluettelo voidaan luoda tällä lähestymistavalla
   \begin{refsection}
   \nocite{paper1,paper2}
   %% Tässä haluamme nimeämättömän luvun, mutta eri otsikolla
   \printbibliography[title={List of Publications}]
   \end{refsection}
   ```

[Avaa esimerkki Overleafissa.](https://www.overleaf.com/docs?snip_uri=https://assets.ctfassets.net/nrgyaltdicpt/3mfINcJWZRlegHyXND3SEQ/7843cab4a5d022161a43bea6662bc00b/biblatex-perchapter.zip) Tässä esimerkissä, `main.tex` käyttää `[refsection=chapter]` pakettivaihtoehdon, kun taas `alt.tex` käyttää manuaalisesti lisättyä `refsection` -ympäristöt.

### Lähdeluettelot eri luokille

Voit käyttää avainsanoja tai luokkia luodaksesi erillisiä lähdeluetteloita eri aiheiden perusteella.

#### Avainsanojen käyttäminen

1. Tässä lähestymistavassa sinun täytyy lisätä **`keywords`** kenttä viitekohtaan `.bib` tiedostossa. Esimerkiksi:

   ```bibtex
   @article{paper4,
     title={High energy colliders as black hole factories...},
     ...
     keywords={phys}
   }
   ```
2. Viittaa lähteisiisi tavalliseen tapaan.
3. Sitten anna useita `\printbibliography` komentoja määrittäen, mikä `avainsana` sisällytetään. Voit asettaa eri `otsikko`t jokaiselle `\printbibliography` komento:

   ```latex
   % "pää"lähdeluettelo
   \printbibliography[notkeyword={math},notkeyword={phys}]

   % Math-lähdeluettelo
   \printbibliography[keyword={math},title={Math Readings}]

   % Physics-lähdeluettelo
   \printbibliography[keyword={phys},title={Physics Readings}]
   ```

[Avaa esimerkki Overleafissa](https://www.overleaf.com/docs?snip_uri=https://assets.ctfassets.net/nrgyaltdicpt/3Bt5Tf9eSCtcXQrGshjQJT/7c64c3820a4adc4e20468aee752dc1e9/biblatex-keywords.zip)

#### Luokkien käyttäminen

1. Tässä lähestymistavassa sinun ei tarvitse lisätä mitään ylimääräisiä kenttiä `.bib` tiedostoon. Sen sijaan ilmoitat luokkatyypit ja lisäät viitteet kuhunkin luokkaan `.tex` tiedostosi esipuheessa:

   ```latex
   \addbibresource{refs-nokeywords.bib}
   \DeclareBibliographyCategory{math}
   \DeclareBibliographyCategory{phys}
   \addtocategory{math}{paper3}
   \addtocategory{phys}{paper4}
   ```
2. Viittaa lähteisiisi tavalliseen tapaan.
3. Sitten anna useita `\printbibliography` komentoja, joista kukin määrittää, mikä `luokka` tulostetaan.

   ```latex
   % "pää"lähdeluettelo
   \printbibliography[notcategory={math},notcategory={phys}]

   % Math-lähdeluettelo
   \printbibliography[category={math},title={Math Readings}]

   % Physics-lähdeluettelo
   \printbibliography[category={phys},title={Physics Readings}]
   ```

[Avaa esimerkki Overleafissa](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://overleaf-pro.ayaka.space/latex/fi/kysymykset-ja-vastaukset/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.
