> 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/el/domi-eggrafoy/08-multi-file-latex-projects.md).

# Προγράμματα LaTeX πολλαπλών αρχείων

## Εισαγωγή

Σε [μεγάλα έγγραφα LaTeX](/latex/el/domi-eggrafoy/07-management-in-a-large-project.md) συνήθως υπάρχουν αρκετά `.tex` αρχεία, ένα για κάθε κεφάλαιο ή ενότητα, και στη συνέχεια ενώνονται για να παραχθεί ένα ενιαίο αποτέλεσμα. Αυτό βοηθά να παραμένουν όλα οργανωμένα και κάνει ευκολότερο τον εντοπισμό σφαλμάτων στο έγγραφο, αλλά όσο μεγαλώνει το έγγραφο η μεταγλώττιση διαρκεί περισσότερο. Αυτό μπορεί να είναι απογοητευτικό, αφού συνήθως κανείς ενδιαφέρεται να εργάζεται κάθε φορά μόνο σε ένα συγκεκριμένο αρχείο.

Η φυσική προσέγγιση για να ξεπεραστεί αυτό είναι να μεταγλωττίζεται κάθε αρχείο ξεχωριστά. Υπάρχουν δύο βασικά πακέτα που επιτρέπουν τη μεταγλώττιση μεμονωμένων αρχείων σε ένα έργο πολλών αρχείων. Η επιλογή που θα κάνετε εξαρτάται από το τι χρειάζεστε.

