> 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/asiakirjan-rakenne/07-management-in-a-large-project.md).

# Hallinta suuressa projektissa

## Johdanto

Suurissa projekteissa, kuten kirjoissa, dokumentin osien pitäminen useissa .tex-tiedostoissa helpottaa virheiden korjaamista ja myöhempien muutosten tekemistä. Yksittäisestä lyhyestä tiedostosta on helpompi löytää tietty sana tai elementti. Tätä varten tässä artikkelissa selitetään, miten suuria projekteja hallitaan.

## Tiedostojen tuominen ja sisällyttäminen

Vakiotyökalut LaTeX-tiedoston lisäämiseen toisen sisään ovat `\input` ja `\include`.

**input-komento**

\input{filename}

Käytä tätä komentoa dokumentin rungossa lisätäksesi toisen nimisen tiedoston sisällön `filename.tex`; tämän tiedoston ei pitäisi sisältää mitään LaTeX-esipuhekoodia (eli ei `\documentclass`, `\begin{document}` tai `\end{document}`  ). LaTeX ei aloita uutta sivua ennen kuin se käsittelee materiaalin tiedostossa `filename.tex`. `\input` mahdollistaa sisäkkäin sijoittamisen `\input` komentoja tiedostoihin, joita juuritiedosto on jo tuomassa.

**include-komento**

\include{filename}

Käytä tätä komentoa dokumentin rungossa lisätäksesi toisen nimisen tiedoston sisällön `filename.tex`; jälleen tämän tiedoston ei pitäisi sisältää mitään LaTeX-esipuhetta. LaTeX aloittaa uuden sivun ennen kuin se käsittelee materiaalin, joka tuodaan tiedostosta `filename.tex`. Varmista, ettet sisällytä päätettä `.tex` tiedostonimeen, sillä tämä estää tiedoston tuomisen (päätteen voi halutessaan sisällyttää `syöte` ja `import` ). Ei ole mahdollista upottaa sisäkkäin `include` komentoja. Jokainen tiedosto, joka tuodaan `\include`saa oman .aux-tiedostonsa, joka tallentaa tietoa luoduista tunnisteista sekä sisällysluettelon, kuvien luettelon jne. sisällöstä. Voit käyttää `\includeonly` pilkuilla erotellun tiedostolistauksen kanssa (varmista, ettei alussa tai lopussa ole välilyöntejä). Jos teet näin, LaTeX käsittelee vain luettelossa olevat tiedostot. Tätä voidaan käyttää käännösnopeuden parantamiseen, jos työskentelet vain suuren dokumentin pienessä osassa. Sivunumerot ja ristiviittaukset toimivat kuitenkin edelleen, sillä pois jätettyjen tiedostojen .aux-tiedostot käsitellään silti.

