> 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/morfopoiisi/04-articles-how-to-change-paragraph-spacing-in-latex.md).

# Μορφοποίηση παραγράφων

## Εισαγωγή

Αυτό το άρθρο διερευνά δύο μεθόδους για την πραγματοποίηση αλλαγών σε διάφορες πτυχές της απόστασης μεταξύ παραγράφων:

* την καλύτερη πρακτική, και προτεινόμενη, μέθοδο χρήσης πακέτων LaTeX όπως [`setspace`](https://ctan.org/pkg/setspace) και [`parskip`](https://ctan.org/pkg/parskip) τα οποία παρέχουν επιλογές και εντολές επιπέδου χρήστη για την αλλαγή της απόστασης στα έγγραφα LaTeX σας·
* χρήση χαμηλού επιπέδου TeX/LaTeX *εντολών παραμέτρων* για την τροποποίηση της απόστασης μεταξύ παραγράφων. Η άμεση χρήση εντολών παραμέτρων μπορεί να παρακάμψει ελέγχους ή περιορισμούς που παρέχονται από προσεκτικά σχεδιασμένα πακέτα LaTeX, προκαλώντας δυνητικά απροσδόκητες συνέπειες/παρενέργειες αλλού στο έγγραφο LaTeX σας, οπότε χρησιμοποιήστε τα με προσοχή...

### Μεταβείτε στις ενότητες που σας ενδιαφέρουν

Οι αναγνώστες που αναζητούν γρήγορες λύσεις:

* μεταβείτε στην ενότητα [*Χρήση πακέτων LaTeX: setspace και parskip*](#using-latex-packages-setspace-and-parskip)

Οι αναγνώστες που ενδιαφέρονται για εντολές χαμηλού επιπέδου:

* μεταβείτε στις ενότητες [*Εντολές παραμέτρων TeX/LaTeX*](#using-texlatex-parameter-commands) και [*Τα βασικά: εντολές παραμέτρων και παραδείγματα*](#the-fundamentals-parameter-commands-and-examples)

Οι αναγνώστες που ενδιαφέρονται για τις λεπτομέρειες των υπολογισμών της απόστασης γραμμών και της δομής των παραγράφων:

* μεταβείτε στην ενότητα [*Δομή παραγράφων και υπολογισμοί απόστασης γραμμών*](#paragraph-structure-and-line-space-calculations)

## Χρήση πακέτων LaTeX: setspace και parskip

* [Το πακέτο parskip](#the-parskip-package)
* [Το πακέτο setspace](#the-setspace-package)

### Το πακέτο parskip

Η [`parskip` πακέτο](https://ctan.org/pkg/parskip?lang=en) σας βοηθά να αλλάξετε με ασφάλεια το διάστημα που εισάγεται μεταξύ παραγράφων στο έγγραφό σας. Είναι σχεδιασμένο ώστε να διασφαλίζει ότι δομές εγγράφου όπως ο πίνακας περιεχομένων, τα περιβάλλοντα λιστών και οι εμφανείς επικεφαλίδες δεν επηρεάζονται αρνητικά από μια μη μηδενική τιμή του [`\parskip` εντολή](#parskip-tex-primitive), η οποία χρησιμοποιείται για να ορίσει την ποσότητα του διαστήματος που εισάγει το TeX/LaTeX μεταξύ παραγράφων.

Η `parskip` Το πακέτο δεν παρέχει καμία εντολή επιπέδου χρήστη· αντίθετα, χρησιμοποιεί επιλογές πακέτου για να διαμορφώσει τη συμπεριφορά του. Το [`parskip` τεκμηρίωση](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) είναι σύντομο, μόλις τριών σελίδων, αλλά εδώ είναι μια σύντομη περίληψη των επιλογών του πακέτου:

* **`skip`**: καθορίζει `\parskip`, το κατακόρυφο διάστημα μεταξύ παραγράφων·
* **`tocskip`**: καθορίζει μια μη μηδενική `\parskip` τιμή για χρήση σε `\tableofcontents` και παρόμοιες λίστες·
* **`indent`**: ορίζει την τιμή του `\parindent`, της εσοχής παραγράφου·
* **`parfill`**: προσαρμόζει την τιμή του `\parfillskip`, της κόλλας που προστίθεται στο τέλος της τελευταίας γραμμής μιας παραγράφου.

Από προεπιλογή, χρησιμοποιείται το `parskip` Το πακέτο ορίζει `\parindent` σε `0pt` και παρέχει μια μη μηδενική `\parskip` τιμή `.5[\baselineskip](#baselineskip-tex-primitive) συν 2pt`.

#### Παραδείγματα του πακέτου parskip

Τα ακόλουθα παραδείγματα δείχνουν κάποιες χρήσεις του `parskip` πακέτου. Επιλέξτε τους συνδέσμους «Open in Overleaf» για να ανοίξετε και να μεταγλωττίσετε τα παραδείγματα χρησιμοποιώντας το Overleaf.

**Ελάχιστο παράδειγμα του πακέτου parskip**

Το ακόλουθο ελάχιστο παράδειγμα φορτώνει το `parskip` πακέτο και στοιχειοθετεί δύο παραγράφους που δημιουργούνται χρησιμοποιώντας το [`blindtext` πακέτο](https://ctan.org/pkg/blindtext?lang=en). Το παράδειγμα στοιχειοθετεί επίσης τις προεπιλεγμένες τιμές του `\baselineskip`, `\parskip` και `\parindent`. Η ποσότητα του διαστήματος μεταξύ των δύο παραγράφων καθορίζεται από την τιμή του `\parskip`:

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Φορτώστε το πακέτο blindtext για δοκιμαστικό κείμενο
\usepackage{blindtext}
% Φορτώστε το πακέτο parskip χωρίς επιλογές
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % Χρησιμοποιήστε το \par για να επιβάλετε μια νέα παράγραφο
\blindtext[1]

Η τιμή του \verb|\parindent| είναι \texttt{\the\parindent}. Ακολουθούν οι άλλες τιμές:

\begin{itemize}
\item Η τιμή του \verb|\baselineskip| είναι \texttt{\the\baselineskip}
\item Η τιμή του \verb|\parskip| είναι \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+without+options%0A%5Cusepackage%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+is+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+Here+are+the+other+values%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cparskip%7C+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα χρήσης του πακέτου LaTeX parskip](/files/ee89d88a2449aa990b5f57670d2a172bc5233951)

Σημειώστε ότι `\parskip` η κόλλα συνήθως περιέχει ένα επεκτάσιμο [συστατικό κόλλας](#a-few-notes-on-glue) επειδή αυτό βοηθά το LaTeX να χωρέσει το περιεχόμενο στη σελίδα και να παράγει τα καλύτερα (βέλτιστα) σπασίματα σελίδας.

**Χρήση των επιλογών του πακέτου parskip**

Το ακόλουθο παράδειγμα φορτώνει και διαμορφώνει τις `parskip` πακέτο χρησιμοποιώντας την επιλογή `skip` και `indent` επιλογές. Στοιχειοθετεί επίσης δύο παραγράφους, μέσω του [`blindtext` πακέτο](https://ctan.org/pkg/blindtext?lang=en), και στοιχειοθετεί τις τιμές του `\baselineskip`, `\parskip` και `\parindent`.

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Φορτώστε το πακέτο blindtext για δοκιμαστικό κείμενο
\usepackage{blindtext}
% Φορτώστε το πακέτο parskip με τις επιλογές skip και indent
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % Χρησιμοποιήστε το \par για να επιβάλετε μια νέα παράγραφο
\blindtext[1]

Η τιμή του \verb|\parindent| ορίστηκε μέσω της επιλογής \texttt{indent}, οπότε τώρα είναι \texttt{\the\parindent}. Οι άλλες τιμές είναι:

\begin{itemize}
\item \verb|\baselineskip| είναι \texttt{\the\baselineskip}
\item \verb|\parskip| ορίστηκε μέσω της επιλογής \texttt{skip}, οπότε η τιμή του είναι \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+with+skip+and+indent+options%0A%5Cusepackage%5Bskip%3D10pt+plus1pt%2C+indent%3D40pt%5D%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25+Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+was+set+via+the+%5Ctexttt%7Bindent%7D+option%2C+so+it+is+now+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+The+other+values+are%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+%5Cverb%7C%5Cparskip%7C+was+set+via+the+%5Ctexttt%7Bskip%7D+option%2C+so+its+value+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Ένα δεύτερο παράδειγμα χρήσης του πακέτου LaTeX parskip](/files/02145b7066359df5eb435ed3b5415164add4be1e)

### Το πακέτο setspace

Η [`setspace` πακέτο](https://ctan.org/pkg/setspace?lang=en) παρέχει εντολές και περιβάλλοντα για να αλλάξετε την απόσταση μεταξύ των γραμμών κειμένου του εγγράφου σας. Ακολουθεί μια σύντομη περίληψη των βασικών εντολών και περιβαλλόντων που παρέχει το `setspace`:

* οι εντολές **`\singlespacing`**, **`\onehalfspacing`** και **`\doublespacing`** μπορούν να χρησιμοποιηθούν στο προοίμιο του εγγράφου ή μέσα στο κυρίως σώμα του εγγράφου για να αλλάξουν την απόσταση σε μέρος ή σε ολόκληρο το έγγραφό σας·
* το **`\setstretch{*ποσότητα baselinestretch*}`** η εντολή ορίζει μια προσαρμοσμένη απόσταση (μέσω αλλαγών στο [`\baselinestretch`](#demonstrating-baselinestretch))—μπορεί επίσης να χρησιμοποιηθεί στο προοίμιο του εγγράφου·
* τα περιβάλλοντα **`singlespace`**, **`singlespace*`** **`onehalfspace`** και **`doublespace`** επιτρέπουν την αλλαγή της απόστασης γραμμών για επιλεγμένα μέρη του κειμένου του εγγράφου·
* το **`\SetSinglespace{*τιμή*}`** η εντολή χρησιμοποιεί `*τιμή*` για να προσαρμόσει τη μονή απόσταση γραμμών ώστε να ταιριάζει με την απόσταση γραμμών κειμένου στοιχειοθετημένου με γραμματοσειρές των οποίων τα σχήματα χαρακτήρων («γλύφες») είναι σχετικά μικρά ή μεγάλα για το δεδομένο μέγεθος σημείου. Δείτε την ενότητα [*Σύντομες σημειώσεις για γραμματοσειρές και μέγεθος σημείου*](#brief-notes-on-fonts-and-point-size) για μια απεικόνιση που δείχνει τη μεταβολή του μεγέθους των γλυφών της γραμματοσειράς για δεδομένο μέγεθος σημείου·
* το **`απόσταση`** το περιβάλλον παρέχει προσαρμοσμένη απόσταση και απαιτεί ένα όρισμα: το [`\baselinestretch` τιμή](#demonstrating-baselinestretch) για χρήση· για παράδειγμα:

```latex
\begin{spacing}{2.5}
...
...
\end{spacing}
```

#### Παραδείγματα του πακέτου setspace

Τα ακόλουθα παραδείγματα δείχνουν κάποιες χρήσεις του `setspace` πακέτο: κάντε κλικ στους συνδέσμους «Open in Overleaf» για να ανοίξετε και να μεταγλωττίσετε τα παραδείγματα χρησιμοποιώντας το Overleaf.

**Χρήση του \doublespacing στο προοίμιο του εγγράφου**

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Φορτώστε το πακέτο blindtext για δοκιμαστικό κείμενο
\usepackage{blindtext}
% Φορτώστε το πακέτο setspace
\usepackage{setspace}
% Χρήση του \doublespacing στο προοίμιο
% αλλάζει το κείμενο σε διπλή απόσταση γραμμών
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[Ανοίξτε αυτό το `setspace` παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+doublespacing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα της εντολής \doublespacing του setspace](/files/ef5edbb94e936cb5eebc5dcdb47f4d585931c180)

**Χρήση του περιβάλλοντος spacing**

Επειδή ο ακόλουθος κώδικας στοιχειοθετεί 3 σελίδες, προτιμότερο είναι να δείτε το αποτέλεσμα στο Overleaf επιλέγοντας τον σύνδεσμο «Open in Overleaf» που παρέχεται παρακάτω.

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Φορτώστε το πακέτο blindtext για δοκιμαστικό κείμενο
\usepackage{blindtext}
% Φορτώστε το πακέτο setspace
\usepackage{setspace}
% Χρήση του \doublespacing στο προοίμιο
% αλλάζει το κείμενο σε διπλή απόσταση γραμμών
\doublespacing
\begin{document}
\blindtext[1]

Τώρα, εφαρμόστε μια μεγαλύτερη (προσαρμοσμένη) απόσταση εφαρμόζοντας μια τιμή \verb|\baselinestretch| ίση με 3:

\begin{verbatim}
\begin{spacing}{3}
\blindtext[1]
\end{spacing}
\end{verbatim}

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
Τώρα, επιστρέψτε στο \verb|\singlespacing|\singlespacing\blindtext[1]
\end{document}
```

&#x20;[Ανοίξτε αυτό το `setspace` παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+various+setspace+commands\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%0ANow%2C+apply+a+larger+%28custom%29+spacing+by+applying+a+%5Cverb%7C%5Cbaselinestretch%7C+value+of+3%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Cbegin%7Bspacing%7D%7B3%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Cbegin%7Bspacing%7D%7B2.5%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0ANow%2C+revert+to+%5Cverb%7C%5Csinglespacing%7C%5Csinglespacing%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

**Χρήση του περιβάλλοντος singlespace\***

Όπως σημειώνεται στο άρθρο [*Σύντομη σημείωση για την απόσταση γραμμών*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/), η `setspace` το πακέτο παρέχει starred (`singlespace*`) και μη starred εκδόσεις του `singlespace` περιβάλλοντος. Τα σχόλια στον κώδικα του `setspace` του πακέτου σημειώνουν ότι το `singlespace*` περιβάλλον έχει σχεδιαστεί για να «... παρέχει βελτιωμένη κατακόρυφη απόσταση γύρω από τα περιβάλλοντα itemize και quote».

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

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
Ορίστε μια λίστα με κουκκίδες\par (περιβάλλον \texttt{singlespace}).
\begin{itemize}
\item Ένα
\item Δύο
\item Τρία
\end{itemize}
\end{singlespace}%
Η λίστα τελείωσε.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
Ορίστε μια λίστα με κουκκίδες\par (περιβάλλον \texttt{singlespace*}).
\begin{itemize}
\item Ένα
\item Δύο
\item Τρία
\end{itemize}
\end{singlespace*}
Η λίστα τελείωσε.
\end{minipage}
```

&#x20;[Ανοίξτε αυτό το `setspace` παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+starred+singlespace+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cdoublespacing+%0A%5Cblindtext%5B1%5D%0A%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%7D%25%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%5Ckern10pt%25%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%2A%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%2A%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%2A%7D%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα του περιβάλλοντος LaTeX singlespace\*](/files/5df2b9f008c747f58d2bc05256afa0a42b99d4a3)

**Χρήση της εντολής \setstretch**

`\setstretch{*τιμή*}` ορίζει την τιμή του `\baselinestretch` σε *τιμή* και προκαλεί μια *άμεση* αλλαγή στο `\baselineslip` που προκαλείται από `\baselinestretch`. Το ακόλουθο παράδειγμα χρησιμοποιεί `\setstretch{1.618}`—η παράξενη τιμή 1.618 [εξηγείται αργότερα στο άρθρο](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% Το παράξενο νούμερο 1.618 εξηγείται αργότερα στο άρθρο.
\setstretch{1.618}
Γράφουμε \verb|\setstretch{1.618}| για να προκαλέσουμε μια άμεση αλλαγή στην απόσταση γραμμών. Αν γράφαμε \verb|\renewcommand{\baselinestretch}{1.618}| η απόσταση γραμμών δεν θα τροποποιούνταν μέχρι να χρησιμοποιηθεί μια εντολή αλλαγής γραμματοσειράς, όπως η \verb|\selectfont|.

\blindtext[1]
```

&#x20;[Ανοίξτε αυτό το `setspace` παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+setstretch+command\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%25+The+strange+figure+of+1.618+is+explained+later+in+the+article.%0A%5Csetstretch%7B1.618%7D%0AWe+write+%5Cverb%7C%5Csetstretch%7B1.618%7D%7C+to+cause+an+immediate+change+to+the+line+spacing.+If+we+wrote+%5Cverb%7C%5Crenewcommand%7B%5Cbaselinestretch%7D%7B1.618%7D%7C+the+line+spacing+would+not+be+modified+until+a+font-changing+command%2C+such+as+%5Cverb%7C%5Cselectfont%7C%2C+is+used.%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα της εντολής \setstretch](/files/6147255896d185d7130f8ac5c3e2755c757f85da)

**Χρήση της εντολής \SetSinglespace**

Το ακόλουθο έργο μεταγλωττίζεται μέσω LuaLaTeX και χρησιμοποιεί το `fontspec` πακέτο για πρόσβαση στις γραμματοσειρές TeX Gyre Pagella. Συγκρίνει δύο παραγράφους κειμένου στοιχειοθετημένες με TeX Gyre Pagella: η πρώτη παράγραφος χρησιμοποιεί την προεπιλεγμένη μονή απόσταση γραμμών και η δεύτερη έχει μεγαλύτερη μονή απόσταση γραμμών λόγω της εφαρμογής του `\SetSinglespace{1.1}`. Μερικοί άνθρωποι μπορεί να προτιμούν τη δεύτερη, ελαφρώς «ανοικτή», παράγραφο, θεωρώντας ότι βελτιώνει την άνεση ανάγνωσης, αλλά αυτό είναι φυσικά θέμα προσωπικής προτίμησης.

```latex
\section*{Προεπιλεγμένη μονή απόσταση του Computer Modern}
Λίγο κανονικό κείμενο. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
\section*{Προεπιλεγμένη μονή απόσταση γραμμών TeX Gyre Pagella}
Ορίστε λίγο κανονικό κείμενο. \blindtext[1]
\section*{Προσαρμοσμένη μονή απόσταση γραμμών TeX Gyre Pagella}
Σημείωση: πρέπει να εκδώσουμε \verb|\singlespacing| μετά την εγγραφή του
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
Ορίστε λίγο κανονικό κείμενο. \blindtext[1]
\end{singlespace*}
```

&#x20;[Ανοίξτε αυτό το `setspace` παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Example+use+of+the+SetSinglespace+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%2A%7BComputer+Modern+default+single+spacing%7D%0ASome+regular+text.+%5Cblindtext%5B1%5D%0A%5Csetmainfont%7BTeX+Gyre+Pagella%7D%0A%5Csection%2A%7BTeX+Gyre+Pagella+default+single+line+spacing%7D%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Csection%2A%7BTeX+Gyre+Pagella+adjusted+single+line+spacing%7D%0ANote%3A+we+need+to+issue+%5Cverb%7C%5Csinglespacing%7C+after+writing++%0A%5Cverb%7C%5CSetSinglespace%7B1.1%7D%7C%5CSetSinglespace%7B1.1%7D%5Csinglespacing%0A%5Cbegin%7Bsinglespace%2A%7D+%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Cend%7Bsinglespace%2A%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Επίδειξη της εντολής LaTeX \SetSinglespace](/files/67f7a532c4732a6b10a51ca18fcc9b559307f380)

Στην επόμενη ενότητα εξετάζουμε τις εντολές `\baselinestretch` και `\linespread`.

#### Κατανόηση των \baselinestretch και \linespread

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

* **`\baselinestretch`**: αυτή η εντολή αποθηκεύει έναν συντελεστή κλιμάκωσης που χρησιμοποιείται για να πολλαπλασιάσει (κλιμακώσει) την τρέχουσα τιμή του [`\baselineskip`](#baselineskip-tex-primitive). Αυτή η κλιμάκωση εφαρμόζεται συνήθως όταν *την επόμενη φορά που* χρησιμοποιείται μια εντολή επιλογής γραμματοσειράς—όπως η `\selectfont`. Για να αλλάξετε την τιμή που αποθηκεύεται από το `\baselinestretch` θα πρέπει να γράψετε `\renewcommand{\baselinestretch}{*κλίμακα*}`
  * **Σημείωση**: Αν γράψετε `\renewcommand{\baselinestretch}{*κλίμακα*}` στο κυρίως σώμα του εγγράφου, η νέα τιμή του `\baselinestretch` [δεν θα τεθεί σε άμεση ισχύ](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): το νέο `*κλίμακα*` συντελεστής αποθηκεύεται για μελλοντική χρήση. Για να χρησιμοποιήσετε/εφαρμόσετε αμέσως τη νέα`*κλίμακα*` τιμή, γράψτε `\selectfont` όπως αποδεικνύεται στο [απόσπασμα κώδικα παρακάτω](#demonstrating-baselinestretch).
* **`\linespread{*κλίμακα*}`**: μπορεί να χρησιμοποιηθεί για να αλλάξει το [`\baselineskip`](#baselineskip-tex-primitive) χωρίς να επηρεάζει το τρέχον μέγεθος γραμματοσειράς. Αυτή η εντολή ορίζει το `\baselinestretch` σε `*κλίμακα*` , το οποίο στη συνέχεια αλλάζει το `\baselineskip` σε `*κλίμακα* × [\baselineskip](#baselineskip-tex-primitive)`. Ωστόσο, αυτή η κλιμάκωση επίσης δεν πραγματοποιείται αμέσως εκτός αν η `\linespread` εντολή χρησιμοποιείται στο προοίμιο του εγγράφου. Αν η `\linespread` χρησιμοποιηθεί στο κυρίως σώμα του εγγράφου, τίθεται σε ισχύ μετά τη χρήση της επόμενης εντολής μεγέθους/επιλογής γραμματοσειράς.

Με βάση τα παραπάνω, είτε:

* `\renewcommand{\baselinestretch}{*κλίμακα*}\selectfont` ή,
* `\linespread{*κλίμακα*}\selectfont`

μπορούν να χρησιμοποιηθούν για την αλλαγή της απόστασης γραμμών, και και τα δύο θα λειτουργούν μέσα από αλλαγές στο μέγεθος γραμματοσειράς, όπως φαίνεται στο παρακάτω παράδειγμα. Λοιπόν, ποιο θα πρέπει να χρησιμοποιήσετε; Ανατρέξτε στο [αυτή τη σύντομη συζήτηση στο tex.stackexchange](https://tex.stackexchange.com/a/241121).

**Επίδειξη του \linespread**

Το ακόλουθο παράδειγμα χρησιμοποιεί `\linespread{2.5}` στο προοίμιο του εγγράφου, το οποίο αλλάζει την απόσταση γραμμών χωρίς να απαιτεί πρόσθετες εντολές επιλογής γραμματοσειράς:

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Φορτώστε το πακέτο blindtext για δοκιμαστικό κείμενο
\usepackage{blindtext}
% Η χρήση του \linespread στο προοίμιο αλλάζει
% την απόσταση γραμμών χωρίς να απαιτεί πρόσθετες
% εντολές επιλογής γραμματοσειράς, όπως η \selectfont
\linespread{2.5}
\begin{document}
\blindtext[1] % Οι γραμμές επηρεάζονται από το \linespread{2.5}
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Using+%5Clinespread+in+the+preamble+changes+%0A%25+line+spacing+without+requiring+additional%0A%25+font-selection+commands%2C+such+as+%5Cselectfont%0A%5Clinespread%7B2.5%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D+%25+The+lines+are+affected+by+%5Clinespread%7B2.5%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Χρήση της εντολής linespread](/files/990df4121b80421fcfa5408c43c7e8c466db8152)

Χρησιμοποιώντας `\linespread{2.5}` στο κυρίως σώμα του εγγράφου (μετά το `\begin{document}`) *θα* απαιτούσε εντολές επιλογής γραμματοσειράς για να ενεργοποιηθεί η αλλαγή στην απόσταση γραμμών. Ανοίξτε τον ακόλουθο κώδικα στο Overleaf και συγκρίνετε το αποτέλεσμα με το προηγούμενο παράδειγμα:

```latex
Επειδή η ακόλουθη εντολή \verb|\linespread| χρησιμοποιείται στο κυρίως σώμα του εγγράφου, απαιτείται μια εντολή επιλογής γραμματοσειράς για να αλλάξει η απόσταση γραμμών. Αποσχολιάστε το \verb|\selectfont| για να δείτε τη διαφορά:

\linespread{2.5}%\selectfont

% Χωρίς το \selectfont οι ακόλουθες γραμμές της παραγράφου
% δεν επηρεάζονται από το \linespread{2.5}:
\blindtext[1]
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+example+using+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0ABecause+the+following+%5Cverb%7C%5Clinespread%7C+command+is+used+in+the+document+body%2C+a+font-selection+command+is+required+to+change+the+line+spacing.+Un-comment+%5Cverb%7C%5Cselectfont%7C+to+see+the+difference%3A%0A%0A%5Clinespread%7B2.5%7D%25%5Cselectfont%0A+%0A%25+Without+%5Cselectfont+the+following+paragraph+lines+are+%0A%25+unaffected+affected+by+%5Clinespread%7B2.5%7D%3A+%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![χρήση της εντολής LaTeX \linespread στο έγγραφο](/files/349d8bce90ce7489f9e3c6f05fa52fbcf152c446)

**Επίδειξη του \baselinestretch**

Το ακόλουθο παράδειγμα δείχνει `\baselinestretch` και `\selectfont` για να δείξει τις αντίστοιχες επιδράσεις στο [`\baselineskip`](#baselineskip-tex-primitive):

```latex
Η προεπιλεγμένη τιμή του \verb|\baselineskip|=\the\baselineskip. Τώρα ενημερώστε το \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}. Ωστόσο, παρόλο που έχουμε εκτελέσει

\vspace{5pt}
\verb|\renewcommand\baselinestretch{2.5}|
\vspace{5pt}

\noindent δεν έχει (ακόμη) κανένα αποτέλεσμα: η νέα τιμή του \verb|\baselinestretch| αποθηκεύεται, αλλά δεν εφαρμόζεται. Μπορούμε να εκδώσουμε μια εντολή \verb|\selectfont| για να τεθεί σε ισχύ η αλλαγή· αλλά, προς το παρόν, η τιμή του \verb|\baselineskip| εξακολουθεί να είναι \the\baselineskip{} (αμετάβλητη).

Αν τώρα εκτελέσουμε το \verb|\selectfont| η αλλαγή στο \verb|\baselinestretch|, θέτοντάς το σε 2.5, θα τεθεί τώρα σε ισχύ—\selectfont παρότι βρισκόμαστε στη μέση μιας παραγράφου. Τώρα, η τιμή του \verb|\baselineskip| είναι \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\)).

Τι συμβαίνει αν αλλάξουμε το μέγεθος γραμματοσειράς σε 14pt και το \verb|\baselineskip| σε 16pt χρησιμοποιώντας τις εντολές \verb|\fontsize{14}{16}\selectfont|;

\fontsize{14}{16}\selectfont Τώρα, το \verb|\baselineskip| δεν είναι \textit{16pt} αλλά \the\baselineskip{} επειδή η τιμή του \verb|\baselinestretch| (2.5) έχει διατηρηθεί και εφαρμοστεί, δίνοντας \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\).

\section{\texttt{\bfseries\string\linespread}}
Η εντολή \verb|\linespread| μπορεί να χρησιμοποιηθεί για να τροποποιήσει το \verb|\baselineskip| χωρίς να αλλάξει το μέγεθος της γραμματοσειράς.
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0AThe+default+value+of+%5Cverb%7C%5Cbaselineskip%7C%3D%5Cthe%5Cbaselineskip.+Now+update+%5Cverb%7C%5Cbaselinestretch%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D.+However%2C+although+we+have+executed%0A%0A%5Cvspace%7B5pt%7D%0A%5Cverb%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D%7C+%0A%5Cvspace%7B5pt%7D%0A%0A%5Cnoindent+it+%5Ctextit%7Bhas+not%7D+%28yet%29+had+any+effect%3A+the+new+value+of+%5Cverb%7C%5Cbaselinestretch%7C+is+stored%2C+but+not+actioned.+We+can+issue+a+%5Cverb%7C%5Cselectfont%7C+command+to+make+the+change+take+effect%3B+but%2C+for+now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+still+%5Cthe%5Cbaselineskip%7B%7D+%28unchanged%29.+%0A%0AIf+we+now+execute+%5Cverb%7C%5Cselectfont%7C+the+change+to+%5Cverb%7C%5Cbaselinestretch%7C%2C+setting+it+to+2.5%2C+will+now+take+effect---%5Cselectfont+even+though+we+are+in+the+middle+of+a+paragraph.+Now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Cthe%5Cbaselineskip%7B%7D+%28%3D+%5C%282.5+%5Ctimes+12%3D30%5Cmathrm%7Bpt%7D%5C%29%29.%0A%0AWhat+happens+if+we+change+the+font+size+to+14pt+and+%5Cverb%7C%5Cbaselineskip%7C+to+16pt+using+the+commands+%5Cverb%7C%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont%7C%3F+%0A%0A%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont+Now%2C+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctextit%7Bnot%7D+16pt+but+%5Cthe%5Cbaselineskip%7B%7D+because+the+value+of++%5Cverb%7C%5Cbaselinestretch%7C+%282.5%29+has+been+preserved+and+applied%2C+giving+%5Cverb%7C%5Cbaselineskip%7C+%3D+%5C%282.5+%5Ctimes+16%3D40%5Cmathrm%7Bpt%7D%5C%29.%0A%0A%5Csection%7B%5Ctexttt%7B%5Cbfseries%5Cstring%5Clinespread%7D%7D%0AThe+%5Cverb%7C%5Clinespread%7C+command+can+be+used+to+modify+%5Cverb%7C%5Cbaselineskip%7C+without+changing+the+font+size.%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Επίδειξη baselinestretch](/files/026d64c0d8f1def73b60359bd5e412ae9c953063)

#### Πώς ορίζεται και αλλάζει η «απόσταση γραμμών» στο πακέτο setspace;

Η *ακριβής* ορισμός και *μέτρηση* της «απόστασης γραμμών» είναι ανοικτά σε ερμηνεία, κάτι που μπορεί να οδηγήσει σε διάφορες υλοποιήσεις μέσα σε συστήματα/εφαρμογές λογισμικού. Σαφώς, το `setspace` πακέτο πρέπει να υποθέσει έναν λειτουργικό ορισμό της απόστασης γραμμών, ώστε να μπορεί να παρέχει υποστήριξη για στοιχειοθέτηση γραμμών «μονής» και «διπλής» απόστασης, ή οποιουδήποτε άλλου πολλαπλασίου της απόστασης γραμμών. Αλλά ποιες μεταβλητές τροποποιούνται από το `setspace` για να παραχθούν γραμμές με διαφορετικά επίπεδα λευκού χώρου μεταξύ τους;

Ευτυχώς, [συζητήσεις στο tex.stackexchange](https://tex.stackexchange.com/a/30106) και [τα σχόλια στον κώδικα του πακέτου](https://tex.stackexchange.com/a/632830) διευκρινίζουν πώς `setspace` υλοποιεί την απόσταση γραμμών: ορίζει την τιμή του `\baselineskip` χρησιμοποιώντας ένα πολλαπλάσιο του μεγέθους σημείου της γραμματοσειράς.

**Σύντομες σημειώσεις για γραμματοσειρές και μέγεθος σημείου**

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

Η ακόλουθη εικόνα δείχνει πεζά γράμματα «abc» με στυλ από 4 διαφορετικές γραμματοσειρές και όλα *εμφανισμένα στο ίδιο μέγεθος σημείου*. Παρατηρήστε πώς το «μέγεθος» αυτών των πεζών γραμμάτων ποικίλλει ανάλογα με τον σχεδιασμό της γραμματοσειράς (typeface), παρόλο που όλα στοιχειοθετούνται στο *ίδιο* μέγεθος σημείου:

![Διάφορες γραμματοσειρές στο ίδιο μέγεθος σημείου](/files/3203eb9af07f2d4d9d34b75c71aac31b3d728809)

#### Μονό διάστημα γραμμών στο πακέτο setspace

Μπορούμε να χρησιμοποιήσουμε [συζητήσεις στο tex.stackexchange](https://tex.stackexchange.com/a/30106) ως βάση για μερικές περαιτέρω εξηγήσεις.

Ένα βασικό έγγραφο που χρησιμοποιεί την `article` κλάση έχει προεπιλεγμένο μέγεθος γραμματοσειράς κειμένου 10pt με `\baselineskip` αντίστοιχη τιμή 12pt για το `\baselineskip` Όπως φαίνεται στον ακόλουθο πίνακα:

| επιλογή              | μέγεθος γραμματοσειράς      | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| -------------------- | --------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (προεπιλογή) | 10pt                        | 12pt                       | 1.2                                                              |
| \[11pt]              | 10.95pt$${}^{\textbf{\*}}$$ | 13.6pt                     | 1.24                                                             |
| \[12pt]              | 12pt                        | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$Ο λόγος της ανώμαλης τιμής του `10.95pt`, και όχι ακριβώς `11pt`, εξηγείται πολύ ωραία σε αυτή την [ανάρτηση στο reddit](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

Όπως φαίνεται στον πίνακα, για κάθε συνδυασμό μεγέθους σημείου κειμένου και της αντίστοιχης προεπιλεγμένης τιμής (δηλ. μονής απόστασης γραμμών) του `\baselineskip`, ο λόγος

$$\frac{\texttt{\baselineskip}}{\text{font size}}$$

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

**Κατανόηση και υπολογισμός τιμών για το \baselinestretch**

Για να επιτευχθεί ένα συγκεκριμένο πολλαπλάσιο απόστασης γραμμών όπως 1.5, 2, 3 κ.λπ., η `\baselinestretch` εντολή πρέπει να οριστεί σε φαινομενικά [«παράξενες» τιμές](https://tex.stackexchange.com/a/30106)· για παράδειγμα με [χρησιμοποιώντας το `\linespread` εντολή](https://texblog.org/2011/09/30/quick-note-on-line-spacing/). Σε αυτή την ενότητα θα ρίξουμε μια πιο κοντινή ματιά στο `\baselinestretch` για να δούμε πώς προκύπτουν αυτές οι «παράξενες» τιμές.

Ας επιλέξουμε ένα έγγραφο με προεπιλεγμένο μέγεθος γραμματοσειράς $$f$$ και προεπιλεγμένο `\baselineskip` του $$\text{dbls}\_1$$, όπου ο δείκτης $${}\_1$$ υποδηλώνει την προεπιλεγμένη `\baselineskip` τιμή για μονή απόσταση γραμμών σε μέγεθος γραμματοσειράς $$f$$.

Θα ***ορίσουμε*** τη μονή απόσταση γραμμών ως τον ακόλουθο λόγο που θα αναφέρουμε ως $$\alpha\_f$$:

$$\frac{\text{dbls}\_1}{f}=\alpha\_f$$

Για ένα δεδομένο μέγεθος γραμματοσειράς $$f$$, ας *ορίσουμε* ορίσουμε επίσης τις ακόλουθες τιμές απόστασης γραμμών:

* ένα πολλαπλάσιο απόστασης γραμμών 1.5 ορίζεται ως *ορίζεται* ως

$$\frac{\text{dbls}\_{1.5}}{f}=1.5$$

* ένα πολλαπλάσιο απόστασης γραμμών 2.0 ορίζεται ως *ορίζεται* ως

$$\frac{\text{dbls}\_{2.0}}{f}=2.0$$

* ένα πολλαπλάσιο, $$m$$, απόστασης γραμμών ορίζεται ως *ορίζεται* ως

$$\frac{\text{dbls}\_{m}}{f}=m$$

Χρησιμοποιώντας τη μονή απόσταση γραμμών μας, ορισμένη από τον λόγο $$\alpha\_f$$, μπορούμε να γράψουμε τον ακόλουθο «ψευδοκώδικα» για να υπολογίσουμε μια τιμή `\baselinestretch` που αντιστοιχεί σε οποιοδήποτε πολλαπλάσιο απόστασης γραμμών $$m$$:

$$\begin{align\*} \texttt{multi spacing } (m) &= \text{a constant } (\lambda) \times \texttt{single spacing}\ \frac{\text{dbls}\_{m}}{f}&=\lambda \times \alpha\_f\ m&=\lambda\alpha\_f\ \lambda&=\frac{m}{\alpha\_f}\kern5pt(\text{refer to }\lambda\text{ as }\texttt{\baselinestretch})\ \implies \texttt{\baselinestretch}&=\frac{m}{\alpha\_f} \end{align\*}$$

Ας χρησιμοποιήσουμε `11pt` κείμενο (στην πραγματικότητα `10.95pt`) και η προεπιλογή `\baselineskip` τιμή `13.6pt` για τον υπολογισμό `\baselinestretch` για *διπλό* διάστιχο:

$$\begin{align\*} m&=2.0\ \texttt{\baselinestretch}&=\frac{2.0}{\alpha\_f}\ &=\frac{2.0}{\frac{\text{dbls}\_1}{f}}\ &=\frac{2.0}{\frac{13.6}{11}}\ &=2.0 \times \frac{11}{13.6}\ &=1.618\ \end{align\*}$$

Το ακόλουθο τμήμα κώδικα χρησιμοποιείται στο `setspace` πακέτο για να επιτευχθεί `\doublespacing` όταν το μέγεθος γραμματοσειράς είναι 11pt. Παρατηρήστε πώς η τιμή του `1.618`, όπως υπολογίστηκε παραπάνω, αποθηκεύεται στην εντολή `\baselinestretch`:

```latex
\newcommand{\doublespacing}{%
  \setstretch {1.667}%  προεπιλογή
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.667}%
  \or % 11pt
    \setstretch {1.618}%
  \or % 12pt
    \setstretch {1.655}%
  \fi
}
```

Χρησιμοποιώντας ένα `article` κλάση εγγράφου με την επιλογή γραμματοσειράς 11pt, το ακόλουθο παράδειγμα συγκρίνει `\doublespacing` με ένα `απόσταση` περιβάλλον χρησιμοποιώντας την υπολογισμένη τιμή μας για `1.618` για `\baselinestretch`. Δεν αποτελεί έκπληξη ότι το `\baselineskip` τιμές είναι πανομοιότυπες (`22.00475pt`):

```latex
\begingroup
\doublespacing
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\doublespacing)|

\blindtext[1]

\endgroup

\begin{spacing}{1.618}
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\begin{spacing}{1.618})|

\blindtext[1]
\end{spacing}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch+calculations\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D25cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D+%25+For+dummy+text.%0A%5Cbegin%7Bdocument%7D%0A%5Cbegingroup%0A%5Cdoublespacing%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cdoublespacing%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%0A%5Cendgroup%0A%0A%5Cbegin%7Bspacing%7D%7B1.618%7D%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cbegin%7Bspacing%7D%7B1.618%7D%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![παρουσίαση του \baselinestretch](/files/90878a72e57eabac122f0a9b7842bfae89e47c58)

Παρόμοιοι υπολογισμοί των `\baselinestretch` τιμών ισχύουν και για άλλα μεγέθη γραμματοσειράς και συνδυασμούς διάστιχου, όπως παρατίθενται στους ακόλουθους πίνακες:

![παράμετροι setspace](/files/f67f5fc33893e9791a058f02140c25a0a7396b02)

## Χρήση εντολών παραμέτρων TeX/LaTeX

Οι ακόλουθες ενότητες εξετάζουν έναν αριθμό εντολών που σχετίζονται με το διάστιχο/τη μορφοποίηση παραγράφων: ορισμένες από αυτές τις εντολές είναι *ενσωματωμένες στο* μηχανές στοιχειοθεσίας TeX, ενώ άλλες είναι μακροεντολές TeX/LaTeX. Οι εντολές που είναι ενσωματωμένες στις μηχανές TeX είναι γνωστές ως *πρωταρχικές εντολές*, που σημαίνει ότι είναι *θεμελιώδες* και *μη αναγώγιμες* επειδή, σε αντίθεση με τις μακροεντολές, οι πρωτογενείς εντολές δεν κατασκευάζονται από ακολουθίες άλλων εντολών.

Συγκεκριμένα, θα εξετάσουμε έναν αριθμό πρωτογενών *εντολών παραμέτρων* που υποστηρίζονται από όλες τις μηχανές TeX, συμπεριλαμβανομένων των pdfTeX, XeTeX και LuaTeX. Οι εντολές παραμέτρων, είτε σχετίζονται με παραγράφους είτε όχι, χρησιμοποιούνται για να *λάβουν την τρέχουσα τιμή* της αντίστοιχης παραμέτρου ή *να ορίσουν αυτή την παράμετρο σε νέα τιμή*. Για παράδειγμα, η `\parskip` εντολή, που είναι πρωτογενής, καθορίζει την τιμή μιας παραμέτρου που ελέγχει την ποσότητα του λευκού χώρου που εισάγεται ανάμεσα σε δύο στοιχειοθετημένες παραγράφους.

Για να *λάβετε* (εδώ, να στοιχειοθετήσετε) την τρέχουσα τιμή του `\parskip` θα γράφατε:

```latex
\the\parskip
```

Για να *set* την τρέχουσα τιμή του `\parskip` σε `1pt plus2pt` (ένα ευέλικτο glue) θα μπορούσατε να γράψετε κάτι σαν αυτό:

```latex
\setlength{\parskip}{1pt plus2pt}
```

Επίσης συζητούμε ορισμένες χρήσιμες TeX/LaTeX *μακροεντολές*, εντολές υψηλότερου επιπέδου που γράφονται και κατασκευάζονται χρησιμοποιώντας μια ακολουθία επιμέρους εντολών.

### Εντολές που χρησιμοποιούνται για το διάστιχο παραγράφων

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

#### Πρωτογενείς εντολές

* [`**\parindent**`](#parindent-tex-primitive): η ποσότητα εσοχής (λευκού χώρου) που προστίθεται στην πρώτη γραμμή μιας παραγράφου.
* [`**\parskip**`](#parskip-tex-primitive): η ποσότητα ευέλικτου λευκού χώρου («glue») που τοποθετείται ανάμεσα στις παραγράφους.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives): ευέλικτο διάστημα (glue) που εισάγεται στα δεξιά κάθε γραμμής σε μια παράγραφο.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives): ευέλικτο διάστημα (glue) που εισάγεται στα αριστερά κάθε γραμμής σε μια παράγραφο.
* [`**\baselineskip**`](#baselineskip-tex-primitive): η τιμή αυτής της παραμέτρου εξυπηρετεί δύο ρόλους:
  * ορίζει την επιθυμητή απόσταση μεταξύ των γραμμών βάσης του κειμένου σε μια παράγραφο;
  * χρησιμοποιείται για τον υπολογισμό της (μεταβλητής) ποσότητας χώρου (glue) που προστίθεται μεταξύ των γραμμών ώστε να επιτευχθεί η επιθυμητή απόσταση από γραμμή βάσης σε γραμμή βάσης ([βλ. αργότερα στο άρθρο](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives): μια παράμετρος της οποίας η τιμή ορίζει την ελάχιστη αποδεκτή απόσταση μεταξύ δύο γειτονικών γραμμών μιας παραγράφου.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives): η ποσότητα χώρου (glue) που εισάγεται ανάμεσα σε δύο γραμμές σε μια παράγραφο αν το υπολογισμένο `\baselineskip` glue θα είχε ως αποτέλεσμα οι γραμμές να βρίσκονται υπερβολικά κοντά μεταξύ τους.
* `**\parfillskip**`: πολύ ευέλικτο glue που προστίθεται στο τέλος της τελευταίας γραμμής σε μια παράγραφο ώστε να «γεμίσει» με λευκό χώρο· για ένα οπτικό παράδειγμα, ανατρέξτε στην εικόνα της ενότητας [*Οπτικοποίηση άλλων τύπων glue παραγράφου*](#visualizing-other-types-of-paragraph-glue).

#### Εντολές μακροεντολών

Οι ακόλουθες εντολές μακροεντολών TeX/LaTeX χρησιμοποιούνται συχνά για να τροποποιήσουν το διάστιχο παραγράφων:

* [`**\offinterlineskip**` και `**\nointerlineskip**`](#offinterlineskipandnointerlineskip): εντολές που μπορούν να χρησιμοποιηθούν για να απενεργοποιήσουν τον υπολογισμό και την εισαγωγή του `\baselineskip` glue;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch): μια εντολή που αποθηκεύει έναν αριθμητικό συντελεστή που χρησιμοποιείται για τον υπολογισμό της τιμής του `\baselineskip` όταν επιλέγεται μια γραμματοσειρά. Έχει προεπιλεγμένη τιμή 1·
* [`**\linespread**`](#demonstrating-linespread): αυτή η εντολή μπορεί να χρησιμοποιηθεί για να αλλάξει την τρέχουσα τιμή του `\baselinestretch`.

### Ευέλικτο διάστημα (glue)

Οι μηχανές TeX επιτυγχάνουν εφέ διάστιχου, μεταξύ άλλων μέσα ή ανάμεσα στις παραγράφους, μέσω της χρήσης ενός ευέλικτου λευκού χώρου που ονομάζεται *glue* ο οποίος μπορεί να τεντωθεί ή να συρρικνωθεί ανάλογα με την ποσότητα χώρου που απαιτείται. Αν θέλετε να μάθετε για την έννοια του glue στο TeX, περισσότερες λεπτομέρειες μπορείτε να βρείτε στα ακόλουθα άρθρα του Overleaf:

* [Εξερεύνηση underfull ή overfull boxes και υπολογισμών badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [Πώς το TeX υπολογίζει τις ρυθμίσεις glue σε ένα \hbox](/latex/el/se-vathos-arthra/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [Κατανόηση των προειδοποιήσεων underfull και overfull box](/latex/el/basi-gnoseon/138-understanding-underfull-and-overfull-box-warnings.md).

## Τα βασικά: εντολές παραμέτρων και παραδείγματα

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

### \parindent (TeX primitive)

Αυτή η εντολή παραμέτρου ορίζει το ποσό εσοχής (λευκού χώρου) που προστίθεται στην πρώτη γραμμή μιας παραγράφου. Μπορεί να αλλάξει χρησιμοποιώντας την εντολή του LaTeX `\setlength` · για παράδειγμα, για να δώσετε εσοχή στις παραγράφους κατά `15pt` set `\parindent` σε `15pt` γράφοντας:

```latex
\setlength{\parindent}{15pt}
```

Σημειώστε ότι:

* μπορείτε να αλλάξετε `\parindent` μέσα σε μια ομάδα, διασφαλίζοντας ότι η επίδρασή του περιορίζεται στις παραγράφους αυτής της ομάδας·
* `\parindent` μπορεί να είναι αρνητική, παράγοντας «αρνητική εσοχή» αντί για εσοχή·
* από προεπιλογή το LaTeX δεν βάζει εσοχή στην πρώτη παράγραφο που ακολουθεί έναν τίτλο ενότητας του εγγράφου (`\\section{...}` κ.λπ.).

Το ακόλουθο παράδειγμα δείχνει τη χρήση του `\parindent`.

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Δημιουργήστε μια εντολή για να περιέχει μια παράγραφο κειμένου
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }Όταν το \TeX{} στοιχειοθετεί μια παράγραφο, αντιμετωπίζει κάθε μεμονωμένο χαρακτήρα ως ένα δισδιάστατο ``κουτί'' με συγκεκριμένο πλάτος, ύψος και βάθος.\par}
\begin{document}

% Ορίστε το \parskip ώστε να βάζει 10pt ανάμεσα στις παραγράφους
\setlength{\parskip}{10pt}

% Ορίστε την τιμή του \parindent σε 0pt
\setlength{\parindent}{0pt}
\testpar

% Ορίστε την τιμή του \parindent σε 10pt
\setlength{\parindent}{10pt}
\testpar

% Ορίστε το \parindent μέσα σε μια ομάδα
{\setlength{\parindent}{50pt}\testpar}

% Τώρα το \parindent είναι ξανά 10pt
\testpar

% Ναι, μπορείτε να έχετε αρνητικό \parindent
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+paragraph+indentation\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Ctexttt%7B%5Cstring%5Cparindent%3D%5Cthe%5Cparindent%5C+%7DWhen+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D+%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%25+Set+%5Cparskip+to+put+10pt+between+paragraphs%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%0A%0A%25+Set+the+value+of+%5Cparindent+to+0pt%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%5Ctestpar%0A%0A%25+Set+the+value+of+%5Cparindent+to+10pt%0A%5Csetlength%7B%5Cparindent%7D%7B10pt%7D%0A%5Ctestpar%0A%0A%25+Set+%5Cparindent+in+a+group%0A%7B%5Csetlength%7B%5Cparindent%7D%7B50pt%7D%5Ctestpar%7D%0A%0A%25+Now+%5Cparindent+is+again+10pt%0A%5Ctestpar%0A%0A%25+Yes%2C+you+can+have+a+negative+%5Cparindent%0A%5Csetlength%7B%5Cparindent%7D%7B-20pt%7D%0A%5Ctestpar%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Χρήση διαφόρων τιμών εσοχής παραγράφου στο LaTeX](/files/d6d4619c97d16f418a58d3729114ccb520e6bf6f)

### \parskip (TeX primitive)

Η αναγνωσιμότητα του κειμένου μπορεί να βελτιωθεί με τον διαχωρισμό των παραγράφων με μια ποσότητα λευκού χώρου που θα ποικίλλει ανάλογα με κάποια αισθητική σχεδιασμού. Το TeX/LaTeX επιτρέπει στους χρήστες να ελέγχουν αυτό το διάστιχο μεταξύ παραγράφων μέσω της `\parskip` εντολής παραμέτρου.

* **Συμβουλή από το `parskip` πακέτο**: Το [πακέτο parskip](https://ctan.org/pkg/parskip) συνιστά ότι η άμεση τροποποίηση του `\parskip` μπορεί να «οδηγήσει σε κάθετους χώρους σε απροσδόκητα σημεία» (μέσα σε ένα έγγραφο LaTeX). Το `parskip` πακέτο προσπαθεί να διορθώσει ζητήματα διάστιχου που μπορεί να προκύψουν από αλλαγές στην τιμή του `\parskip`—όπως στους πίνακες περιεχομένων και στα περιβάλλοντα λιστών. Δείτε επίσης την ενότητα πακέτου του [`parskip` πακέτου αυτού του άρθρου](#the-parskip-package).

Για να ορίσετε χειροκίνητα την τρέχουσα τιμή του `\parskip` χρησιμοποιήστε την εντολή του LaTeX `\setlength` · για παράδειγμα, για να χωρίσετε τις παραγράφους κατά 3pt μπορείτε να γράψετε:

```latex
\setlength{\parskip}{3pt}
```

Το ακόλουθο παράδειγμα δείχνει τη χρήση του `\parskip`:

```latex
\documentclass{article}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Δημιουργήστε μια εντολή για να περιέχει μια παράγραφο κειμένου
\newcommand{\testpar}{\noindent Η τρέχουσα τιμή του \texttt{\string\parskip} είναι \texttt{\the\parskip}. Όταν το \TeX{} στοιχειοθετεί μια παράγραφο, αντιμετωπίζει κάθε μεμονωμένο χαρακτήρα ως ένα δισδιάστατο~``κουτί'' με συγκεκριμένο πλάτος, ύψος και βάθος.\par}
\begin{document}
\testpar
% Ορίστε το \parskip σε 5pt
\setlength{\parskip}{5pt}\testpar
% Ορίστε το parskip σε 10pt
\setlength{\parskip}{10pt}\testpar
% Ορίστε το \parskip σε 25pt (αλλά μέσα σε μια ομάδα)
{\setlength{\parskip}{25pt}\testpar}
% Η ομάδα τελειώνει, τώρα το \parskip είναι ξανά 10pt
\testpar
% Ναι, μπορείτε να έχετε αρνητικό \parskip
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+parskip+settings\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Cnoindent+The+current+value+of+%5Ctexttt%7B%5Cstring%5Cparskip%7D+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D.+When+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D%7E%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar%0A%25+Set+%5Cparskip+to+5pt+%0A%5Csetlength%7B%5Cparskip%7D%7B5pt%7D%5Ctestpar%0A%25+Set+parskip+to+10pt%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%5Ctestpar%0A%25+Set+%5Cparskip+to+25pt+%28but+in+a+group%29%0A%7B%5Csetlength%7B%5Cparskip%7D%7B25pt%7D%5Ctestpar%7D%0A%25+Group+ends%2C+now+%5Cparskip+is+again+10pt%0A%5Ctestpar%0A%25+Yes%2C+you+can+have+a+negative+%5Cparskip%0A%5Csetlength%7B%5Cparskip%7D%7B-20pt%7D%5Ctestpar%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Επίδειξη της χρήσης του \parskip στο LaTeX](/files/27ecd447c7cfeb091c086a8fa3d237172d60ce1e)

#### Ευέλικτο \parskip

Παραδοσιακά, `\parskip` δεν είναι ένα *σταθερό* τιμή, κάτι που θα είχε ως αποτέλεσμα την ίδια ποσότητα χώρου μεταξύ όλων των παραγράφων. Αντίθετα, `\parskip` ορίζεται συνήθως ως ένας «ευέλικτος χώρος» (που ονομάζεται glue), ο οποίος επιτρέπει στο TeX να τεντώνει ή να συρρικνώνει τον χώρο μεταξύ παραγράφων, βοηθώντας να χωρέσει το περιεχόμενο στη σελίδα και να βρεθεί ένα «καλό» σημείο για αλλαγή σελίδας.

Για να κάνετε το `\parskip` ευέλικτο, θα το γράφατε στη μορφή μιας προδιαγραφής glue:

`\setlength{\parskip}{*fixed amount* **plus** *amount to stretch* **minus** *amount to shrink*}`

όπου `**plus**` και `**minus**` είστε *keywords* που χρησιμοποιούνται από το TeX/LaTeX για να προσδιορίσουν την *ποσότητα τεντώματος* ή *ποσότητα συρρίκνωσης* που περιέχεται σε μια προδιαγραφή glue. Το άρθρο του Overleaf [*Εξερεύνηση underfull ή overfull boxes και υπολογισμών badness*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) περιέχει μια πιο αναλυτική συζήτηση για το glue.

Για παράδειγμα, για να επιτρέψετε στο `\parskip` να κυμαίνεται μεταξύ `3 + 1 = 4pt` και `3 — 1 = 2pt` θα μπορούσατε να γράψετε

```latex
\setlength{\parskip}{3pt plus1pt minus1pt}
```

### \leftskip and \rightskip (TeX primitives)

Οι μηχανές TeX παρέχουν δύο εντολές παραμέτρων που προσθέτουν χώρο (glue) στα αριστερά και στα δεξιά κάθε γραμμής στην στοιχειοθετημένη παράγραφο. Όπως υποδηλώνουν τα ονόματά τους:

* `\leftskip` εισάγει χώρο (glue) στα αριστερά κάθε γραμμής σε μια παράγραφο;
* `\rightskip` εισάγει χώρο (glue) στα δεξιά κάθε γραμμής σε μια παράγραφο.

Τα ακόλουθα παραδείγματα χρησιμοποιούν `\leftskip` και `\rightskip` για να τροποποιήσουν άμεσα τη στοίχιση των παραγράφων· ωστόσο... οι αλλαγές στη στοίχιση κειμένου συνήθως επιτυγχάνονται καλύτερα μέσω κατάλληλων περιβαλλόντων ή πακέτων LaTeX—για παράδειγμα, δείτε το [άρθρο του Overleaf για τη στοίχιση κειμένου](/latex/el/morfopoiisi/06-text-alignment.md). Παρόλο που επιδεικνύουμε τη συμπεριφορά ορισμένων παραμέτρων χαμηλού επιπέδου (πρωτογενών) που παρέχονται από τις μηχανές TeX, γενικά συνιστάται να χρησιμοποιούνται κατάλληλα πακέτα LaTeX όπου είναι δυνατόν.

#### Κάνοντας το \leftskip σταθερό και το \rightskip ευέλικτο

Το ακόλουθο παράδειγμα παράγει δύο παραγράφους: η πρώτη χρησιμοποιεί τις προεπιλεγμένες τιμές του LaTeX για το `\leftskip` και `\rightskip` και η δεύτερη παράγραφος στοιχειοθετείται με τις ακόλουθες ρυθμίσεις:

```latex
\leftskip 10pt
\rightskip 0pt plus 1 fill
```

Ανοίξτε το ακόλουθο έργο Overleaf για να δείτε το αποτέλεσμα:

```latex
\documentclass{article}
\title{Second leftskip and rightskip example}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Ορίστε την τιμή ορισμένων παραμέτρων σχετικών με παραγράφους
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB, καθεμία από τις οποίες περιέχει το κείμενο για μια παράγραφο.
% Στοιχειοθετήστε μια παράγραφο με τις προεπιλεγμένες τιμές των \leftskip και \rightskip

\mytextB

% Ορίστε τα \leftskip και \rightskip σε νέες τιμές
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% Τώρα ξαναστοιχειοθετήστε την ίδια παράγραφο
\mytextB

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Ρύθμιση του glue \leftskip στο LaTeX](/files/6d79c407ba4b29ee5d12d9ea4bddc56f5f1e50b2)

Το ακόλουθο γραφικό είναι μια σχολιασμένη εκδοχή της δεύτερης παραγράφου που παράχθηκε από το παραπάνω παράδειγμα. Έχει σχεδιαστεί για να τονίσει και να δείξει την ποσότητα των `\leftskip` και `\rightskip` glue που εισάγονται στις γραμμές της παραγράφου, μαζί με τον `\parindent` χώρο για την πρώτη γραμμή:

![Ρύθμιση του glue \leftskip στο LaTeX](/files/39e7925f6eaf7f512605d9f11be20efb026bcbe6)

Σημειώστε ότι `\leftskip` το glue έχει σταθερό μέγεθος (10pt), αλλά `\rightskip` το glue έχει τεντωθεί ώστε να παρέχει όση ποσότητα λευκού χώρου απαιτείται για να γεμίσει η δεξιά πλευρά κάθε γραμμής. Αυτή η «ευελιξία» οφείλεται στην προδιαγραφή του `\rightskip` που περιέχει `plus 1 fill`—παρέχοντας μια μορφή glue «άπειρα τεντώσιμη».

#### Κάνοντας το \rightskip σταθερό και το \leftskip ευέλικτο

Το ακόλουθο παράδειγμα παράγει δύο παραγράφους: η πρώτη χρησιμοποιεί τις προεπιλεγμένες τιμές του LaTeX για το `\leftskip` και `\rightskip` και η δεύτερη παράγραφος στοιχειοθετείται με τις ακόλουθες ρυθμίσεις:

```latex
\leftskip 0pt plus 1 fill
\rightskip 10pt
```

Ανοίξτε το ακόλουθο έργο Overleaf για να δείτε το αποτέλεσμα:

```latex
\documentclass{article}
\title{leftskip and rightskip examples}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Ορίστε την τιμή ορισμένων παραμέτρων σχετικών με παραγράφους
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB, καθεμία από τις οποίες περιέχει το κείμενο για μια παράγραφο.
% Στοιχειοθετήστε μια παράγραφο με τις προεπιλεγμένες τιμές των \leftskip και \rightskip

\mytextB

% Ορίστε τα \leftskip και \rightskip σε νέες τιμές
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% Τώρα ξαναστοιχειοθετήστε την ίδια παράγραφο
\mytextB

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Ρύθμιση του glue \rightskip στο LaTeX](/files/ee71223b4fcad1cf9d2b2c2bb9c6bad2e8d5e7d6)

Το ακόλουθο γραφικό είναι μια σχολιασμένη εκδοχή της δεύτερης παραγράφου που παράχθηκε από το παραπάνω παράδειγμα. Έχει σχεδιαστεί για να τονίσει και να δείξει την ποσότητα των `\leftskip` και `\rightskip` glue που εισάγονται στις γραμμές της παραγράφου, μαζί με τον `\parindent` χώρο για την πρώτη γραμμή:

![Ρύθμιση του glue \rightskip στο LaTeX](/files/236fc2fbf5b413bf2f6d18493764154f6f200b98)

Σημειώστε ότι `\rightskip` το glue έχει σταθερό μέγεθος (10pt), αλλά `\leftskip` το glue έχει τεντωθεί ώστε να παρέχει όση ποσότητα λευκού χώρου απαιτείται για να γεμίσει η αριστερή πλευρά κάθε γραμμής. Αυτή η «ευελιξία» οφείλεται στην προδιαγραφή του `\leftskip` που περιέχει `plus 1 fill`—παρέχοντας μια μορφή glue «άπειρα τεντώσιμη».

#### Ρύθμιση των \leftskip και \rightskip σε ευέλικτες τιμές

Το ακόλουθο παράδειγμα παράγει δύο παραγράφους: η πρώτη χρησιμοποιεί τις προεπιλεγμένες τιμές του LaTeX για το `\leftskip` και `\rightskip` και η δεύτερη χρησιμοποιεί τις ακόλουθες, ευέλικτες, ρυθμίσεις glue:

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

Αυτές οι ρυθμίσεις έχουν ως αποτέλεσμα οι γραμμές της παραγράφου να είναι κεντραρισμένες:

```latex
\documentclass{article}
\title{leftskip and rightskip examples}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% Ορίστε την τιμή ορισμένων παραμέτρων σχετικών με παραγράφους
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB που ορίζουν κείμενο για δύο παραγράφους
% Στοιχειοθετήστε μια παράγραφο με τις προεπιλεγμένες τιμές των \leftskip και \rightskip

\mytextB

% Ορίστε τα \leftskip και \rightskip σε ρυθμίσεις glue «εξαιρετικά ευέλικτες»
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% Τώρα ξαναστοιχειοθετήστε την ίδια παράγραφο
\mytextB

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα που δείχνει τα \leftskip και \rightskip](/files/05ba3b79c6cf39c2fab81bd6ce432ccb4470ebe5)

Το ακόλουθο γραφικό είναι μια σχολιασμένη εκδοχή της δεύτερης παραγράφου που παράχθηκε από το παραπάνω παράδειγμα. Έχει σχεδιαστεί για να τονίσει και να δείξει την ποσότητα των `\leftskip` και `\rightskip` glue που εισάγονται στις γραμμές της παραγράφου, μαζί με τον `\parindent` χώρο για την πρώτη γραμμή:

![Παράδειγμα που δείχνει τα \leftskip και \rightskip](/files/870c388dbf10a1eac7665cc485f7bacdd8396fb7)

Σημειώστε ότι και τα δύο `\leftskip` και `\rightskip` ορίζονται ως `0pt plus 1fill` καθιστώντας τα εξίσου «άπειρα ευέλικτα»· κατά συνέπεια, τεντώνονται κατά το ίδιο ποσό, με αποτέλεσμα οι στοιχειοθετημένες γραμμές να είναι κεντραρισμένες.

#### Ρύθμιση των \leftskip και \rightskip μέσα σε μια ομάδα

Το ακόλουθο παράδειγμα δείχνει πώς να κάνετε προσωρινές αλλαγές στα `\leftskip` και `\rightskip` τοποθετώντας τα μέσα σε μια ομάδα. Στο παράδειγμά μας η ομάδα δημιουργείται από `\begingroup`... `\endgroup`, όπως φαίνεται στο ακόλουθο τμήμα κώδικα:

```latex
\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup
```

Η πρώτη παράγραφος στοιχειοθετείται χρησιμοποιώντας «εξαιρετικά ευέλικτο» glue για το `\leftskip` και `\rightskip`:

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

αλλά η δεύτερη παράγραφος χρησιμοποιεί τις προεπιλεγμένες τιμές του LaTeX:

```latex
\documentclass{article}
\title{Another leftskip and rightskip example}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Ορίστε την τιμή ορισμένων παραμέτρων σχετικών με παραγράφους
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB που ορίζουν κείμενο για δύο παραγράφους
% Εδώ αλλάζουμε τα \leftskip και \rightskip σε ρυθμίσεις glue «εξαιρετικά ευέλικτες»
% μέσα σε μια ομάδα που δημιουργείται από \begingroup ... \endgroup

\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup

% Τώρα ξαναστοιχειοθετήστε την ίδια παράγραφο αφού η ομάδα έχει κλείσει
% προκαλώντας τα \leftskip και \rightskip να επανέλθουν στις προηγούμενες τιμές τους

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Χρήση των \leftskip και \rightskip μέσα σε μια ομάδα](/files/a5267aff7bc44688110a3dc71ddd6fdff516146c)

**Σημείωση**: Οι ρυθμίσεις για (τα αποτελέσματα των) `\leftskip` και `\rightskip` περιορίζονται στην παράγραφο μέσα στην ομάδα που δημιουργείται από `\begingroup`... `\endgroup`. Αφού η ομάδα κλείσει, η επόμενη παράγραφος στοιχειοθετείται χρησιμοποιώντας τις προεπιλεγμένες τιμές του LaTeX για το `\leftskip` και `\rightskip`.

### \baselineskip (TeX primitive)

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

Το TeX/LaTeX παρέχει εντολές και μηχανισμούς που επιτρέπουν στους χρήστες να ασκούν κάποιο βαθμό ελέγχου στο διάστιχο. Μία τέτοια εντολή είναι `\baselineskip` η οποία λαμβάνει ή ορίζει την τιμή μιας παραμέτρου που καθορίζει το προτιμώμενο διάστιχο (απόσταση από γραμμή βάσης σε γραμμή βάσης) σε μια στοιχειοθετημένη παράγραφο.

Για να στοιχειοθετήσετε την τρέχουσα τιμή του `\baselineskip` μπορείτε να γράψετε

```latex
\the\baselineskip
```

Για να ορίσετε το `\baselineskip` σε κάποια `τιμή` (ένα μήκος LaTeX όπως `pt`) μπορείτε να γράψετε

```latex
\setlength{\baselineskip}{value}
```

Για παράδειγμα, για να ορίσετε το `\baselineskip` σε `12pt` μπορείτε να γράψετε

```latex
\setlength{\baselineskip}{12pt}
```

Μπορούμε να δείξουμε τον ρόλο του `\baselineskip` χρησιμοποιώντας την ακόλουθη (τυπική) παράγραφο:

![Ένα παράδειγμα παραγράφου LaTeX](/files/ffa5702f6ae388ffc9a0d4487f04c303be36491e)

και προσθέτοντας σχολιασμούς που δείχνουν την απόσταση από γραμμή βάσης σε γραμμή βάσης που ελέγχεται από το `\baselineskip`:

![Ένα παράδειγμα παραγράφου LaTeX με σχολιασμούς που δείχνουν τις αποστάσεις γραμμής βάσης](/files/85ab479de3f9b46a68168538688d0c79c80ec521)

Το διάγραμμα δείχνει επίσης το διαγραμμικό «glue»: μια υπολογισμένη ποσότητα λευκού χώρου που προστίθεται μεταξύ των γραμμών—θα το συζητήσουμε περαιτέρω αργότερα στο άρθρο.

#### \baselineskip και άλλες παράμετροι

`\baselineskip` είναι μία από τις τέσσερις βασικές παραμέτρους που ελέγχουν την ποσότητα του χώρου που εισάγεται μεταξύ των γραμμών μιας παραγράφου· οι άλλες είναι:

* `\lineskip`
* `\lineskiplimit`
* `\prevdepth`

Αργότερα στο άρθρο θα εξερευνήσουμε [*πώς χρησιμοποιούνται αυτές οι τέσσερις παράμετροι*](#paragraph-structure-and-line-space-calculations) για να υπολογιστούν οι τιμές του διαγραμμικού glue.

#### \baselineskip example (fixed space)

Το ακόλουθο παράδειγμα ανοίγει στο Overleaf για να δημιουργήσει ένα έργο που περιέχει ένα αρχείο με το όνομα `text.tex` το οποίο ορίζει τις εντολές `\mytextA` και `\mytextB`—και οι δύο εντολές στοιχειοθετούν μια παράγραφο. Για λόγους ευκολίας, το έργο Overleaf χρησιμοποιεί μικρό μέγεθος σελίδας, επειδή αυτό βοηθά στην προετοιμασία γραφικών και εικόνων για αυτή τη σελίδα βοήθειας.

```latex
\documentclass{article}
\title{Demonstrating baselineskip}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Ορίστε την τιμή ορισμένων παραμέτρων που σχετίζονται με παραγράφους (θα τις συζητήσουμε)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Ορίστε την τιμή του \baselineskip---αλλάξτε την τιμή για να δείτε το αποτέλεσμα
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB, καθεμία από τις οποίες στοιχειοθετεί μια παράγραφο

% Πρώτα, στοιχειοθετήστε δύο παραγράφους με το προεπιλεγμένο \baselineskip
\mytextA\mytextB

% Τώρα αλλάξτε το \baselineskip σε μεγαλύτερη τιμή και στοιχειοθετήστε
% μια άλλη παράγραφο
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Εξερεύνηση του baselineskip στο TeX ή στο LaTeX](/files/cc1dfecda48504105ec08d3bf0c89bf03a43e666)

Η παράγραφος στη σελίδα 2 έχει γραμμές με μεγάλη απόσταση επειδή `\baselineskip` ορίστηκε σε 24pt.

#### \baselineskip example (flexible space)

Το ακόλουθο παράδειγμα ορίζει μια `\baselineskip` τιμή που έχει ένα εξαιρετικά ευέλικτο (το λεγόμενο «άπειρο») συστατικό τεντώματος:

```latex
\baselineskip=12pt plus1fil
```

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

```latex
\documentclass{article}
\usepackage{blindtext}
\title{Flexible \texttt{\string\baselineskip} demo}
\author{Overleaf}
\date{January 2022}

\begin{document}

\maketitle
Θα δώσουμε στο \verb|\baselineskip| ένα πολύ ευέλικτο συστατικό ``stretch'' αναθέτοντας την τιμή \texttt{12pt plus1fil}: \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Εισαγωγή}
Προσθέστε μια παράγραφο που τώρα θα τεντωθεί για να γεμίσει τη σελίδα. \blindtext

\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Flexible+baselineskip+demo\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Ctitle%7BFlexible+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+demo%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BJanuary+2022%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cmaketitle%0AWe%E2%80%99ll+provide+%5Cverb%7C%5Cbaselineskip%7C+with+a+very+flexible+%60%60stretch%27%27+component+by+assigning+the+value+%5Ctexttt%7B12pt+plus1fil%7D%3A+%5Cverb%7C%5Cbaselineskip%3D12pt+plus1fil%7C.%5Cbaselineskip%3D12pt+plus1fil+%0A%5Csection%7BIntroduction%7D%0AAdd+a+paragraph+that+will+now+stretch+to+fill+the+page.+%5Cblindtext%0A%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Επίδειξη του glue του baselineskip με άπειρη ευελιξία](/files/f09d204582d381f2825ab1ee031fde834f65590a)

**Μερικές σημειώσεις για το glue**

Ορισμένες από τις ακόλουθες σημειώσεις προέρχονται από το άρθρο του Overleaf [εξερευνώντας κουτιά underfull ή overfull και υπολογισμούς badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), αναπαράγεται εδώ για ευκολία.

Ο λευκός χώρος που εισάγει το TeX μεταξύ των γραμμών μιας παραγράφου, `\baselineskip`, είναι μια μορφή ευέλικτης απόστασης που ονομάζεται *glue*. Μια τιμή glue μπορεί να καθοριστεί με τρία συστατικά:

* a *σταθερό* ποσότητα;
* μια ποσότητα την οποία μπορεί να *επεκταθεί*;
* μια ποσότητα την οποία μπορεί να *συσταλεί*,

Κατά συνέπεια, μια `\baselineskip` τιμή μπορεί να καθοριστεί ως εξής:

`\baselineskip`=*σταθερή ποσότητα* **συν** *ποσότητα τεντώματος* **μείον** *ποσότητα συρρίκνωσης*

όπου

* **συν** και **μείον** είναι λέξεις-κλειδιά που κατανοούν οι μηχανές TeX;
* *σταθερή ποσότητα* αναφέρεται ως το *κανονικό συστατικό* του glue (ονομάζεται επίσης το *φυσικό πλάτος* του glue);
* *ποσότητα τεντώματος* αναφέρεται ως το *συστατικό επέκτασης* του glue;
* *ποσότητα συρρίκνωσης* αναφέρεται ως το *συστατικό συστολής* του glue.

Η *σταθερή ποσότητα* απαιτείται για όλες τις τιμές glue, αλλά *ποσότητα τεντώματος* και *ποσότητα συρρίκνωσης* και τα δύο είναι προαιρετικά—αν λείπει το ένα ή και τα δύο, ορίζονται σε τιμή 0.

Συνήθως, `\baselineskip` το glue καθορίζεται με ένα *σταθερή ποσότητα* μόνο, τα συστατικά επέκτασης και συστολής είναι μηδέν, διαφορετικά οι γραμμές της παραγράφου θα είχαν ακανόνιστη (μεταβλητή) απόσταση, κάτι που ίσως δεν θα ήταν αισθητικά ευχάριστο.

### \offinterlineskip και \nointerlineskip (μακροεντολές)

Αυτές οι μακροεντολές χρησιμοποιούνται συχνά για να αποτρέψουν την εισαγωγή glue μεταξύ των γραμμών μιας παραγράφου. Οι αναγνώστες που ενδιαφέρονται για περισσότερες λεπτομέρειες μπορούν να μεταβούν εκ των προτέρων στις σχετικές ενότητες του άρθρου, οι οποίες εξηγούν πώς λειτουργούν αυτές οι μακροεντολές.

* **`\offinterlineskip`**: Δείτε την ενότητα του άρθρου [*Μηδενικού μεγέθους glue μεταξύ γραμμών: \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`**: Δείτε την ενότητα του άρθρου [*Αποτροπή glue μεταξύ γραμμών: \prevdepth και \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## Δομή παραγράφων και υπολογισμοί απόστασης γραμμών

Χρησιμοποιώντας τις δυνατότητες του LuaTeX είναι δυνατό να [μετα-επεξεργαστεί μια στοιχειοθετημένη παράγραφο](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) για να οπτικοποιηθούν τα όρια των συστατικών χαρακτήρων (γλυφών), των γραμμών και των glue από τα οποία αποτελείται. Θα ξεκινήσουμε με μια σύντομη σειρά γραφικών για να βοηθήσουμε στην οπτικοποίηση του μοντέλου «κουτιά και glue» που χρησιμοποιούν οι μηχανές TeX για να στοιχειοθετούν κείμενο που περιέχεται σε μια παράγραφο.

### Δομή παραγράφου

Όταν το TeX στοιχειοθετεί μια παράγραφο, αντιμετωπίζει τους μεμονωμένους χαρακτήρες ως μινιατούρες κουτιών, καθένα με το δικό του πλάτος, ύψος και βάθος, και αυτά τα πλάτη των κουτιών χαρακτήρων χρησιμοποιούνται για να υπολογιστούν οι βέλτιστες θέσεις για αλλαγές γραμμής. Επιπλέον, οι χαρακτήρες διαστήματος που περιέχονται στο κείμενο και χρησιμοποιούνται για να χωρίζουν μεμονωμένες λέξεις, μετατρέπονται σε μια μορφή ευέλικτου διαστήματος (glue), το οποίο παρέχει την απόσταση που χρειάζεται για να επιτευχθεί κάθε αλλαγή γραμμής.

Η ακόλουθη ακολουθία 7 γραφικών δείχνει τα βασικά συστατικά μιας στοιχειοθετημένης παραγράφου: διάφορους τύπους κουτιών και glue. Το πρώτο γραφικό δείχνει μια στοιχειοθετημένη παράγραφο μαζί με μια σχολιασμένη εκδοχή της που επισημαίνει διάφορα στοιχεία μέσα στην παράγραφο. Ωστόσο, η σχολιασμένη παράγραφος περιέχει πολλές πληροφορίες, οπότε τα επόμενα γραφικά απομονώνουν διάφορα συστατικά ώστε να τα κάνουν (ελπίζουμε) ευκολότερα στην κατανόηση.

![Paragraphanatomy1b.png](/files/b802d0a90b9f526e7cff11f96ae6b4243594dbfd)

* Το επόμενο γραφικό απεικονίζει τις γραμμές της παραγράφου ως γκρι κουτιά που χωρίζονται από glue, το οποίο αναπαρίσταται με οριζόντιες πράσινες λωρίδες. Αυτό το glue υπολογίζεται ώστε να εξασφαλίζει ότι η απόσταση από βασική γραμμή σε βασική γραμμή είναι ίση με (δηλαδή, την τιμή του) `\baselineskip`:

![Paragraphanatomy2b.png](/files/8e3041bef94ed9ea4b91caac984008f1fcdb0fad)

* Η επόμενη εικόνα αναπαριστά τους στοιχειοθετημένους χαρακτήρες ως κουτιά: για να οπτικοποιηθεί πώς οι μηχανές TeX επεξεργάζονται χαρακτήρες με σκοπό την παραγωγή αλλαγών γραμμής:

![Paragraphanatomy3.png](/files/3d034db1bf835019f20ebea80b1c8f29042da00d)

* Η επόμενη εικόνα δείχνει κουτιά μέσα σε κουτιά: τις μεγαλύτερες γραμμές της παραγράφου (κουτιά) που περιέχουν μικρότερα κουτιά (μεμονωμένους χαρακτήρες):

![Paragraphanatomy5.png](/files/c247ec47cc0e0a4f8224a30dc79f9f50d61cccc9)

* Η επόμενη εικόνα δείχνει την ποσότητα του χώρου μεταξύ των λέξεων σε κάθε γραμμή: αυτά τα διαστήματα μεταξύ λέξεων παράγονται με τη μετατροπή των χαρακτήρων διαστήματος σε ευέλικτα glue που τεντώνονται ή συστέλλονται ώστε να παραχθεί το σωστό μήκος για κάθε γραμμή κειμένου. Σημειώστε προσεκτικά ότι το μέγεθος αυτών των διαστημάτων ποικίλλει από γραμμή σε γραμμή:

![Paragraphanatomy4.png](/files/014cbd5401e8ba941569a56d25b3fc5c897d20b8)

* Η επόμενη εικόνα συνδυάζει τα κουτιά χαρακτήρων και τα αντίστοιχα glue (διαστήματα) που τοποθετούνται ανάμεσα στις μεμονωμένες λέξεις:

![Paragraphanatomy6.png](/files/f264a02670930eb4c16155e368db1d89d2943211)

### Οπτικοποίηση άλλων τύπων glue παραγράφου

Οι ακόλουθες παράγραφοι επίσης στοιχειοθετήθηκαν και επεξεργάστηκαν με χρήση LuaTeX για να δείξουν άλλους τύπους glue μέσα σε, και μεταξύ, ενός ζεύγους παραγράφων. Σημειώστε ότι `\rightskip` και `\leftskip` και τα δύο έχουν οριστεί σε 0pt, οπότε δεν εμφανίζονται:

* **`\parskip`** glue (ανοιχτό μπλε) τοποθετημένο μεταξύ των δύο στοιχειοθετημένων παραγράφων;
* οι μεμονωμένες λέξεις χωρίζονται από ***glue μεταξύ λέξεων*** (κίτρινο) που δημιουργείται με τη μετατροπή των χαρακτήρων διαστήματος στην είσοδο σε λευκό χώρο μεταβλητού μεγέθους (glue) στην στοιχειοθετημένη έξοδο. Το glue που προκύπτει από τα διαστήματα μεταξύ λέξεων τεντώνεται ή συστέλλεται για να επιτευχθούν οπτικά ευχάριστες αλλαγές γραμμής;
* **`\baselineskip`** glue (ανοιχτό πράσινο) τοποθετημένο μεταξύ γραμμών—η ακριβής ποσότητα του `\baselineskip` glue υπολογίζεται με τον μηχανισμό που συζητείται παρακάτω;
* **`\lineskip`** glue (κόκκινο) που χρησιμοποιείται στη δεύτερη παράγραφο—λόγω του χαμηλού κουτιού που περιέχεται στην προτελευταία γραμμή;
* **`\parfillskip`** glue (σκούρο πράσινο) τοποθετημένο στο τέλος της τελευταίας γραμμής σε κάθε παράγραφο.

![](/files/5a67edca758eea20d322efb8bb1dc695502248a8)

### Αντιμετώπιση βαθύτερων (ή ψηλότερων) γραμμών (κουτιών)

Όπως δείχνουν τα γραφικά στο [προηγούμενη ενότητα](#paragraph-structure), μια στοιχειοθετημένη παράγραφος είναι μια κατακόρυφη στοίβα από «κουτιά», χωρισμένα από κάποιο λευκό χώρο, τον οποίο το TeX ονομάζει «glue». Καθώς η παράγραφος επεξεργάζεται και οι μεμονωμένες γραμμές (κουτιά) στοιβάζονται, η κατακόρυφη λίστα (στοίβα) μεγαλώνει σε μια *καθοδική* κατεύθυνση, προς το κάτω μέρος της σελίδας. Αν και το TeX/LaTeX προσπαθούν να εξασφαλίσουν ότι οι γραμμές της παραγράφου στοιβάζονται με βασικές γραμμές χωρισμένες από σταθερή απόσταση `\baselineskip`, δεν είναι πάντα δυνατό να επιτευχθεί αυτό επειδή ορισμένες γραμμές μπορούν να έχουν μεγαλύτερο από το συνηθισμένο ύψος ή βάθος.

Το ύψος και το βάθος κάθε γραμμής παραγράφου καθορίζονται από τη μέγιστη απόσταση κατά την οποία το περιεχόμενο της γραμμής εκτείνεται πάνω ή κάτω από τη βασική γραμμή· κατά συνέπεια, παράγραφοι που περιέχουν υλικό με σχετικά μεγάλο ύψος ή βάθος, όπως ενσωματωμένα μαθηματικά ή γραφικά, είναι πιθανό να παράγουν μεμονωμένες γραμμές με αντίστοιχα μεγάλα ύψη και/ή βάθη. Για τέτοιες γραμμές, το TeX/LaTeX ενδέχεται να μην μπορεί να τις στοιβάξει έτσι ώστε οι βασικές γραμμές τους να χωρίζονται από άλλες γραμμές με την `\baselineskip` ποσότητα. Προφανώς, το TeX/LaTeX χρειάζονται έναν «μηχανισμό εναλλακτικής λύσης» για να χειρίζονται τέτοιες γραμμές με *υπολογίζοντας* μια κατάλληλη ποσότητα χώρου που θα εισαχθεί μεταξύ κάθε ζεύγους γραμμών που επηρεάζονται από μεγάλα ύψη και/ή βάθη.

#### \lineskip και \lineskiplimit (πρωτογενείς εντολές TeX)

Αυτός ο μηχανισμός εναλλακτικής λύσης περιλαμβάνει τις εντολές παραμέτρων `\lineskip` και `\lineskiplimit` μαζί με μια τρίτη παράμετρο που ονομάζεται `\prevdepth`. Οι αναγνώστες που ενδιαφέρονται για περαιτέρω λεπτομέρειες μπορούν να μεταβούν στην ενότητα του άρθρου [*Πώς υπολογίζεται ο χώρος (glue) μεταξύ των γραμμών μιας παραγράφου*](#how-the-space-glue-between-paragraph-lines-is-calculated).

Το παρακάτω παράδειγμα έργου στοιχειοθετεί μια μοναδική παράγραφο της οποίας η τελευταία γραμμή έχει σχετικά μεγάλο βάθος λόγω ενός μετατοπισμένου πλαισίου κειμένου (`\hbox`). Η παράγραφος στοιχειοθετείται με αυτές τις ρυθμίσεις:

```latex
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
```

Χρησιμοποιήστε τον σύνδεσμο κάτω από τον ακόλουθο κώδικα για να ανοίξετε ένα έργο Overleaf:

```latex
\documentclass{article}
% Χρησιμοποιήστε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Ορίστε μερικές σημαντικές παραμέτρους
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Αρχείο εισόδου που ορίζει το \testpar
\input testpar.tex
\title{Μια δείγματική παράγραφος για lineskip}
\begin{document}
\testpar % Μια μακροεντολή που δημιουργήθηκε στο έργο Overleaf
\end{document}
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf.](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%25+Use+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Set+some+important+parameters%0A%5Csetlength%7B%5Cbaselineskip%7D%7B12pt%7D%0A%5Csetlength%7B%5Clineskip%7D%7B3.5pt%7D%0A%5Csetlength%7B%5Clineskiplimit%7D%7B2pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B20pt%7D%0A%25+Input+file+defining+%5Ctestpar+%0A%5Cinput+testpar.tex%0A%5Ctitle%7BA+sample+paragraph+for+lineskip%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar+%25+A+macro+created+in+the+Overleaf+project%0A%5Cend%7Bdocument%7D\&snip_name\[]=testpar.tex\&snip\[]=%5Cnewcommand%7B%5Ctestpar%7D%7B%5CTeX%7B%7D+uses+the+name+%60%60glue%27%27+to+describe+%60%60flexible+white+space%27%27+used+to+separate+any+typeset+item+which+can+appear+on+the+page.+For+example%2C+individual+words%2C+and+whole+lines%2C+within+a+typeset+paragraph+are+seperated+by+%60%60glue%27%27.+%5CTeX%7B%7D+engines+identify+%28give+a+name+to%29+different+types+of+glue+according+to+where+it+is+being+used.+For+example%2C+each+line+is+separated+by+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue+or%2C+occasionally%2C+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue%2C+depending+on+%5CTeX%27s+calculations.+Let%27s+trigger+use+of+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+by+adding+an+%5Ctexttt%7B%5Cstring%5Chbox%7D+which+has+a+large+depth+due+to+the+%5Ctexttt%7B%5Cstring%5Clower%7D+command%3B+for+example%2C+the+box%0A+%5Clower5pt%5Chbox%7BLOW+BOX%7D+will+cause+%5CTeX%7B%7D+to+insert+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+instead+of+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue.%5Cpar%7D\&main_document=main.tex)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα για την επίδειξη του glue \lineskip](/files/f9fffa8c1f1ec1a8e60c6a2f7f25e5fd07ea88c0)

Το ακόλουθο γραφικό χρησιμοποιεί μια σχολιασμένη εκδοχή της παραγράφου που παρήχθη από το προηγούμενο έργο Overleaf. Εδώ, μεγεθύνουμε για να εστιάσουμε στην τελευταία γραμμή της παραγράφου, υποδεικνύοντας τη χρήση του `\lineskip` glue (παρουσιαζόμενο με κόκκινο) που προκαλείται από το βάθος του μετατοπισμένου πλαισίου κειμένου:

![Εικόνα που δείχνει το glue \lineskip του TeX](/files/ffcf946bdcfda64aecafe837f817e2e0600a7e73)

Η τελική γραμμή του κειμένου της παραγράφου έχει βάθος μεγαλύτερο από το συνηθισμένο, εμποδίζοντας το TeX να διατηρήσει τη σταθερή απόσταση από βασική γραμμή σε βασική γραμμή που καθορίζεται από την τιμή `\baselineskip` (12pt). Όπως υποδεικνύουν τα βέλη στη δεξιά πλευρά του γραφικού, το TeX/LaTeX προσπαθούν να εξασφαλίσουν σταθερή απόσταση (12pt) μεταξύ ζευγών γραμμών—την τιμή του `\baselineskip`. Ωστόσο, για το τελευταίο ζεύγος γραμμών το TeX τις έχει χωρίσει με απόσταση μεγαλύτερη από 12pt και χρησιμοποιεί την τιμή του `\lineskip` για το glue μεταξύ γραμμών αντί για μια τιμή υπολογισμένη χρησιμοποιώντας `\baselineskip`.

Οι ακόλουθες ενότητες εξερευνούν και εξηγούν τις λεπτομέρειες των υπολογισμών του TeX για τις τιμές του glue μεταξύ γραμμών.

### Πώς υπολογίζεται ο χώρος (glue) μεταξύ των γραμμών μιας παραγράφου

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

Όταν το TeX μετακινεί τα δεδομένα της παραγράφου, γραμμή προς γραμμή, στην ουσία κατασκευάζει μια κατακόρυφη στοίβα γραμμών (κουτιών TeX) που μεγαλώνει *καθοδική* προς το κάτω μέρος της σελίδας. Καθώς μετακινεί τις γραμμές της παραγράφου στην τρέχουσα σελίδα το TeX προσπαθεί να εξασφαλίσει ότι αυτές οι γραμμές θα έχουν ίση απόσταση, με σταθερή κατακόρυφη απόσταση (από βασική γραμμή σε βασική γραμμή) ίση με την τιμή `\baselineskip`. Όταν μια νέα γραμμή μεταφέρεται στην τρέχουσα σελίδα, η μηχανή TeX καταγράφει προσωρινά το *βάθος* της επειδή θα χρησιμοποιηθεί για τον υπολογισμό της ποσότητας glue μεταξύ γραμμών (λευκού χώρου) ανάμεσα σε αυτή τη γραμμή και τη γραμμή που τοποθετείται μετά από αυτή.

#### Υπολογισμοί μεγέθους glue

Ας ξεκινήσουμε συνοψίζοντας τα χαρακτηριστικά διαστήματος μεταξύ γραμμών που παρέχουν οι μηχανές TeX:

* τη διατήρηση σταθερής απόστασης μεταξύ βασικών γραμμών, απόσταση ίση με `\baselineskip`;
* να παρέχουν απόσταση για οποιεσδήποτε γραμμές με σχετικά μεγάλο ύψος ή βάθος;
* μια δυνατότητα να απενεργοποιείται η εισαγωγή glue μεταξύ γραμμών—είτε αυτόματα είτε υπό τον έλεγχο του χρήστη. Για παράδειγμα:
  * Οι μηχανές TeX απενεργοποιούν αυτόματα την εισαγωγή glue μεταξύ γραμμών μετά από μια γραμμή σε κατακόρυφη λειτουργία·
  * οι μακροεντολές `\offinterlineskip` και `\nointerlineskip` επιτρέπουν στους χρήστες να απενεργοποιούν προσωρινά την εισαγωγή glue μεταξύ γραμμών—αυτές οι μακροεντολές έχουν διαφορετικά αποτελέσματα, όπως θα δούμε παρακάτω.

Η απόφαση για το αν θα προστεθεί glue μεταξύ γραμμών και, αν ναι, πόση ποσότητα και ποιου τύπου, γίνεται ως εξής:

* Να προστεθεί glue μεταξύ γραμμών; Το TeX το αποφασίζει ελέγχοντας αν το *βάθος της τελευταίας γραμμής που προστέθηκε* στη λίστα είναι μικρότερο από την ειδική τιμή `–1000pt` (σημεία). Σημειώστε ότι `–1000pt` είναι μια αυθαίρετη τιμή «φρουράς» που χρησιμοποιείται εσωτερικά από τις μηχανές TeX.
  * **Σημείωση**: Η τιμή του «βάθους της τελευταίας γραμμής που προστέθηκε», την οποία το TeX καταγράφει εσωτερικά, είναι επίσης γνωστή ως «προηγούμενο βάθος». Οι μηχανές TeX παρέχουν την εντολή παραμέτρου `\prevdepth`—η οποία, σε ορισμένες περιπτώσεις, μπορεί να χρησιμοποιηθεί για να *λάβετε* ή *set* την τιμή του «προηγούμενου βάθους». Η μακροεντολή `\nointerlineskip` αξιοποιεί `\prevdepth`.
* Το TeX ελέγχει αν το `βάθος της προηγούμενης γραμμής είναι μεγαλύτερο από –1000pt`?
  * ***Ναι, είναι*** (πρέπει να προστεθεί glue):
    * υπολογίστε την τιμή Δ, όπου Δ = \baselineskip – (βάθος της προηγούμενης γραμμής) – (ύψος της τρέχουσας γραμμής)
    * συγκρίνετε το Δ με την τιμή του `\lineskiplimit`, μια παράμετρο που χρησιμοποιείται για να ορίσει την ελάχιστη αποδεκτή απόσταση μεταξύ δύο γραμμών, όπως μετράται από την απόσταση μεταξύ του κάτω μέρους της επάνω γραμμής και της κορυφής της κάτω γραμμής.
    * Αν Δ < `\lineskiplimit`:
      * οι γραμμές είναι πολύ κοντά, οπότε εισαγάγετε την ελάχιστη αποδεκτή απόσταση που είναι `\lineskip`
    * Αν Δ >= `\lineskiplimit`:
      * οι γραμμές δεν είναι πολύ κοντά, οπότε χρησιμοποιήστε το Δ ως την ποσότητα glue που θα εισαχθεί
  * ***Όχι, δεν είναι*** (μην προσθέσετε glue):
    * Προσθέστε την επόμενη γραμμή (κουτί) χωρίς να εισαγάγετε κανένα glue

Το ακόλουθο γραφικό συνοψίζει τη διαδικασία glue μεταξύ γραμμών:

![Πώς το TeX καθορίζει τις τιμές glue μεταξύ γραμμών](/files/a670df14a8cda69fb4756e7ed851b09234db8ec6)

### Ένα παράδειγμα υπολογισμών glue μεταξύ γραμμών

Στο ακόλουθο παράδειγμα υποθέτουμε ότι το TeX/LaTeX χρησιμοποιεί τις ακόλουθες τιμές παραμέτρων εντολών:

```latex
\baselineskip=12pt
\lineskip=3.5pt
\lineskiplimit=2pt
```

Θα εξετάσουμε τον υπολογισμό του glue μεταξύ γραμμών για τις δύο πρώτες γραμμές αυτής της παραγράφου:

![OLV2glue-calcs-step0.png](/files/7769257ba03c48490d598f34fb617f061ed6d12f)

Στην επόμενη εικόνα, η μηχανή TeX έχει επεξεργαστεί την πρώτη γραμμή της παραγράφου και την έχει μεταφέρει στην κατακόρυφη λίστα που κατασκευάζει. Παρακολουθεί το βάθος αυτής της γραμμής (`d<sub>1</sub>`) το οποίο είναι `2.1528` (σημεία):

![OLV2glue-calcs-step1.png](/files/61109a99fe8b2eab3bd9b1ca450be9a996397e01)

Στη συνέχεια, το TeX είναι έτοιμο να προσθέσει μια δεύτερη γραμμή στη λίστα που κατασκευάζει: αυτή η γραμμή έχει ένα ύψος (`h<sub>2</sub>`) το οποίο είναι `6.9444` (σημεία) και, παρεμπιπτόντως, ένα βάθος, `d<sub>2</sub>` του `0` (σημεία):

![OLV2glue-calcs-step2.png](/files/8f379072a0a544a7d60d6ef79e668225b9c166e4)

Σε αυτό το σημείο, το TeX πρέπει να υπολογίσει την ποσότητα του χώρου (glue, `g<sub>1</sub>`) που θα εισαχθεί ανάμεσα σε αυτές τις δύο γραμμές:

![OLV2glue-calcs-step3.png](/files/053b5d478b8867ef3425a2e6b743da0cdf88a3db)

Η ακόλουθη εικόνα δείχνει τους υπολογισμούς glue για αυτό το ζεύγος γραμμών:

![OLV2glue-calcs-stepA3.png](/files/59045d52cb9e9bb3b9f20b11144c60f3caf5d6c5)

Η τελική εικόνα δείχνει τις δύο γραμμές μεταφερμένες στην τρέχουσα σελίδα με την υπολογισμένη ποσότητα glue μεταξύ γραμμών τοποθετημένη ανάμεσά τους:

![OLV2glue-calcs-step5.png](/files/ab78051f13e9b52aef926edf548b02941f13321a)

### Μια ακόμη παράμετρος: \prevdepth

Όπως σημειώθηκε παραπάνω, όταν το TeX δημιουργεί μια κατακόρυφη στοίβα (λίστα) από κουτιά, αποθηκεύει το βάθος του τελευταίου κουτιού που προστέθηκε σε αυτή τη λίστα. Αυτή η αποθηκευμένη τιμή βάθους είναι γνωστή ως το «προηγούμενο βάθος», στο οποίο μπορείτε να έχετε πρόσβαση μέσω της εντολής παραμέτρου `\prevdepth`.

Η `\prevdepth` εντολή μπορεί να χρησιμοποιηθεί ***μόνο*** όταν το TeX βρίσκεται σε κατακόρυφη λειτουργία· δηλαδή, μεταξύ παραγράφων ή μέσα σε κατακόρυφα κουτιά: `\vbox`, `\vtop` ή `\vcenter` (σημείωση: `\vcenter` τα κουτιά μπορούν να χρησιμοποιηθούν μόνο σε μαθηματική λειτουργία).

`\prevdepth` παρέχει πρόσβαση ανάγνωσης και εγγραφής στην τιμή του «προηγούμενου βάθους»:

* για να διαβάσετε την τρέχουσα τιμή του `\prevdepth` μπορείτε να γράψετε:

```latex
\the\prevdepth
```

* για να ορίσετε την τρέχουσα τιμή του `\prevdepth` σε `μιας τιμής`, ένα μήκος σε σημεία, mm κ.λπ., μπορείτε να γράψετε:

```latex
\setlength{\prevdepth}{some value}
```

Αν προσπαθήσετε να χρησιμοποιήσετε το \verb`\prevdepth` σε συνθήκες για τις οποίες δεν σχεδιάστηκε, όπως μέσα σε μια παράγραφο ή μέσα σε ένα `\hbox` θα λάβετε ένα σφάλμα

```latex
Improper \prevdepth.
```

με πρόσθετες πληροφορίες που σας λένε ότι μπορεί να χρησιμοποιηθεί μόνο σε κατακόρυφη λειτουργία.

#### Αποτροπή glue μεταξύ γραμμών: \prevdepth και \nointerlineskip

Μία χρήση του `\prevdepth` είναι να *αποτρέψει* το TeX να εκτελεί τους υπολογισμούς βασικής γραμμής που χρησιμοποιούνται για την προσθήκη glue μεταξύ γραμμών ανάμεσα σε στοιχεία μιας κατακόρυφης λίστας, όπως οι γραμμές μιας παραγράφου. Χρησιμοποιώντας `\prevdepth` για να αναπαραστήσουμε το `βάθος της προηγούμενης γραμμής` μπορούμε να διατυπώσουμε εκ νέου τους υπολογισμούς glue (που απεικονίζονται παραπάνω) ως εξής:

```latex
αν(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (ύψος της τρέχουσας γραμμής)

     αν(Δ < \lineskiplimit)
       glue μεταξύ γραμμών = \lineskip
     αλλιώς
       glue μεταξύ γραμμών = Δ
}
αλλιώς
{
     Στοιβάξτε το κουτί χωρίς να προσθέσετε
     κανένα glue μεταξύ γραμμών
}
```

Εσωτερικά, οι μηχανές TeX αναγνωρίζουν μια λεγόμενη τιμή «φρουράς» `\prevdepth` η οποία μπορεί να χρησιμοποιηθεί για να απενεργοποιηθεί ο υπολογισμός και η προσθήκη glue μεταξύ γραμμών. Αυτή η τιμή φρουράς είναι `–1000pt`, η οποία φαίνεται στην πρώτη γραμμή του παραπάνω ψευδοκώδικα:

```latex
αν(\prevdepth > –1000pt)
```

Το TeX δεν θα προσθέσει glue μεταξύ γραμμών εκτός αν `\prevdepth` είναι μεγαλύτερο από `–1000pt`—το οποίο παρέχει τον μηχανισμό που χρησιμοποιείται από τη `\nointerlineskip` μακροεντολή για να αποτρέψει την προσθήκη glue βασικής γραμμής ανάμεσα στο επόμενο ζεύγος κουτιών σε μια κατακόρυφη λίστα.

`\nointerlineskip` έχει έναν ορισμό ισοδύναμο με:

```latex
\def\nointerlineskip{
\prevdepth–1000pt
}
```

Σημειώστε ότι `\nointerlineskip` παρέχει μια *μονοσήμαντη απενεργοποίηση* των υπολογισμών glue μεταξύ γραμμών επειδή η τιμή του `\prevdepth` ενημερώνεται συνεχώς καθώς νέα κουτιά προστίθενται στην τρέχουσα κατακόρυφη λίστα, όπως αποδεικνύεται στο ακόλουθο παράδειγμα:

```latex
\noindent Οι ακόλουθες \verb|\hbox|es επεξεργάζονται όταν το \TeX{} βρίσκεται στη λεγόμενη \textit{outer vertical mode}. Μετά την επεξεργασία (στοιχειοθέτηση), αυτά τα κουτιά προστίθενται στην τρέχουσα σελίδα και στοιβάζονται κατακόρυφα με glue μεταξύ γραμμών να εισάγεται ανάμεσά τους:

\hbox{j}
\hbox{p}
\hbox{g}

Τώρα, αμέσως μετά το κουτί \verb|\hbox{j}|, ορίζουμε το \verb|\prevdepth| σε \texttt{-1000pt}, κάτι που εμποδίζει την τοποθέτηση glue μεταξύ γραμμών ανάμεσα στα κουτιά \verb|\hbox{j}| και \verb|\hbox{p}|:

\hbox{j}\setlength{\prevdepth}{-1000pt}
\hbox{p}
\hbox{g}

Παρατηρήστε ότι glue μεταξύ γραμμών \textit{όντως} τοποθετείται ανάμεσα στα κουτιά \verb|\hbox{p}| και \verb|\hbox{g}| επειδή η τιμή του \verb|\prevdepth| ενημερώνεται αφού το \verb|\hbox{p}| επεξεργαστεί και προστεθεί στη λίστα: η τιμή του \verb|\prevdepth| γίνεται το βάθος του κουτιού \verb|\hbox{p}|. Όταν το \verb|\hbox{g}| προστίθεται στην κατακόρυφη λίστα, η τιμή του \verb|\prevdepth| δεν είναι πλέον \texttt{-1000pt}· κατά συνέπεια, glue μεταξύ γραμμών μπορεί τώρα να προστεθεί.
```

&#x20;[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One-shot+use+of+nointerlineskip\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cbaselineskip%7D%7B14pt%7D%0A%5Csetlength%7B%5Cparskip%7D%7B1pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%25+A+convenience+macro+to+typeset+%5Cprevdepth+in+an+%5Chbox%2C+although+TeX+has+to+be%0A%25+in+a+vertical+mode+when+this+macro+is+used.%0A%5Cnoindent+The+following+%5Cverb%7C%5Chbox%7Ces+are+processed+when+%5CTeX%7B%7D+is+in+so-called+%5Ctextit%7Bouter+vertical+mode%7D.+After+processing+%28typesetting%29%2C+these+boxes+are+appended+to+the+current+page+and+stacked+vertically+with+interline+glue+inserted+between+them%3A%0A%0A%5Chbox%7Bj%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0ANow%2C+immediately+after+after+the+box+%5Cverb%7C%5Chbox%7Bj%7D%7C%2C+we+set+%5Cverb%7C%5Cprevdepth%7C+to+%5Ctexttt%7B-1000pt%7D+which+prevents+interline+glue+being+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bj%7D%7C+and+%5Cverb%7C%5Chbox%7Bp%7D%7C%3A+%0A%0A%5Chbox%7Bj%7D%5Csetlength%7B%5Cprevdepth%7D%7B-1000pt%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0AObserve+that+interline+glue+%5Ctextit%7Bis%7D+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bp%7D%7C+and+%5Cverb%7C%5Chbox%7Bg%7D%7C+because+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+updated+after+%5Cverb%7C%5Chbox%7Bp%7D%7C+is+processed+and+added+to+the+list%3A+the+value+of+%5Cverb%7C%5Cprevdepth%7C+becomes+the+depth+of+the+box+%5Cverb%7C%5Chbox%7Bp%7D%7C.+When+%5Cverb%7C%5Chbox%7Bg%7D%7C+is+added+to+the+vertical+list+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+no+longer+%5Ctexttt%7B-1000pt%7D%3B+consequently%2C+interline+glue+can+now+be+added.%0A%5Cend%7Bdocument%7D)

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Παράδειγμα που δείχνει την παράμετρο \prevdepth του TeX](/files/1c7263542481515563ae5f1a49530afc25c78df9)

#### Μηδενικού μεγέθους glue μεταξύ γραμμών: \offinterlineskip

Είναι δυνατό να αφαιρέσετε όλη την απόσταση μεταξύ γραμμών μέσω της εντολής μακροεντολής `\nointerlineskip`, η οποία έχει έναν ορισμό ισοδύναμο με:

```latex
\def\offinterlineskip{%
\baselineskip=-1000pt
\lineskip=0pt
\lineskiplimit=\maxdimen
}
```

Σημειώστε ότι `\maxdimen` είναι `16383.99998pt`, το μεγαλύτερο μήκος που μπορεί να χρησιμοποιήσει το TeX.

Το ακόλουθο γραφικό δείχνει τους βασικούς υπολογισμούς glue μεταξύ γραμμών και τις διάφορες τιμές παραμέτρων που χρησιμοποιούνται από τη μακροεντολή `\nointerlineskip`:

![offinterlineskip](/files/11e69df36ec508663eab74380fa497eca65bb365)

Το ακόλουθο γραφικό δείχνει το απόσπασμα ψευδοκώδικα που προκύπτει από την αντικατάσταση των `\nointerlineskip` τιμών της μακροεντολής στους υπολογισμούς glue. Δείχνει πώς η `\nointerlineskip` μακροεντολή λειτουργεί ορίζοντας τιμές για `\baselineskip` και `\lineskiplimit` έτσι ώστε το glue μεταξύ γραμμών να είναι πάντα `\lineskip` glue της τιμής `0pt`.

![offinterlineskip](/files/f77fd138247adea31fac5c7eac93733be1e8c1c9)

#### \offinterlineskip και μη μηδενικού \lineskip

Η `\nointerlineskip` μακροεντολή ορίζει `\lineskip` σε μηδέν, αλλά, όπως δείχνει το ακόλουθο έργο Overleaf, μπορείτε να συνδυάσετε `\nointerlineskip` με μη μηδενικές τιμές του `\lineskip` για να επιτύχετε εφέ απόστασης γραμμών.

```latex
\documentclass{article}
\title{Επίδειξη μη μηδενικού lineskip}
% Επιλέξτε ένα βολικά μικρό μέγεθος σελίδας
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % Αυτό ορίζει το \lineskip σε 0pt

\setlength{\lineskip}{5pt} % Θέλουμε μη μηδενικό \lineskip

\input text.tex % Ένα παραγόμενο αρχείο TeX που ορίζει τις μακροεντολές
% \mytextA και \mytextB, καθεμία από τις οποίες στοιχειοθετεί μια παράγραφο

\mytextA % Στοιχειοθετήστε μια παράγραφο

% Τώρα αλλάξτε το \lineskip σε μια ευέλικτη τιμή glue και στοιχειοθετήστε
% μια άλλη παράγραφο

\setlength{\lineskip}{5pt plus5pt minus5pt}

\mytextA

\end{document}
```

&#x20;Ανοίξτε αυτό το παράδειγμα ως έργο Overleaf LaTeX

Αυτό το παράδειγμα παράγει το ακόλουθο αποτέλεσμα:

![Επίδειξη της μακροεντολής \offinterlineskip του LaTeX](/files/8991871ad21fefba4c0cfda0be8e293166a62971)

Μπορείτε να περιορίσετε το/τα αποτέλεσμα(τα) της χρήσης `\offinterlineskip` και `\lineskip` (και άλλων εντολών απόστασης) περικλείοντάς τες σε μια ομάδα:

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...η/οι παράγραφός σας εδώ

\endgroup
```


---

# 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/morfopoiisi/04-articles-how-to-change-paragraph-spacing-in-latex.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.