* Με [το **υποαρχεία** πακέτο](#the-subfiles-package) μπορείτε να μεταγλωττίσετε κάθε υποαρχείο ανεξάρτητα και κάθε υποαρχείο θα χρησιμοποιεί αυτόματα το προοίμιο του κύριου αρχείου.
* Με [το **standalone** πακέτο](#the-standalone-package) κάθε υποαρχείο λειτουργεί ως ανεξάρτητο αρχείο, τα υποαρχεία μπορούν αργότερα να ενωθούν σε ένα κύριο έγγραφο που θα αντλεί τα προοίμια από καθένα από αυτά. Ιδιαίτερα χρήσιμο αν χρειάζεται να επαναχρησιμοποιήσετε το ίδιο αρχείο σε περισσότερα από ένα έγγραφα, μια εικόνα tikz είναι καλό παράδειγμα αυτού.

## Σημειώσεις για το \documentclass στα αρχεία .tex του Overleaf

Όπως φαίνεται στο ακόλουθο απόσπασμα βίντεο, ακόμη κι αν έχετε ορίσει το κύριο `.tex` αρχείο του έργου σας, μπορείτε να επιλέξετε άλλο αρχείο για μεταγλώττιση—υπό την προϋπόθεση ότι περιέχει μια `\documentclass` δήλωση. Ωστόσο, για να διασφαλίσετε ότι όλα τα στοιχεία του έργου σας μεταγλωττίζονται σωστά—όπως τα γλωσσάρια, η πρόσβαση σε διαδρομές προς `.bib` αρχεία κ.λπ.—σας συνιστούμε ανεπιφύλακτα να μεταγλωττίζετε μόνο αρχεία που βρίσκονται στον ριζικό κατάλογο του έργου σας.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/U2nGfRx9NwNGX0vWXNebP/1ca4b9a4b2f36d5ca9c0dbaa87f44bfa/maincompile.mp4>" %}

## Το πακέτο subfiles

Αυτό το πακέτο είναι κατάλληλο για τις περισσότερες περιπτώσεις, είναι πραγματικά εύκολο στη χρήση.

Τα παραδείγματα σε αυτή την ενότητα έχουν την ακόλουθη ιεραρχική δομή αρχείων:

![CompileSubfilesEx1OverleafV2.png](/files/ba60fc8a351d8d01e8c60bc0d9e3dd4172b524b1)

### Το κύριο αρχείο

Στο κύριο αρχείο χρειάζονται δύο ειδικές εντολές.

```latex
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{images/}}

\usepackage{blindtext}

\usepackage{subfiles} % Καλό είναι να φορτώνεται τελευταίο στο προοίμιο

\title{Παράδειγμα πακέτου Subfiles}
\author{Overleaf}
\date{ }

\begin{document}

\maketitle

\section{Εισαγωγή}

\subfile{sections/introduction}

\section{Δεύτερη ενότητα}

\subfile{sections/section2}

\end{document}
```

![CompileSubfilesEx1aOverleafV2.png](/files/4bae9841954cd99f17bf201e1fdd4bdae2c2cc34)

Η μεταγλώττιση ανά αρχείο απαιτεί τη γραμμή

```latex
\usepackage{subfiles}
```

στο προοίμιο, αυτό ενεργοποιεί το `υποαρχεία` πακέτο. Στη συνέχεια, κάθε εξωτερικό υποαρχείο πρέπει να εισαχθεί με την εντολή `\subfile{}`. Στο παράδειγμα τα αρχεία `introduction.tex` και `section2.tex` εισάγονται στο κύριο αρχείο από τον `φάκελο sections` φάκελο. Σημειώστε ότι η επέκταση του αρχείου δεν είναι υποχρεωτική.

[Ανοίξτε ένα `υποαρχεία` παράδειγμα πακέτου στο Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

### Τα υποαρχεία

Αφού ρυθμίσετε το κύριο αρχείο σας, κάθε υποαρχείο πρέπει να έχει μια ειδική δομή.

```latex
\documentclass[../main.tex]{subfiles}
\graphicspath{{\subfix{../images/}}}
\begin{document}
\textbf{Γεια σου κόσμε!}
\begin{figure}[bh]
\centering
\includegraphics[width=3cm]{overleaf-logo}

\label{fig:img1}
\caption{Λογότυπο του Overleaf}
\end{figure}

Γεια σας, εδώ είναι κάποιο κείμενο χωρίς νόημα...

\end{document}
```

![CompileSubfilesEx2OverleafV2.png](/files/582d38f40aefae85e067f54c05ef635dc0be0f6e)

Τώρα αυτό το αρχείο μπορεί να μεταγλωττιστεί ως αυτόνομο αρχείο, η κλάση εγγράφου και το υπόλοιπο προοίμιο θα είναι τα ίδια με αυτά που ορίζονται στο κύριο έγγραφο.

Η πρώτη εντολή εδώ είναι

```latex
\documentclass[../main.tex]{subfiles}
```

η παράμετρος μέσα στις αγκύλες, `../main.tex`, είναι η σχετική διαδρομή προς το κύριο έγγραφο. Σε αυτή την περίπτωση το αρχείο `introduction.tex` βρίσκεται μέσα στον φάκελο `φάκελο sections`, επομένως το αρχείο `main.tex` είναι ένα επίπεδο πάνω από τον τρέχοντα φάκελο (αυτό σημαίνει το `../` σημαίνει).

Θα χρειαστεί επίσης να χρησιμοποιήσετε την `\subfix` εντολή με τη σχετική διαδρομή φακέλου όταν καθορίζετε `\graphicspath` σε `introduction.tex`:

```latex
\graphicspath{{\subfix{../images/}}}
```

Στη συνέχεια, το πραγματικό περιεχόμενο πληκτρολογείται μέσα στο `\begin{document}` και `\end{document}`. Ό,τι βρίσκεται έξω από αυτό το περιβάλλον θα αγνοηθεί ή, πιο συγκεκριμένα, θα θεωρηθεί μέρος του προοιμίου. Αποφύγετε να αφήνετε κενές γραμμές στην αρχή και στο τέλος του αρχείου.

[Ανοίξτε ένα `υποαρχεία` παράδειγμα πακέτου στο Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Το πακέτο standalone

Το πακέτο **standalone** παρέχει την ίδια λειτουργικότητα με το **υποαρχεία** και είναι πιο ευέλικτο, αλλά η σύνταξη είναι πιο σύνθετη και επιρρεπής σε σφάλματα. Η κύρια διαφορά είναι ότι κάθε υποαρχείο έχει το δικό του προοίμιο.

Τα παραδείγματα σε αυτή την ενότητα έχουν την ακόλουθη ιεραρχική δομή αρχείων:

![CompileSubfilesEx3OverleafV2.png](/files/e15a123c11631135ae1a4845d1b85c3ece2c34f4)

### Το κύριο αρχείο

Το κύριο αρχείο είναι πολύ παρόμοιο με εκείνο οποιουδήποτε άλλου έργου με πολλά αρχεία.

```latex
\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}

\title{Παράδειγμα πακέτου Standalone}
\author{Overleaf}
\date{Μάιος 2021}

\begin{document}

\maketitle

\section{Πρώτη ενότητα}
\import{sections/}{introduction}

\section{Δεύτερη ενότητα}
\import{sections/}{section2}

\end{document}
```

![CompileSubfilesEx3Overleaf.png](/files/ee850edcac72c20d086bea712774ea787a680e84)

Η γραμμή

```latex
\usepackage[subpreambles=true]{standalone}
```

ενεργοποιεί το **standalone** πακέτο, θα πρέπει να τοποθετείται νωρίς στο έγγραφο. Η παράμετρος μέσα στις αγκύλες λέει στο LaTeX να εισαγάγει το προοίμιο από κάθε υποαρχείο (τα πακέτα εισάγονται μόνο μία φορά), αν παραλειφθεί, βεβαιωθείτε ότι έχετε όλες τις απαραίτητες εντολές στο προοίμιο του κύριου εγγράφου ώστε να λειτουργούν τα υποαρχεία. Πρέπει να είστε προσεκτικοί λόγω πιθανών ασυμβατοτήτων στα διαφορετικά προοίμια.

Στο σώμα του κύριου εγγράφου, κάθε υποαρχείο εισάγεται με `\import{}{}`. Η τυπική `\input{}` εντολή μπορεί επίσης να χρησιμοποιηθεί, αλλά αυτή του παραδείγματος συνιστάται για να [διαχειρίζεστε μεγάλα έργα](/latex/el/domi-eggrafoy/07-management-in-a-large-project.md) επειδή αποτρέπει σφάλματα σε εμφωλευμένα αρχεία.

[Ανοίξτε ένα παράδειγμα του `standalone` πακέτου στο Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

### Τα υποαρχεία

Κάθε υποαρχείο πρέπει να έχει το δικό του προοίμιο και να εισάγει όλα τα πακέτα που χρειάζονται για να λειτουργήσει ως αυτόνομο έγγραφο.

```latex
\documentclass[class=article, crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\usepackage{blindtext}

\begin{document}
Ένα σχήμα TikZ θα αποδοθεί κάτω από αυτή τη γραμμή

\begin{figure}[ht]
\centering
\subimport{../}{diagram.tex}
\label{fig:tikzexample}
\caption{Ένα ωραίο απλό διάγραμμα}
\end{figure}

\blindtext
\end{document}
```

![CompileSubfilesEx4OverleafV2.png](/files/2236bfde32bd3bd4c2c7197c58719e47443e3800)

Η πρώτη γραμμή στο υποαρχείο είναι

```latex
\documentclass[class=article, crop=false]{standalone}
```

Αυτό δηλώνει ότι αυτό είναι ένα αρχείο που θα χρησιμοποιηθεί με το **standalone** πακέτο, υπάρχουν δύο προαιρετικές παράμετροι μέσα στις αγκύλες.

* `class=article`. Ορίζει `article` ως βασική κλάση, μπορεί να χρησιμοποιηθεί οποιαδήποτε άλλη κλάση: book, report κ.λπ. (εκτός από το beamer).
* `crop=false`. Αν παραλειφθεί αυτή η επιλογή, το αποτέλεσμα θα περικοπεί στο ελάχιστο δυνατό μέγεθος.

Η επόμενη εντολή δεν είναι υποχρεωτική

```latex
\usepackage[subpreambles=true]{standalone}
```

αλλά πρέπει να χρησιμοποιηθεί σε αυτό το παράδειγμα επειδή υπάρχει ένα εμφωλευμένο **standalone** αρχείο εδώ. Ένα [σχήμα TikZ](/latex/el/sximata-kai-pinakes/05-tikz-package.md) εισάγεται με [`\subimport{../}{diagram.tex}`](/latex/el/domi-eggrafoy/07-management-in-a-large-project.md#importing-files), μπορείτε να δείτε το περιεχόμενο του αρχείου "diagram.tex" παρακάτω:

```latex
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Κόμβοι
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Γραμμές
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);

\end{tikzpicture}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα Standalone TikZ στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Standalone+TikZ+example\&snip=%5Cdocumentclass%7Bstandalone%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

![CompileSubfilesEx5.png](/files/c4c96b98d935e38a3da83aec8835e3df38300b42)

Αυτό είναι το κύριο χαρακτηριστικό στο **standalone**, μπορείτε να εισαγάγετε αυτό το αρχείο σε οποιοδήποτε άλλο έγγραφο και να επαναχρησιμοποιήσετε τον κώδικα. Για παράδειγμα, αυτό το διάγραμμα μπορεί αργότερα να χρησιμοποιηθεί σε μια παρουσίαση χωρίς περαιτέρω αλλαγές.

[Ανοίξτε ένα παράδειγμα του `standalone` πακέτου στο Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

## Περαιτέρω ανάγνωση

Για περισσότερες πληροφορίες δείτε

* [Διαχείριση σε ένα μεγάλο έργο](/latex/el/domi-eggrafoy/07-management-in-a-large-project.md)
* [Διασταυρούμενη παραπομπή σε ενότητες και εξισώσεις](/latex/el/domi-eggrafoy/03-cross-referencing-sections-equations-and-floats.md)
* [Δείκτες](/latex/el/domi-eggrafoy/04-indices.md)
* [Γλωσσάρια](/latex/el/domi-eggrafoy/05-glossaries.md)
* [Υπερσύνδεσμοι](/latex/el/domi-eggrafoy/09-hyperlinks.md)
* [Αρίθμηση σελίδων](/latex/el/morfopoiisi/03-page-numbering.md)
* [Έγγραφα μονής και διπλής όψης](/latex/el/morfopoiisi/08-single-sided-and-double-sided-documents.md)
* [Πολλαπλές στήλες](/latex/el/morfopoiisi/09-multiple-columns.md)
* [Μορφοποίηση παραγράφων](/latex/el/morfopoiisi/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Μέγεθος σελίδας και περιθώρια](/latex/el/morfopoiisi/07-page-size-and-margins.md)
* [Μετρητές](/latex/el/morfopoiisi/10-counters.md)
* [Σημειώσεις περιθωρίου](/latex/el/morfopoiisi/15-margin-notes.md)
* [Έντονα, πλάγια και υπογράμμιση](/latex/el/ta-vasika-toy-latex/03-bold-italics-and-underlining.md)
* [Μεγέθη, οικογένειες και στυλ γραμματοσειρών](/latex/el/grammatoseires/01-font-sizes-families-and-styles.md)
* [Τύποι γραμματοσειρών](/latex/el/grammatoseires/02-font-typefaces.md)
* [Υποστήριξη σύγχρονων γραμματοσειρών με XeLaTeX](/latex/el/grammatoseires/03-xelatex.md)
* [Υποστήριξη διεθνών γλωσσών](/latex/el/glosses/03-international-language-support.md)
* [Μεγέθη, οικογένειες και στυλ γραμματοσειρών](/latex/el/grammatoseires/01-font-sizes-families-and-styles.md)
* [Μεταγλώττιση μεγάλων έργων](/latex/el/basi-gnoseon/038-fixing-and-preventing-compile-timeouts.md#compiling-big-projects)
* [Εισαγωγή εικόνων](/latex/el/perissotera-themata/27-inserting-images.md)
* [Πακέτο TikZ](/latex/el/sximata-kai-pinakes/05-tikz-package.md)
* [Γράφοντας το δικό σας πακέτο](/latex/el/arxeia-klasis/03-writing-your-own-package.md)
* [Γράφοντας τη δική σας κλάση](/latex/el/arxeia-klasis/04-writing-your-own-class.md)
* [Η **υποαρχεία** τεκμηρίωση πακέτου](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/subfiles/subfiles.pdf)
* [Η **standalone** τεκμηρίωση πακέτου](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/standalone/standalone.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/el/domi-eggrafoy/08-multi-file-latex-projects.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.