[Avaa esimerkki suuresta projektista Overleafissa](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Esipuhe erillisessä tiedostossa

Jos dokumenttisi esipuheessa on paljon käyttäjän määrittämiä komentoja tai termimääritelmiä [sanastoa](/latex/fi/asiakirjan-rakenne/05-glossaries.md), voit sijoittaa sen erilliseen tiedostoon. Oikea tapa on luoda oma paketti, eli tiedosto, jonka pääte on .sty. Katsotaan esimerkkiä:

```latex
\ProvidesPackage{example}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[latin1]{inputenc}
\usepackage[spanish, english]{babel}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{textcomp}
\usepackage{pgfplots}

\pgfplotsset{width=10cm,compat=1.9}

%Otsikkotyylit
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textbf{\textit{\nouppercase{\leftmark}}}}
\fancyhead[LO]{\textbf{\textit{\nouppercase{\rightmark}}}}
\fancypagestyle{plain}{ %
\fancyhf{} % poista kaikki
\renewcommand{\headrulewidth}{0pt} % poista myös viivat
\renewcommand{\footrulewidth}{0pt}}

%tekee käytettäviksi komennot \proof, \qedsymbol ja \theoremstyle
\usepackage{amsthm}

%Viivain
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Lemma-määritelmä ja lemman laskuri
\newtheorem{lemma}{Lemma}[section]

%Määritelmän laskuri
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

%Korollaarion laskuri
\newtheorem{corolary}{Corolary}[section]

%Komennot luonnollisille luvuille, kokonaisluvuille, topologialle, kuorelle, pallolle, kiekolle, dimensioille, reunalle ja muutamalle muulle
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Esimerkkiympäristö
\theoremstyle{remark}
\newtheorem{examle}{Example}

%Esimerkin laskuri
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Kaikki tämän tiedoston komennot olisi voitu sijoittaa esipuheeseen, mutta pää­tiedostosta olisi tullut sekava tämän suuren koodimäärän vuoksi, ja dokumentin varsinaisen rungon paikantaminen näin suuressa tiedostossa olisi ollut vaivalloinen tehtävä.

Tämä tiedosto voitaisiin myös sijoittaa tavalliseen .tex-tiedostoon ja tuoda komennolla `import` (katso [seuraava osa](#importing-files) ), mutta .sty-tiedosto estää mahdolliset virheet, jos tiedosto tuodaan vahingossa useammin kuin kerran.

Huomaa, että esimerkin ensimmäinen rivi on

```latex
\ProvidesPackage{example}
```

tämä tarkoittaa, että meidän on tuotava tämä paketti muodossa *esimerkki* pää­tiedostossa, eli komennolla

```latex
\usepackage{example}
```

kuten on esitetty [johdannossa](#introduction).

*Huomaa: .sty-tiedosto on paljon joustavampi, sitä voidaan käyttää omien makrojen määrittämiseen ja valinnaisia parametreja voidaan välittää, katso* [*Oman paketin kirjoittaminen*](/latex/fi/luokkatiedostot/03-writing-your-own-package.md).

[Avaa esimerkki suuresta projektista Overleafissa](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## import-paketin käyttö

Kuten edellä mainittiin, LaTeX-tiedoston lisäämiseen toiseen käytetään tavallisesti `\input` ja `\include`, mutta ne ovat alttiita virheille, jos tarvitaan sisäkkäistä tiedostojen tuontia. Tästä syystä kannattaa harkita pakettia **import**.

Alla on esimerkki kirjasta, jonka osiot ja käyttäjän määrittämät komennot on tallennettu erillisiin tiedostoihin, ja jossa kunkin luvun kuvatiedostot on tallennettu omiin kansioihinsa yhdessä kunkin luvun .tex-tiedoston kanssa.

```latex
\documentclass[a4paper,11pt]{book}
\usepackage{import}
\usepackage{example}

\usepackage{makeidx}
\makeindex

\begin{document}

\frontmatter
\import{./}{title.tex}

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Additional chapter}
\import{sections/}{section2-1.tex}

\chapter{Last chapter}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Kuten näet, esimerkki on kirja, jossa on kolme lukua ja useita osioita siistissä pää­tiedostossa, joka hakee ulkoisia tiedostoja lopullisen dokumentin luomiseksi. Komento `\frontmatter` book-dokumenttiluokassa käytetään dokumentin ensimmäisillä sivuilla, ja tämä komento asettaa sivunumeroinnin roomalaisiksi numeroiksi; komento `\mainmatter` nollaa sivunumeroinnin ja vaihtaa tyylin arabialaiseksi, `\backmatter` poistaa lukujen numeroinnin käytöstä (sopii lähdeluettelolle ja liitteille).

```latex
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Lisää ensin tämä rivi dokumenttisi esipuheeseen:

```latex
\usepackage{import}
```

Sitten käytä `\import{ }{ }` . Ensimmäinen aaltosulkeissa oleva parametri on hakemisto, jossa tiedosto sijaitsee; se voi olla suhteellinen nykyiseen työhakemistoon tai absoluuttinen. Toinen parametri on tuotavan tiedoston nimi

Saatavilla on myös komento `\subimport` jolla on sama syntaksi, mutta jos sitä käytetään yhdessä pää­tiedostoon tuotavista tiedostoista, polku on suhteellinen kyseiseen alitiedostoon. Esimerkiksi alla on tiedoston "section1-1.tex" sisältö, joka tuotiin edellisessä esimerkissä:

```latex
\section{Ensimmäinen osio}

Alla on yksinkertainen 3D-kuvaaja

\begin{figure}[h]
\centering
\subimport{img/}{plot1.tex}
\caption{Caption}
\label{fig:my_label}
\end{figure}

[...]
```

Kuten näet, tämä tiedosto tuo [pgf-kuvaajan](/latex/fi/alakohtaiset/08-pgfplots-package.md) tiedoston nimeltä "plot1.tex", joka luo 3D-kuvaajan. Tämä tiedosto tuodaan

```latex
\subimport{img/}{plot1.tex}
```

kansiosta "img", joka sijaitsee kansiossa "sections".

Jos `\import` käytettäisiin sen sijaan, polku *img/* olisi suhteellinen pää­tiedostoon, eikä kansioon "sections", johon "section1-1.tex" on tallennettu.

[Avaa esimerkki suuresta projektista Overleafissa](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Lisälukemista

Lisätietoja löydät:

* [Useita tiedostoja sisältävät LaTeX-projektit](/latex/fi/asiakirjan-rakenne/08-multi-file-latex-projects.md)
* [Ristiinviittaukset osioihin ja yhtälöihin](/latex/fi/asiakirjan-rakenne/03-cross-referencing-sections-equations-and-floats.md)
* [Hakemistot](/latex/fi/asiakirjan-rakenne/04-indices.md)
* [Sanastot](/latex/fi/asiakirjan-rakenne/05-glossaries.md)
* [Hyperlinkit](/latex/fi/asiakirjan-rakenne/09-hyperlinks.md)
* [Sivunumerointi](/latex/fi/muotoilu/03-page-numbering.md)
* [Yksipuoliset ja kaksipuoliset asiakirjat](/latex/fi/muotoilu/08-single-sided-and-double-sided-documents.md)
* [Useita palstoja](/latex/fi/muotoilu/09-multiple-columns.md)
* [Kappaleen muotoilu](/latex/fi/muotoilu/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Sivukoko ja marginaalit](/latex/fi/muotoilu/07-page-size-and-margins.md)
* [Laskurit](/latex/fi/muotoilu/10-counters.md)
* [Reunahuomautukset](/latex/fi/muotoilu/15-margin-notes.md)
* [Lihavointi, kursivointi ja alleviivaus](/latex/fi/latexin-perusteet/03-bold-italics-and-underlining.md)
* [Kirjasinkoot, -perheet ja -tyylit](/latex/fi/fontit/01-font-sizes-families-and-styles.md)
* [Kirjasinlajit](/latex/fi/fontit/02-font-typefaces.md)
* [Nykyaikaisten fonttien tukeminen XeLaTeXilla](/latex/fi/fontit/03-xelatex.md)
* [Kansainvälinen kielituki](/latex/fi/kielet/03-international-language-support.md)
* [Kirjasinkoot, -perheet ja -tyylit](/latex/fi/fontit/01-font-sizes-families-and-styles.md)
* [Oman paketin kirjoittaminen](/latex/fi/luokkatiedostot/03-writing-your-own-package.md)
* [Oman luokan kirjoittaminen](/latex/fi/luokkatiedostot/04-writing-your-own-class.md)
* [Ei-niin-lyhyt johdatus LaTeX2ε:ään](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` pakettidokumentaatio](ftp://sunsite.icm.edu.pl/pub/CTAN/macros/latex/contrib/import/import.pdf)


---

# 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/asiakirjan-rakenne/07-management-in-a-large-project.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.
