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

# Formátování odstavců

## Úvod

Tento článek zkoumá dvě metody, jak měnit různé aspekty mezer mezi odstavci:

* osvědčenou a doporučovanou metodou je použití balíčků LaTeXu, jako jsou [`setspace`](https://ctan.org/pkg/setspace) a [`parskip`](https://ctan.org/pkg/parskip) které poskytují možnosti a příkazy na úrovni uživatele pro změnu řádkování vašich dokumentů LaTeXu;
* použití nízkoúrovňových TeX/LaTeX *příkazů parametrů* ke změně mezer mezi odstavci. Přímé použití příkazů parametrů může obejít kontroly nebo omezení poskytovaná pečlivě navrženými balíčky LaTeXu a může vést k neočekávaným důsledkům/vedlejším účinkům jinde ve vašem dokumentu LaTeXu, proto je používejte opatrně...

### Přejít na části, které vás zajímají

Čtenáři hledající rychlá řešení:

* přejděte na sekci [*Použití balíčků LaTeXu: setspace a parskip*](#using-latex-packages-setspace-and-parskip)

Čtenáři zajímající se o nízkoúrovňové příkazy:

* přejděte na sekce [*Příkazy parametrů TeX/LaTeXu*](#using-texlatex-parameter-commands) a [*Základy: příkazy parametrů a příklady*](#the-fundamentals-parameter-commands-and-examples)

Čtenáři zajímající se o podrobnosti výpočtů řádkové mezery a struktury odstavců:

* přejděte na sekci [*Struktura odstavců a výpočty řádkové mezery*](#paragraph-structure-and-line-space-calculations)

## Použití balíčků LaTeXu: setspace a parskip

* [Balíček parskip](#the-parskip-package)
* [Balíček setspace](#the-setspace-package)

### Balíček parskip

Ta [`parskip` accents](https://ctan.org/pkg/parskip?lang=en) vám pomáhá bezpečně měnit mezeru vkládanou mezi odstavce ve vašem dokumentu. Je navržen tak, aby zajistil, že struktury dokumentu, jako je obsah, seznamová prostředí a zobrazované nadpisy, nebudou nepříznivě ovlivněny nenulovou hodnotou [`\parskip` příkaz](#parskip-tex-primitive), která se používá k nastavení množství prostoru, které TeX/LaTeX vkládá mezi odstavce.

Ta `parskip` balíček neposkytuje žádné příkazy na úrovni uživatele; místo toho ke konfiguraci svého chování používá volby balíčku.  [`parskip` dokumentace](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) je stručný, má jen tři stránky, ale zde je krátké shrnutí voleb balíčku:

* **`skip`**: zadejte `\parskip`, svislou mezeru mezi odstavci;
* **`tocskip`**: zadejte nenulovou `\parskip` hodnotu pro použití v `\tableofcontents` a podobných seznamech;
* **`indent`**: nastaví hodnotu `\parindent`, odsazení odstavce;
* **`parfill`**: upravuje hodnotu `\parfillskip`, lepidla přidaného na konec posledního řádku v odstavci.

Ve výchozím nastavení se používá `parskip` Balíček nastavuje `\parindent` na `0 pt` a poskytuje nenulovou `\parskip` hodnotou `.5[\baselineskip](#baselineskip-tex-primitive) plus 2 pt`.

#### Příklady balíčku parskip

Následující příklady ukazují některá použití `parskip` balíčku. Odkazy „Open in Overleaf“ otevřou a zkompilují příklady v Overleafu.

**Minimální příklad balíčku parskip**

Následující minimální příklad načítá balíček `parskip` a vysází dva odstavce vytvořené pomocí balíčku [`blindtext` accents](https://ctan.org/pkg/blindtext?lang=en). Příklad také vysází výchozí hodnoty `\baselineskip`, `\parskip` a `\parindent`. Množství prostoru mezi oběma odstavci je určeno hodnotou `\parskip`:

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Načtěte balíček blindtext pro fiktivní text
\usepackage{blindtext}
% Načtěte balíček parskip bez voleb
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % Použijte \par k vynucení nového odstavce
\blindtext[1]

Hodnota \verb|\parindent| je \texttt{\the\parindent}. Zde jsou další hodnoty:

\begin{itemize}
\item Hodnota \verb|\baselineskip| je \texttt{\the\baselineskip}
\item Hodnota \verb|\parskip| je \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Ukázkové použití balíčku LaTeXu parskip](/files/8ad8f6d508e5f6a0a3e8654f0791515cc22fadc7)

Všimněte si, že `\parskip` lepidlo obvykle obsahuje pružnou [složku lepidla](#a-few-notes-on-glue) protože to pomáhá LaTeXu umístit obsah na stránku a vytvářet nejlepší (optimální) zalomení stránek.

**Použití voleb balíčku parskip**

Následující příklad načítá a konfiguruje `parskip` pomocí `skip` a `indent` volby. Také vysází dva odstavce pomocí [`blindtext` accents](https://ctan.org/pkg/blindtext?lang=en), a vysází hodnoty `\baselineskip`, `\parskip` a `\parindent`.

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Načtěte balíček blindtext pro fiktivní text
\usepackage{blindtext}
% Načtěte balíček parskip s volbami skip a indent
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % Použijte \par k vynucení nového odstavce
\blindtext[1]

Hodnota \verb|\parindent| byla nastavena prostřednictvím volby \texttt{indent}, takže je nyní \texttt{\the\parindent}. Ostatní hodnoty jsou:

\begin{itemize}
\item \verb|\baselineskip| je \texttt{\the\baselineskip}
\item \verb|\parskip| byla nastavena prostřednictvím volby \texttt{skip}, takže její hodnota je \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Druhý příklad použití balíčku LaTeXu parskip](/files/b5dca70a1ae1a7f8fccb844b387c8040b0f5f7bb)

### Balíček setspace

Ta [`setspace` accents](https://ctan.org/pkg/setspace?lang=en) poskytuje příkazy a prostředí pro změnu řádkování textových řádků vašeho dokumentu. Zde je stručné shrnutí hlavních příkazů a prostředí poskytovaných `setspace`:

* příkazy **`\singlespacing`**, **`\onehalfspacing`** a **`\doublespacing`** lze použít v preambuli dokumentu nebo v těle dokumentu ke změně řádkování části nebo celého dokumentu;
* webových stránkách **`\setstretch{*baselinestretch amount*}`** příkaz nastavuje vlastní řádkování (prostřednictvím změn [`\baselinestretch`](#demonstrating-baselinestretch))—lze jej také použít v preambuli dokumentu;
* prostředí **`singlespace`**, **`singlespace*`** **`onehalfspace`** a **`doublespace`** umožňují změnit řádkování vybraných částí textu dokumentu;
* webových stránkách **`\SetSinglespace{*value*}`** příkaz používá `*value*` k úpravě jednoduchého řádkování tak, aby vyhovovalo řádkování textu vysázeného písmy, jejichž tvary znaků („glyfy“) jsou pro danou bodovou velikost relativně malé nebo velké. Viz sekci [*Stručné poznámky o fontech a bodové velikosti*](#brief-notes-on-fonts-and-point-size) pro obrázek demonstrující rozdíly ve velikosti glyfů písma pro danou bodovou velikost;
* webových stránkách **`řádkování`** prostředí poskytuje vlastní řádkování a vyžaduje jeden argument:  [`\baselinestretch` hodnota](#demonstrating-baselinestretch) který se má použít; například:

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

#### Příklady balíčku setspace

Následující příklady ukazují některá použití `setspace` balíčku: klikněte na odkazy „Open in Overleaf“, abyste příklady otevřeli a zkompilovali pomocí Overleafu.

**Použití \doublespacing v preambuli dokumentu**

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Načtěte balíček blindtext pro fiktivní text
\usepackage{blindtext}
% Načtěte balíček setspace
\usepackage{setspace}
% Použití \doublespacing v preambuli
% mění text na dvojité řádkování
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[Otevřete tento `setspace` příklad v 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)

Tento příklad vytvoří následující výstup:

![Ukázka příkazu \doublespacing balíčku setspace](/files/99371b881028167a45ad0c009849208b681e7646)

**Použití prostředí spacing**

Protože následující kód vysází 3 stránky, je vhodnější zobrazit výstup v Overleafu výběrem níže uvedeného odkazu „Open in Overleaf“.

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Načtěte balíček blindtext pro fiktivní text
\usepackage{blindtext}
% Načtěte balíček setspace
\usepackage{setspace}
% Použití \doublespacing v preambuli
% mění text na dvojité řádkování
\doublespacing
\begin{document}
\blindtext[1]

Nyní použijte větší (vlastní) řádkování nastavením hodnoty \verb|\baselinestretch| na 3:

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

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
Nyní se vraťte k \verb|\singlespacing|\singlespacing\blindtext[1]
\end{document}
```

&#x20;[Otevřete tento `setspace` příklad v 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)

**Použití prostředí singlespace\***

Jak je uvedeno v článku [*Rychlá poznámka k řádkování*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/), `setspace` balíček poskytuje hvězdičkové (`singlespace*`) a nehvězdičkové verze `singlespace` prostředí. Komentáře v `setspace` kódu balíčku uvádějí, že `singlespace*` prostředí je navrženo tak, aby „... poskytovalo lepší svislé mezery kolem prostředí itemize a quote“.

Následující příklad používá odrážkové seznamy obsažené ve dvou `minipage` prostředích, umístěných vedle sebe, aby ukázal rozdílné řádkování vytvářené `singlespace` a `singlespace*` prostředími.

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
Zde je odrážkový seznam\par (prostředí \texttt{singlespace}).
\begin{itemize}
\item Jeden
\item Dva
\item Tři
\end{itemize}
\end{singlespace}%
Seznam skončil.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
Zde je odrážkový seznam\par (prostředí \texttt{singlespace*}).
\begin{itemize}
\item Jeden
\item Dva
\item Tři
\end{itemize}
\end{singlespace*}
Seznam skončil.
\end{minipage}
```

&#x20;[Otevřete tento `setspace` příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Ukázka prostředí LaTeXu singlespace\*](/files/879d52c9b6fd6c616da24354e476b3765f2b0409)

**Použití příkazu \setstretch**

`\setstretch{*value*}` nastaví hodnotu `\baselinestretch` na *hodnota* a vyvolá *okamžitou* změnu `\baselineslip` způsobenou `\baselinestretch`. Následující příklad používá `\setstretch{1.618}`—podivná hodnota 1.618 je [vysvětlena později v článku](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% Podivná hodnota 1.618 je vysvětlena později v článku.
\setstretch{1.618}
Píšeme \verb|\setstretch{1.618}|, abychom způsobili okamžitou změnu řádkování. Kdybychom napsali \verb|\renewcommand{\baselinestretch}{1.618}|, řádkování by se neupravilo, dokud nebude použit příkaz měnící font, například \verb|\selectfont|.

\blindtext[1]
```

&#x20;[Otevřete tento `setspace` příklad v 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)

Tento příklad vytvoří následující výstup:

![Ukázka příkazu \setstretch](/files/60131697ba6bd717ef2b856135adb43f8016a93f)

**Použití příkazu \SetSinglespace**

Následující projekt je kompilován pomocí LuaLaTeXu a používá balíček `fontspec` k přístupu k fontům TeX Gyre Pagella. Porovnává dva odstavce textu vysázené fontem TeX Gyre Pagella: první odstavec používá výchozí jednoduché řádkování a druhý má větší jednoduché řádkování díky použití `\SetSinglespace{1.1}`. Někteří lidé mohou dát přednost druhému, mírně „otevřenějšímu“ odstavci a shledat, že zlepšuje komfort čtení, ale to je samozřejmě věc osobní preference.

```latex
\section*{Výchozí jednoduché řádkování Computer Modern}
Běžný text. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
\section*{Výchozí jednoduché řádkování TeX Gyre Pagella}
Zde je běžný text. \blindtext[1]
\section*{Upravené jednoduché řádkování TeX Gyre Pagella}
Poznámka: po zápisu
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
Zde je běžný text. \blindtext[1]
\end{singlespace*}
```

&#x20;[Otevřete tento `setspace` příklad v 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)

Tento příklad vytvoří následující výstup:

![Ukázka příkazu LaTeXu \SetSinglespace](/files/af1552f26b000767f38dc4d82674e10c0d79503d)

V další sekci si projdeme příkazy `\baselinestretch` a `\linespread`.

#### Porozumění \baselinestretch a \linespread

Část návrhu LaTeXu pro zpracování řádkování a změn fontů (velikost písma, rodina písma, kódování písma atd.) využívá dva příkazy, se kterými se můžete setkat:

* **`\baselinestretch`**: tento příkaz ukládá škálovací faktor použitý k násobení (škálování) aktuální hodnoty [`\baselineskip`](#baselineskip-tex-primitive). Toto škálování se obvykle použije při *při příštím* použití příkazu pro výběr fontu—například `\selectfont`. Chcete-li změnit hodnotu uloženou v `\baselinestretch` , měli byste napsat `\renewcommand{\baselinestretch}{*scale*}`
  * **Poznámka**: Pokud napíšete `\renewcommand{\baselinestretch}{*scale*}` do těla dokumentu, nová hodnota `\baselinestretch` [se neprojeví okamžitě](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): nová `*scale*` hodnota faktoru se ukládá pro budoucí použití. Chcete-li novou hodnotu`*scale*` použít/uvést do účinku okamžitě, napište `\selectfont` jak je ukázáno v [níže uvedeném úryvku kódu](#demonstrating-baselinestretch).
* **`\linespread{*scale*}`**: lze použít ke změně [`\baselineskip`](#baselineskip-tex-primitive) bez ovlivnění aktuální velikosti písma. Tento příkaz nastavuje `\baselinestretch` na `*scale*` což následně mění `\baselineskip` na `*scale* × [\baselineskip](#baselineskip-tex-primitive)`. Také toto škálování se neprojeví okamžitě, pokud není `\linespread` příkaz použit v preambuli dokumentu. Pokud je `\linespread` použit v těle dokumentu, projeví se až po použití dalšího příkazu pro nastavení/výběr velikosti fontu.

Na základě výše uvedeného lze tedy použít buď:

* `\renewcommand{\baselinestretch}{*scale*}\selectfont` nebo,
* `\linespread{*scale*}\selectfont`

ke změně řádkování, a oba budou fungovat i při změnách velikosti písma, jak ukazuje příklad níže. Který z nich byste tedy měli použít? Viz [tuto krátkou diskusi na tex.stackexchange](https://tex.stackexchange.com/a/241121).

**Ukázka \linespread**

Následující příklad používá `\linespread{2.5}` v preambuli dokumentu, což mění řádkování bez potřeby dalších příkazů pro výběr fontu:

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Načtěte balíček blindtext pro fiktivní text
\usepackage{blindtext}
% Použití \linespread v preambuli mění
% řádkování bez potřeby dalších
% příkazů pro výběr fontu, jako je \selectfont
\linespread{2.5}
\begin{document}
\blindtext[1] % Řádky jsou ovlivněny \linespread{2.5}
\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Použití příkazu linespread](/files/f0c2dcb528cd1a02763c4d67a2b4e6d791b4ef5a)

Pomocí `\linespread{2.5}` v těle dokumentu (po `\begin{document}`) *by* vyžadovalo příkazy pro výběr fontu, aby se změna řádkování projevila. Otevřete následující kód v Overleafu a porovnejte výstup s předchozím příkladem:

```latex
Protože následující příkaz \verb|\linespread| je použit v těle dokumentu, je k změně řádkování nutný příkaz pro výběr fontu. Odkomentujte \verb|\selectfont|, abyste viděli rozdíl:

\linespread{2.5}%\selectfont

% Bez \selectfont nejsou následující řádky odstavce
% ovlivněny \linespread{2.5}:
\blindtext[1]
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![použití příkazu LaTeXu \linespread v dokumentu](/files/c438d1441c33b80e8f4b5d5f89eed14eae6baa6b)

**Ukázka \baselinestretch**

Následující příklad ukazuje `\baselinestretch` a `\selectfont` pro zobrazení odpovídajícího účinku na [`\baselineskip`](#baselineskip-tex-primitive):

```latex
Výchozí hodnota \verb|\baselineskip|=\the\baselineskip. Nyní aktualizujte \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}. Avšak přestože jsme provedli

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

\noindent to \textit{zatím} nemělo žádný účinek: nová hodnota \verb|\baselinestretch| je uložena, ale není uplatněna. Můžeme zadat příkaz \verb|\selectfont|, aby se změna projevila; prozatím však hodnota \verb|\baselineskip| stále činí \the\baselineskip{} (beze změny).

Pokud nyní provedeme \verb|\selectfont|, změna \verb|\baselinestretch|, nastavená na 2.5, se nyní projeví---\selectfont i když jsme uprostřed odstavce. Nyní je hodnota \verb|\baselineskip| \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\)).

Co se stane, když změníme velikost písma na 14 pt a \verb|\baselineskip| na 16 pt pomocí příkazů \verb|\fontsize{14}{16}\selectfont|?

\fontsize{14}{16}\selectfont Nyní \verb|\baselineskip| \textit{není} 16 pt, ale \the\baselineskip{} protože hodnota \verb|\baselinestretch| (2.5) byla zachována a uplatněna, takže \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\).

\section{\texttt{\bfseries\string\linespread}}
Příkaz \verb|\linespread| lze použít k úpravě \verb|\baselineskip| bez změny velikosti písma.
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Ukázka baselinestretch](/files/43e0a5b99d3da6516c2e043faea17d262f3d0d1f)

#### Jak je v balíčku setspace definováno a měněno „řádkování“?

Ta *přesná* definice a *měření* „řádkování“ je otevřené interpretaci, což může vést k různým implementacím v softwarových systémech/aplikacích. Je zřejmé, že balíček `setspace` musí předpokládat pracovní definici řádkování, aby mohl poskytovat podporu pro sazbu „jednoduchých“ a „dvojitých“ řádků nebo jakéhokoli jiného násobku řádkování. Ale které proměnné jsou měněny pomocí `setspace` pro vytváření řádků s různou mírou bílé mezery mezi nimi?

Naštěstí [diskuse na tex.stackexchange](https://tex.stackexchange.com/a/30106) a [komentáře v kódu balíčku](https://tex.stackexchange.com/a/632830) objasňují, jak `setspace` implementuje řádkování: nastavuje hodnotu `\baselineskip` pomocí násobku bodové velikosti písma.

**Stručné poznámky o fontech a bodové velikosti**

Použití fontů v určité bodové velikosti znamená použití *škálovacího faktoru* na tvary znaků (glyfy) v těchto fontech; jakmile jsou přepočítány podle bodové velikosti, viditelná velikost znaku je funkcí návrhu písma (typografie). Bodová velikost nemá žádný univerzální, pevně daný vztah ke skutečné velikosti zobrazení tvarů znaků ve fontech.

Následující obrázek ukazuje malá písmena „abc“ vysázená pomocí 4 různých fontů a všechna *zobrazená ve stejné bodové velikosti*. Všimněte si, jak se „velikost“ těchto malých písmen mění podle návrhu písma (typografie), přestože jsou všechna vysázena při *stejné* bodové velikosti:

![Různé fonty při stejné bodové velikosti](/files/2b31a0f4ebfa4eeb38b434a985c56b7d8f00c141)

#### Jednoduché řádkování v balíčku setspace

Můžeme použít [diskuse na tex.stackexchange](https://tex.stackexchange.com/a/30106) jako základ pro další vysvětlení.

Základní dokument používající třídu `article` má výchozí velikost textového písma 10 pt s `\baselineskip` hodnotou 12 pt. S volbou \[11pt] nebo \[12pt] používá třída article větší velikost textu a odpovídajícím způsobem větší hodnotu pro `\baselineskip` jak je ukázáno v následující tabulce:

| možnosti          | velikost písma               | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| ----------------- | ---------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (výchozí) | 10pt                         | 12pt                       | 1.2                                                              |
| \[11pt]           | 10,95 pt$${}^{\textbf{\*}}$$ | 13,6 pt                    | 1.24                                                             |
| \[12pt]           | 12pt                         | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$Důvod pro anomální hodnotu `10,95 pt`, a ne přesně `11pt`, je výstižně vysvětlen v tomto [příspěvku na redditu](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

Jak ukazuje tabulka, pro každou kombinaci textové bodové velikosti a odpovídající výchozí hodnoty (tj. jednoduchého řádkování) `\baselineskip`, je poměr

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

blízký 1,2. Tato hodnota poměru označuje jednoduché řádkování a poskytuje základ pro výpočty řádkování používané `setspace` balíček.

**Porozumění a výpočet hodnot pro \baselinestretch**

Aby bylo dosaženo určitého násobku řádkování, například 1,5, 2, 3 atd., musí být `\baselinestretch` příkaz nastaven na zdánlivě [„podivné“ hodnoty](https://tex.stackexchange.com/a/30106); například pomocí [s použitím `\linespread` příkaz](https://texblog.org/2011/09/30/quick-note-on-line-spacing/). V této části se podíváme blíže na `\baselinestretch` , abychom viděli, jak tyto „podivné“ hodnoty vznikají.

Zvolme dokument s výchozí velikostí písma $$f$$ a výchozím `\baselineskip` pro $$\text{dbls}\_1$$, kde dolní index $${}\_1$$ znamená výchozí `\baselineskip` hodnotu pro jednoduché řádkování při velikosti písma $$f$$.

Budeme ***definovat*** jednoduché řádkování jako následující poměr, který budeme označovat jako $$\alpha\_f$$:

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

Pro danou velikost písma $$f$$, definujme také *definovat* následující hodnoty řádkování:

* 1,5násobek řádkování je *definován* jako

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

* 2,0násobek řádkování je *definován* jako

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

* násobek, $$m$$, řádkování je *definován* jako

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

Použitím našeho jednoduchého řádkování, definovaného poměrem $$\alpha\_f$$, můžeme napsat následující „pseudokód“ pro výpočet hodnoty `\baselinestretch` odpovídající libovolnému násobku řádkování $$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\*}$$

Pojďme použít `11pt` text (ve skutečnosti `10,95 pt`) a výchozí `\baselineskip` hodnotou `13,6 pt` k výpočtu `\baselinestretch` pro *dvojité* řádkování:

$$\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\*}$$

Následující úryvek kódu se používá v `setspace` balíčku k dosažení `\doublespacing` když je velikost písma 11 pt. Všimněte si, jak je hodnota `1.618`, vypočtená výše, uložena v příkazu `\baselinestretch`:

```latex
\newcommand{\doublespacing}{%
  \setstretch {1.667}%  výchozí
  \ifcase \@ptsize \relax % 10 pt
    \setstretch {1.667}%
  \or % 11 pt
    \setstretch {1.618}%
  \or % 12 pt
    \setstretch {1.655}%
  \fi
}
```

Při použití `article` třídy dokumentu s volbou písma 11 pt následující příklad porovnává `\doublespacing` s `řádkování` prostředím používajícím naši vypočtenou hodnotu `1.618` pro `\baselinestretch`. Není překvapivé, že `\baselineskip` hodnoty jsou totožné (`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;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![ukázka \baselinestretch](/files/9fe8988aa306098728eb5dc84a086f9f22716f4b)

Podobné výpočty `\baselinestretch` hodnot platí i pro další velikosti písma a kombinace řádkování, jak je uvedeno v následujících tabulkách:

![parametry setspace](/files/17ca49d882a2efa38e72f7b3523eba9b9d10944f)

## Použití parametrických příkazů TeX/LaTeX

Následující části zkoumají několik příkazů souvisejících s mezerami/formátováním odstavců: některé z těchto příkazů jsou *vestavěné do* sazební jádra TeXu, jiné jsou makra TeX/LaTeX. Příkazy zabudované v jádrech TeXu jsou známy jako *primitivy*, což znamená, že jsou *zásadním* a *nerozložitelné* protože na rozdíl od maker nejsou primitiva sestavena ze sekvencí jiných příkazů.

Zvláště se budeme zabývat několika primitivy *příkazů parametrů* podporovanými všemi jádry TeXu, včetně pdfTeXu, XeTeXu a LuaTeXu. Parametrické příkazy, ať už souvisejí s odstavci nebo ne, se používají k *získání aktuální hodnoty* odpovídajícího parametru, nebo *nastavení daného parametru na novou hodnotu*. Například `\parskip` příkaz, který je primitivem, určuje hodnotu parametru, jenž řídí množství bílého místa vloženého mezi dva sazené odstavce.

Chcete-li *získat* (zde sazebně vypsat) aktuální hodnotu `\parskip` napsali byste:

```latex
\the\parskip
```

Chcete-li *set* aktuální hodnota `\parskip` na `1pt plus2pt` (pružné lepidlo) můžete napsat třeba takto:

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

Představíme také několik užitečných TeX/LaTeX *makra*, tedy příkazů vyšší úrovně, napsaných a sestavených pomocí sekvence dílčích příkazů.

### Příkazy používané pro mezery mezi odstavci

Následující příkazy (primitiva a makra) lze použít k ovlivnění mezery mezi odstavci. Některé jsou probrány podrobněji; k nim se dostanete kliknutím na odkaz z názvu příkazu.

#### Primitivní příkazy

* [`**\parindent**`](#parindent-tex-primitive): množství odsazení (bílého místa) přidaného k prvnímu řádku odstavce.
* [`**\parskip**`](#parskip-tex-primitive): množství pružného bílého místa („glue“) vloženého mezi odstavce.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives): pružné rozestupy (glue) vložené napravo od každého řádku odstavce.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives): pružné rozestupy (glue) vložené nalevo od každého řádku odstavce.
* [`**\baselineskip**`](#baselineskip-tex-primitive): hodnota tohoto parametru plní dvě funkce:
  * nastavuje požadovanou vzdálenost mezi základními liniemi textu v odstavci;
  * používá se k výpočtu (proměnlivého) množství místa (glue) přidaného mezi řádky, aby bylo dosaženo požadované vzdálenosti mezi základními liniemi ([viz dále v článku](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives): parametr, jehož hodnota určuje minimální přijatelnou vzdálenost mezi dvěma sousedními řádky odstavce.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives): množství místa (glue) vloženého mezi dva řádky v odstavci, pokud vypočtené `\baselineskip` glue by způsobilo, že by řádky byly příliš blízko u sebe.
* `**\parfillskip**`: velmi pružné lepidlo přidané na konec posledního řádku odstavce, aby jej „vyplnilo“ bílým místem; vizuální příklad najdete na obrázku v části [*Vizualizace dalších typů odstavcového glue*](#visualizing-other-types-of-paragraph-glue).

#### Příkazy maker

Následující makro-příkazy TeX/LaTeX se často používají k úpravě mezery mezi odstavci:

* [`**\offinterlineskip**` a `**\nointerlineskip**`](#offinterlineskipandnointerlineskip): příkazy, které lze použít k vypnutí výpočtu a vkládání `\baselineskip` glue;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch): příkaz, který ukládá číselný faktor používaný k výpočtu hodnoty `\baselineskip` při výběru písma. Ve výchozím nastavení má hodnotu 1;
* [`**\linespread**`](#demonstrating-linespread): tento příkaz lze použít ke změně aktuální hodnoty `\baselinestretch`.

### Pružné rozestupy (glue)

Jádra TeXu dosahují efektů rozestupů, a to i uvnitř nebo mezi odstavci, pomocí pružného bílého místa nazývaného *glue* které lze roztáhnout nebo zmenšit podle potřebného množství místa. Chcete-li se seznámit s pojmem glue v TeXu, další podrobnosti najdete v následujících článcích na Overleafu:

* [Zkoumání boxů s nedostatkem či přebytkem obsahu a výpočtů špatnosti](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [Jak TeX počítá nastavení glue v \hbox](/latex/cs/clanky-do-hloubky/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [Porozumění varováním o boxech s nedostatkem a přebytkem obsahu](/latex/cs/znalostni-baze/138-understanding-underfull-and-overfull-box-warnings.md).

## Základy: příkazy parametrů a příklady

V této části vysvětlíme několik parametrických příkazů souvisejících s odstavci a uvedeme příklady jejich použití.

### \parindent (primitivum TeXu)

Tento parametrický příkaz nastavuje množství odsazení (bílého místa) přidaného k prvnímu řádku odstavce. Lze jej změnit pomocí LaTeX `\setlength` příkazu; například k odsazení odstavců o `15 pt` set `\parindent` na `15 pt` tím, že napíšete:

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

Všimněte si, že:

* můžete změnit `\parindent` v rámci skupiny, čímž zajistíte, že jeho účinek bude omezen na odstavce v této skupině;
* `\parindent` může být záporné, což vytvoří spíše „vysunutí“ než odsazení;
* ve výchozím nastavení LaTeX neodsazuje první odstavec následující za nadpisem sekce dokumentu (`\section{...}` atd).

Následující příklad ukazuje použití `\parindent`.

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Vytvořte příkaz pro uložení odstavce textu
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }Když \TeX{} sází odstavec, zachází s každým jednotlivým znakem jako s 2D ``boxem'' s určitou šířkou, výškou a hloubkou.\par}
\begin{document}

% Nastavte \parskip tak, aby mezi odstavci bylo 10 pt
\setlength{\parskip}{10pt}

% Nastavte hodnotu \parindent na 0 pt
\setlength{\parindent}{0pt}
\testpar

% Nastavte hodnotu \parindent na 10 pt
\setlength{\parindent}{10pt}
\testpar

% Nastavte \parindent ve skupině
{\setlength{\parindent}{50pt}\testpar}

% Nyní je \parindent opět 10 pt
\testpar

% Ano, \parindent může být záporné
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Použití různých hodnot odsazení odstavců v LaTeXu](/files/bd9e11f0efe5d715de2bb976ea367c637426e4f2)

### \parskip (primitivum TeXu)

Čitelnost textu lze zlepšit oddělováním odstavců množstvím bílého místa, které se bude lišit podle zvoleného designového záměru. TeX/LaTeX umožňují uživatelům řídit tuto mezeru mezi odstavci pomocí `\parskip` parametrického příkazu.

* **Rada z `parskip` accents**: Ten [balíčku parskip](https://ctan.org/pkg/parskip) doporučuje, aby přímá úprava `\parskip` mohla „vést k vertikálním mezerám na neočekávaných místech“ (v rámci dokumentu LaTeX). `parskip` balíček se snaží opravit problémy s mezerami, které mohou vzniknout změnami hodnoty `\parskip`—například v obsahu a v prostředích seznamů. Viz také část článku věnovanou balíčku [`parskip` v tomto článku](#the-parskip-package).

Pro ruční nastavení aktuální hodnoty `\parskip` použijte LaTeX `\setlength` příkaz; například k oddělení odstavců o 3 pt můžete napsat:

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

Následující příklad ukazuje použití `\parskip`:

```latex
\documentclass{article}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Vytvořte příkaz pro uložení odstavce textu
\newcommand{\testpar}{\noindent Aktuální hodnota \texttt{\string\parskip} je \texttt{\the\parskip}. Když \TeX{} sází odstavec, zachází s každým jednotlivým znakem jako s 2D~``boxem'' s určitou šířkou, výškou a hloubkou.\par}
\begin{document}
\testpar
% Nastavte \parskip na 5 pt
\setlength{\parskip}{5pt}\testpar
% Nastavte parskip na 10 pt
\setlength{\parskip}{10pt}\testpar
% Nastavte \parskip na 25 pt (ale ve skupině)
{\setlength{\parskip}{25pt}\testpar}
% Skupina končí, nyní je \parskip opět 10 pt
\testpar
% Ano, \parskip může být záporné
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Ukázka použití \parskip v LaTeXu](/files/b0d3644442df63bc2ed35f5000d85732b183694a)

#### Pružné \parskip

Tradičně `\parskip` není *pevná* hodnota, což by vedlo ke stejnému množství místa mezi všemi odstavci. Místo toho `\parskip` je obvykle definováno jako „pružný prostor“ (nazývaný glue), který umožňuje TeXu prostor mezi odstavci roztáhnout nebo zmenšit, aby se obsah vešel na stránku a aby se našlo „dobré“ místo pro zalomení stránky.

Chcete-li udělat `\parskip` pružné, zapíšete je ve formě specifikace glue:

`\setlength{\parskip}{*pevné množství* **plus** *množství k natažení* **minus** *množství ke zmenšení*}`

kde `**plus**` a `**minus**` jste *keywords* používané TeX/LaTeXem k označení *množství k natažení* nebo *množství ke zmenšení* obsaženého ve specifikaci glue. Článek na Overleafu [*Zkoumání boxů s nedostatkem či přebytkem obsahu a výpočtů špatnosti*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) obsahuje podrobnější rozbor glue.

Například k tomu, aby `\parskip` se mohlo pohybovat mezi `3 + 1 = 4pt` a `3 — 1 = 2pt` můžete napsat

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

### \leftskip a \rightskip (primitiva TeXu)

Jádra TeXu poskytují dva parametrické příkazy, které přidávají prostor (glue) nalevo a napravo od každého řádku sazeného odstavce. Jak jejich názvy napovídají:

* `\leftskip` vkládá prostor (glue) nalevo od každého řádku v odstavci;
* `\rightskip` vkládá prostor (glue) napravo od každého řádku v odstavci.

Následující příklady používají `\leftskip` a `\rightskip` k přímé úpravě zarovnání odstavce; nicméně změn zarovnání textu se obvykle nejlépe dosahuje vhodnými prostředími nebo balíčky LaTeXu — například viz [článek na Overleafu o zarovnání textu](/latex/cs/formatovani/06-text-alignment.md). Ačkoli demonstrujeme chování některých nízkoúrovňových (primitivních) parametrických příkazů poskytovaných jádry TeXu, obecně je vhodné, kde je to možné, používat odpovídající balíčky LaTeXu.

#### Nastavení \leftskip jako pevného a \rightskip jako pružného

Následující příklad vytváří dva odstavce: první používá výchozí hodnoty LaTeXu pro `\leftskip` a `\rightskip` a druhý odstavec je sazen s následujícím nastavením:

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

Otevřete následující projekt na Overleafu, abyste viděli výstup:

```latex
\documentclass{article}
\title{Druhý příklad leftskip a rightskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Nastavte hodnotu některých parametrů souvisejících s odstavci
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, z nichž každý obsahuje text jednoho odstavce.
% Sazba odstavce s výchozími hodnotami \leftskip a \rightskip

\mytextB

% Nastavte \leftskip a \rightskip na nové hodnoty
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% Nyní znovu saďte tentýž odstavec
\mytextB

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Nastavení glue \leftskip v LaTeXu](/files/97de31b862c09074303829b11403f0b43299e728)

Následující obrázek je komentovanou verzí druhého odstavce vytvořeného výše uvedeným příkladem. Je navržen tak, aby zvýraznil a ukázal množství `\leftskip` a `\rightskip` vloženého glue v řádcích odstavce spolu s `\parindent` prostorem pro první řádek:

![Nastavení glue \leftskip v LaTeXu](/files/178f29872978573c4b7e4c89ab09d9d076431a4c)

Všimněte si, že `\leftskip` glue má pevnou velikost (10 pt), ale `\rightskip` glue se roztáhlo, aby poskytlo libovolné množství bílého místa potřebného k vyplnění pravé strany každého řádku. Tato „pružnost“ je dána specifikací `\rightskip` která obsahuje `plus 1 fill`—čímž poskytuje formu glue s „nekonečnou možností roztahování“.

#### Nastavení \rightskip jako pevného a \leftskip jako pružného

Následující příklad vytváří dva odstavce: první používá výchozí hodnoty LaTeXu pro `\leftskip` a `\rightskip` a druhý odstavec je sazen s následujícím nastavením:

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

Otevřete následující projekt na Overleafu, abyste viděli výstup:

```latex
\documentclass{article}
\title{Příklady leftskip a rightskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Nastavte hodnotu některých parametrů souvisejících s odstavci
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, z nichž každý obsahuje text jednoho odstavce.
% Sazba odstavce s výchozími hodnotami \leftskip a \rightskip

\mytextB

% Nastavte \leftskip a \rightskip na nové hodnoty
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% Nyní znovu saďte tentýž odstavec
\mytextB

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Nastavení glue \rightskip v LaTeXu](/files/5e0a05ca22e860ecf54e789f0b2376547700605c)

Následující obrázek je komentovanou verzí druhého odstavce vytvořeného výše uvedeným příkladem. Je navržen tak, aby zvýraznil a ukázal množství `\leftskip` a `\rightskip` vloženého glue v řádcích odstavce spolu s `\parindent` prostorem pro první řádek:

![Nastavení glue \rightskip v LaTeXu](/files/08473a6572028aa0355b5a8bbba00ed053cf4eef)

Všimněte si, že `\rightskip` glue má pevnou velikost (10 pt), ale `\leftskip` glue se roztáhlo, aby poskytlo libovolné množství bílého místa potřebného k vyplnění levé strany každého řádku. Tato „pružnost“ je dána specifikací `\leftskip` která obsahuje `plus 1 fill`—čímž poskytuje formu glue s „nekonečnou možností roztahování“.

#### Nastavení \leftskip a \rightskip na pružné hodnoty

Následující příklad vytváří dva odstavce: první používá výchozí hodnoty LaTeXu pro `\leftskip` a `\rightskip` a druhý používá následující pružná nastavení glue:

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

Tato nastavení způsobí, že řádky odstavce budou vycentrovány:

```latex
\documentclass{article}
\title{Příklady leftskip a rightskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% Nastavte hodnotu některých parametrů souvisejících s odstavci
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, které definují text pro dva odstavce
% Sazba odstavce s výchozími hodnotami \leftskip a \rightskip

\mytextB

% Nastavte \leftskip a \rightskip na „mimořádně pružná“ nastavení glue
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% Nyní znovu saďte tentýž odstavec
\mytextB

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Příklad ukazující \leftskip a \rightskip](/files/ea5bb6c17dff52e005c5d7360bb9b3d48884d9c4)

Následující obrázek je komentovanou verzí druhého odstavce vytvořeného výše uvedeným příkladem. Je navržen tak, aby zvýraznil a ukázal množství `\leftskip` a `\rightskip` vloženého glue v řádcích odstavce spolu s `\parindent` prostorem pro první řádek:

![Příklad ukazující \leftskip a \rightskip](/files/2318ae11e1ae1cdeac4e907d3769fe6f8d1ffb9d)

Všimněte si, že oba `\leftskip` a `\rightskip` jsou zadány jako `0pt plus 1fill` čímž jsou oba stejně „nekonečně pružné“; proto se roztáhnou o stejnou míru, což vede k vycentrování sazených řádků.

#### Nastavení \leftskip a \rightskip ve skupině

Následující příklad ukazuje, jak provést dočasné změny `\leftskip` a `\rightskip` tím, že je uzavřete do skupiny. V našem příkladu je skupina vytvořena pomocí `\begingroup`... `\endgroup`, jak ukazuje následující úryvek kódu:

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

První odstavec je sazen s „mimořádně pružným“ glue pro `\leftskip` a `\rightskip`:

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

ale druhý odstavec používá výchozí hodnoty LaTeXu:

```latex
\documentclass{article}
\title{Další příklad leftskip a rightskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Nastavte hodnotu některých parametrů souvisejících s odstavci
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, které definují text pro dva odstavce
% Zde změníme \leftskip a \rightskip na „mimořádně pružná“ nastavení glue
% uvnitř skupiny vytvořené pomocí \begingroup ... \endgroup

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

% Nyní znovu saďte tentýž odstavec poté, co se skupina uzavřela
% čímž se \leftskip a \rightskip vrátí na své předchozí hodnoty

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Použití \leftskip a \rightskip ve skupině](/files/608cb9cc081e410c79c49baf9ebe486e5914a938)

**Poznámka**: Nastavení (účinky) `\leftskip` a `\rightskip` jsou omezeny na odstavec uvnitř skupiny vytvořené pomocí `\begingroup`... `\endgroup`. Po uzavření skupiny je další odstavec sazen s výchozími hodnotami LaTeXu pro `\leftskip` a `\rightskip`.

### \baselineskip (primitivum TeXu)

Obecně přijímaná sazební praxe říká, že řádky textu uvnitř odstavců by měly být stejně vzdálené, s výjimkou případů, kdy některé řádky obsahují velké prvky, například matematiku nebo obrázek, kvůli nimž není možné u těchto řádků zachovat stálé řádkování.

TeX/LaTeX poskytují příkazy a mechanismy, které uživatelům umožňují do určité míry řídit řádkování. Jedním z takových příkazů je `\baselineskip` který získává nebo nastavuje hodnotu parametru určujícího preferované řádkování (vzdálenost mezi základními liniemi) v sazeném odstavci.

Chcete-li vypsat aktuální hodnotu `\baselineskip` můžete napsat

```latex
\the\baselineskip
```

Chcete-li nastavit `\baselineskip` na nějakou `hodnota` (délku v LaTeXu, například `pt`), můžete napsat

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

Například k nastavení `\baselineskip` na `12pt` můžete napsat

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

Můžeme demonstrovat roli `\baselineskip` pomocí následujícího (typického) odstavce:

![Ukázkový odstavec LaTeXu](/files/acab333334740e40fb895b9e751a5db83a277431)

a přidáním poznámek, které ukazují vzdálenost mezi základními liniemi řízenou příkazem `\baselineskip`:

![Ukázkový odstavec LaTeXu s poznámkami ukazujícími vzdálenosti mezi základními liniemi](/files/8e91d61a0f3ecc8d0dcf9cd8c2d69f80c17af17f)

Diagram také ukazuje meziřádkové „glue“: vypočtené množství bílého místa přidaného mezi řádky — dále se o tom budeme věnovat později v článku.

#### \baselineskip a další parametry

`\baselineskip` je jedním ze čtyř základních parametrů, které řídí množství prostoru vloženého mezi řádky odstavce; další jsou:

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

Později v článku prozkoumáme [*jak se tyto čtyři parametry používají*](#paragraph-structure-and-line-space-calculations) k výpočtu hodnot meziřádkového glue.

#### Příklad \baselineskip (pevný prostor)

Následující příklad se otevře v Overleafu a vytvoří projekt obsahující soubor s názvem `text.tex` který definuje příkazy `\mytextA` a `\mytextB`—oba příkazy sazují odstavec. Pro pohodlí používá projekt na Overleafu malou velikost stránky, protože to usnadňuje přípravu grafiky a obrázků pro tuto stránku nápovědy.

```latex
\documentclass{article}
\title{Demonstrování baselineskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Nastavte hodnotu některých parametrů souvisejících s odstavci (tyto budeme probírat)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Nastavte hodnotu \baselineskip — změňte hodnotu a uvidíte účinek
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, z nichž každý sází odstavec

% Nejprve saďte dva odstavce s výchozím \baselineskip
\mytextA\mytextB

% Nyní změňte \baselineskip na větší hodnotu a saďte
% další odstavec
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Zkoumání baselineskip v TeXu nebo LaTeXu](/files/27349c03675737237222b308d0009ebabd335d6d)

Odstavec na stránce 2 má řádky s velkými rozestupy, protože `\baselineskip` bylo nastaveno na 24 pt.

#### Příklad \baselineskip (pružný prostor)

Následující příklad určuje `\baselineskip` hodnotu, která má mimořádně pružnou (tzv. „nekonečnou“) roztažnou složku:

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

Díky této pružnosti se bílé místo mezi řádky odstavce může roztáhnout o libovolné množství potřebné k vyplnění stránky. Taková pružnost by vedla k tomu, že by odstavce měly mezi svými jednotlivými řádky textu velmi rozdílné množství prostoru, což by nemuselo být esteticky příjemné ani snadno čitelné.

```latex
\documentclass{article}
\usepackage{blindtext}
\title{Ukázka pružného \texttt{\string\baselineskip}}
\author{Overleaf}
\date{leden 2022}

\begin{document}

\maketitle
Přiřadíme \verb|\baselineskip| velmi pružnou „roztažnou“ složku tím, že mu nastavíme hodnotu \texttt{12pt plus1fil}: \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Úvod}
Přidejte odstavec, který se nyní roztáhne, aby vyplnil stránku. \blindtext

\end{document}
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Demonstrování glue baselineskip s nekonečnou pružností](/files/f279d5a754fe6fbff15c56261c89f7bd6ff907c8)

**Pár poznámek ke glue**

Některé z následujících poznámek jsou převzaty z článku na Overleafu [zkoumání podplných nebo přeplných boxů a výpočtů špatnosti](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), reprodukováno zde pro pohodlí.

Bílý prostor, který TeX vkládá mezi řádky odstavce, `\baselineskip`, je formou pružného rozestupu zvaného *glue*. Hodnota glue může být zadána třemi složkami:

* a *pevná* množství;
* množství, které může *roztáhnout*;
* množství, které může *smrštit*,

V důsledku toho může být `\baselineskip` hodnota zadána takto:

`\baselineskip`=*pevné množství* **plus** *množství k natažení* **minus** *množství ke zmenšení*

kde

* **plus** a **minus** jsou klíčová slova, která TeXové enginy rozumějí;
* *pevné množství* označuje se jako *normální složka* glue (také nazývaná *přirozenou šířku* složka glue);
* *množství k natažení* označuje se jako *roztažná složka* glue;
* *množství ke zmenšení* označuje se jako *smrštitelná složka* glue.

Ta *pevné množství* je vyžadována pro všechny hodnoty glue, ale *množství k natažení* a *množství ke zmenšení* obě jsou volitelné — pokud jedna nebo obě chybí, nastaví se na hodnotu 0.

Obvykle je `\baselineskip` glue je zadáno s *pevné množství* pouze, tažná a smršťovací složka jsou nulové, jinak by řádky odstavce měly nepravidelné (proměnné) rozestupy, což by nemuselo být esteticky příjemné.

### \offinterlineskip a \nointerlineskip (makra)

Tato makra se často používají k zabránění vkládání mezřádkového glue mezi řádky odstavce. Čtenáři, kteří mají zájem o podrobnosti, mohou přeskočit na příslušné části článku, které vysvětlují, jak tato makra fungují.

* **`\offinterlineskip`**: Viz část článku [*Mezřádkové glue nulové velikosti: \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`**: Viz část článku [*Zabraňování mezřádkovému glue: \prevdepth a \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## Struktura odstavců a výpočty řádkové mezery

S využitím možností LuaTeXu je možné [dodatečně zpracovat vysázený odstavec](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) a vizualizovat hranice jednotlivých znaků (glyphů), řádků a glua, z nichž je složen. Začneme krátkou sekvencí obrázků, která pomůže vizualizovat model „boxy a glue“, který TeXové enginy používají k sázení textu obsaženého v odstavci.

### Struktura odstavce

Když TeX sází odstavec, považuje jednotlivé znaky za miniaturní boxy, z nichž každý má vlastní šířku, výšku a hloubku, a tyto šířky znakových boxů se používají k výpočtu optimálních míst pro zalomení řádků. Kromě toho se znaky mezery obsažené v textu, které slouží k oddělení jednotlivých slov, převádějí na formu pružného prostoru (glue), který poskytuje rozestupy potřebné k dosažení každého zalomení řádku.

Následující sekvence 7 obrázků ukazuje hlavní složky vysázeného odstavce: různé typy boxů a glue. První obrázek ukazuje vysázený odstavec spolu s anotovanou verzí, která zvýrazňuje různé prvky v odstavci. Anotovaný odstavec však obsahuje mnoho informací, takže následující obrázky izolují různé složky, aby je snad bylo snazší pochopit.

![Paragraphanatomy1b.png](/files/77b80b532af048d7f3fafca2f485169158116bcc)

* Následující obrázek zobrazuje řádky odstavce jako šedé boxy oddělené glue, které je znázorněno vodorovnými zelenými pruhy. Toto glue je vypočítáno tak, aby vzdálenost od základní linie k základní linii byla rovna (tj. hodnotě) `\baselineskip`:

![Paragraphanatomy2b.png](/files/ac4264be132be811e313b8eeb166ab7a93c2b652)

* Další obrázek znázorňuje vysázené znaky jako boxy: aby bylo vidět, jak TeXové enginy zpracovávají znaky za účelem vytváření zalomení řádků:

![Paragraphanatomy3.png](/files/cb89abba81d699028162206e28644fb8d6653b29)

* Další obrázek ukazuje boxy v boxech: větší řádky odstavce (boxy) obsahující menší boxy (jednotlivé znaky):

![Paragraphanatomy5.png](/files/1a49606ee6dd58684282ffdbd2c2624c2a3023bd)

* Další obrázek ukazuje množství místa mezi slovy v každém řádku: tyto mezislovní mezery vznikají převodem znaků mezery na pružná glue, která se roztahují nebo smršťují, aby vytvořila správnou délku každého řádku textu. Pozorně si všimněte, že velikost těchto mezer se liší řádek od řádku:

![Paragraphanatomy4.png](/files/253a16dd7b44d747bca0f2191cce4350d015c314)

* Další obrázek kombinuje boxy znaků a odpovídající glue (mezery) vložené mezi jednotlivá slova:

![Paragraphanatomy6.png](/files/9e87ac0dbcb7eb2537aab3671d0ca03a1e6141ce)

### Vizualizace dalších typů odstavcového glue

Následující odstavce byly rovněž vysázeny a zpracovány pomocí LuaTeXu, aby ukázaly jiné typy glue uvnitř dvojice odstavců i mezi nimi. Všimněte si, že `\rightskip` a `\leftskip` obě jsou nastavena na 0pt, takže nejsou zobrazeny:

* **`\parskip`** glue (světle modré) vložené mezi dva vysázené odstavce;
* jednotlivá slova jsou oddělena ***mezislovním glue*** (žlutým) vzniklým převodem znaků mezery ve vstupu na bílý prostor proměnné velikosti (glue) ve vysázeném výstupu. Glue vzniklé z mezislovních mezer se roztahuje nebo smršťuje, aby se dosáhlo vizuálně příjemných zalomení řádků;
* **`\baselineskip`** glue (světle zelené) vložené mezi řádky — přesné množství `\baselineskip` glue se vypočítává pomocí mechanismu popsaného níže;
* **`\lineskip`** glue (červené) použité ve druhém odstavci — kvůli nízkému boxu obsaženému v předposledním řádku;
* **`\parfillskip`** glue (tmavě zelené) vložené na konec posledního řádku v každém odstavci.

![](/files/51098d19ad86314531ddccf63bbf4c37fa000632)

### Práce s hlubšími (nebo vyššími) řádky (boxy)

Jak ukazují obrázky v [předchozí sekci](#paragraph-structure), je vysázený odstavec svislý stoh „boxů“ oddělených určitým bílým místem, které TeX nazývá „glue“. Jak je odstavec zpracováván a jednotlivé řádky (boxy) se skládají na sebe, svislý seznam (stoh) roste *směrem dolů* směrem ke spodní části stránky. Ačkoli se TeX/LaTeX snaží zajistit, aby byly řádky odstavce skládány tak, že základní linie jsou od sebe odděleny konstantní vzdáleností `\baselineskip`, ne vždy je to možné, protože některé řádky mohou mít větší než obvyklou výšku nebo hloubku.

Výška a hloubka každého řádku odstavce je určena maximální vzdáleností, o kterou obsah řádku přesahuje nad nebo pod základní linii; proto odstavce obsahující materiál s relativně velkou výškou nebo hloubkou, například vloženou matematiku nebo grafiku, pravděpodobně vytvoří jednotlivé řádky s odpovídajícím velkými výškami a/nebo hloubkami. U takových řádků nemusí být TeX/LaTeX schopen je skládat tak, aby jejich základní linie byly od ostatních řádků odděleny o tuto hodnotu `\baselineskip` . Je zřejmé, že TeX/LaTeX potřebují „nouzový mechanismus“ pro zpracování takových řádků tím, že *vypočítávají* vhodné množství prostoru, které se vloží mezi každou dvojici řádků ovlivněných velkou výškou a/nebo hloubkou.

#### \lineskip a \lineskiplimit (primitiva TeXu)

Tento nouzový mechanismus zahrnuje parametrové příkazy `\lineskip` a `\lineskiplimit` spolu s třetím parametrem nazvaným `\prevdepth`. Čtenáři zajímající se o další podrobnosti mohou přeskočit na část článku [*Jak se vypočítává prostor (glue) mezi řádky odstavce*](#how-the-space-glue-between-paragraph-lines-is-calculated).

Ukázkový projekt níže vysází jediný odstavec, jehož poslední řádek má relativně velkou hloubku kvůli posunutému textovému boxu (`\hbox`). Odstavec je vysázen s těmito nastaveními:

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

Použijte odkaz pod následujícím kódem k otevření projektu Overleaf:

```latex
\documentclass{article}
% Použijte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Nastavte některé důležité parametry
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Vstupní soubor definující \testpar
\input testpar.tex
\title{Ukázkový odstavec pro lineskip}
\begin{document}
\testpar % Makro vytvořené v projektu Overleaf
\end{document}
```

&#x20;[Otevřít tento příklad v Overleafu.](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)

Tento příklad vytvoří následující výstup:

![Příklad demonstrující glue \lineskip](/files/8db8d91f9526c05ccc22bfedd314a49910dd0bf7)

Následující obrázek používá anotovanou verzi odstavce vytvořeného předchozím projektem Overleaf. Zde se přiblížíme, abychom se zaměřili na poslední řádek odstavce a ukázali použití `\lineskip` glue (zobrazeného červeně) způsobeného hloubkou posunutého textového boxu:

![Obrázek ukazující glue \lineskip v TeXu](/files/fe4bebd4d8536832b75d46fb09b1951c7802bf52)

Poslední řádek textu odstavce má větší než obvyklou hloubku, což TeXu brání udržet konstantní vzdálenost mezi základními liniemi danou hodnotou `\baselineskip` (12pt). Jak ukazují šipky na pravé straně obrázku, TeX/LaTeX se snaží zajistit pevnou vzdálenost (12pt) mezi dvojicemi řádků — hodnotou `\baselineskip`. Avšak u poslední dvojice řádků je TeX oddělil o větší vzdálenost než 12pt a místo hodnoty vypočtené pomocí `\lineskip` používá hodnotu `\baselineskip`.

Následující části zkoumají a vysvětlují podrobnosti výpočtů hodnot mezřádkového glue v TeXu.

### Jak se vypočítává prostor (glue) mezi řádky odstavce

Pro současné účely *velmi stručně* zmíníme proces skládání stránky v TeXu, a to značně zjednodušeně! Jakmile TeX dokončí sazbu odstavce, dokončí dělení slov a určí zalomení řádků, můžete si tato data odstavce představit jako uložená v dočasném paměťovém místě. TeX pak potřebuje tato data odstavce po řádcích přesunout do nového paměťového místa, které uchovává materiál určený pro aktuální výstupní stránku.

když TeX přesouvá data odstavce po řádcích, v podstatě vytváří svislý stoh řádků (TeXových boxů), který roste *směrem dolů* směrem ke spodní části stránky. Při přesunu řádků odstavce na aktuální stránku se TeX snaží zajistit, aby tyto řádky měly stejné rozestupy, s konzistentním svislým (od základní linie k základní linii) rozestupem rovným hodnotě `\baselineskip`. Když je nový řádek přenesen na aktuální stránku, TeXový engine si dočasně zaznamená *hloubku* , protože bude použita k výpočtu množství mezřádkového glue (bílého prostoru) mezi tímto řádkem a řádkem umístěným za ním.

#### Výpočty velikosti glue

Začněme shrnutím vlastností mezřádkového rozestupu, které poskytují TeXové enginy:

* udržování konstantní vzdálenosti mezi základními liniemi, vzdálenosti rovné `\baselineskip`;
* zajištění rozestupu pro jakékoli řádky s relativně velkou výškou nebo hloubkou;
* schopnost vypnout vkládání mezřádkového glue — buď automaticky, nebo pod kontrolou uživatele. Například:
  * TeXové enginy automaticky deaktivují vkládání mezřádkového glue po pravidle ve svislém režimu;
  * makra `\offinterlineskip` a `\nointerlineskip` umožňují uživatelům dočasně vypnout vkládání mezřádkového glue — tato makra mají různé účinky, jak uvidíme níže.

Rozhodnutí, zda přidat mezřádkové glue, a pokud ano, kolik a jakého typu, probíhá takto:

* Má být přidáno mezřádkové glue? TeX to rozhodne testem, zda *hloubka posledního přidaného řádku* do seznamu je menší než speciální hodnota `–1000pt` (bodů). Všimněte si, že `–1000pt` je libovolná „sentinelová“ hodnota používaná interně TeXovými enginy.
  * **Poznámka**: Hodnota „hloubka posledního přidaného řádku“, kterou TeX interně zaznamenává, je také známá jako „předchozí hloubka“. TeXové enginy poskytují parametrový příkaz `\prevdepth`— který lze za určitých okolností použít k *získat* nebo *set* hodnoty „předchozí hloubky“. Makro `\nointerlineskip` využívá `\prevdepth`.
* TeX testuje, zda `hloubka předchozího řádku je větší než –1000pt`?
  * ***Ano, je*** (je třeba přidat glue):
    * vypočítejte hodnotu Δ, kde Δ = \baselineskip – (hloubka předchozího řádku) – (výška následujícího řádku)
    * porovnejte Δ s hodnotou `\lineskiplimit`, parametr používaný k definování minimální přijatelné vzdálenosti mezi dvěma řádky, měřené jako vzdálenost mezi spodní částí horního řádku a horní částí dolního řádku.
    * Pokud Δ < `\lineskiplimit`:
      * jsou řádky příliš blízko, proto vložte minimální přijatelné rozestupy, což je `\lineskip`
    * Pokud Δ >= `\lineskiplimit`:
      * řádky nejsou příliš blízko, takže jako množství vloženého glue použijte Δ
  * ***Ne, není*** (nepřidávat glue):
    * Přidejte další řádek (box) bez vložení jakéhokoli glue

Následující obrázek shrnuje proces mezřádkového glue:

![Jak TeX určuje hodnoty mezřádkového glue](/files/a782cbe44a7ac5f86cf7ced046e8c96dd13c05d5)

### Příklad výpočtů mezřádkového glue

V následujícím příkladu předpokládáme, že TeX/LaTeX používá tyto hodnoty parametrových příkazů:

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

Podíváme se na výpočet mezřádkového glue pro první dva řádky tohoto odstavce:

![OLV2glue-calcs-step0.png](/files/82cf69f44ca61472e69790441b7b9f2acabfe87c)

V dalším obrázku TeXový engine zpracoval první řádek odstavce a přesunul jej do svislého seznamu, který vytváří. Sleduje hloubku tohoto řádku (`d<sub>1</sub>`) která je `2.1528` (bodů):

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

Dále je TeX připraven přidat do vytvářeného seznamu druhý řádek: tento řádek má výšku (`h<sub>2</sub>`) která je `6.9444` (bodů) a mimochodem také hloubku, `d<sub>2</sub>` pro `0` (bodů):

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

V tomto okamžiku TeX potřebuje vypočítat množství prostoru (glue, `g<sub>1</sub>`) které se vloží mezi tyto dva řádky:

![OLV2glue-calcs-step3.png](/files/246f8db9d3ca01e3768e4db669c1fc9343d0fdbf)

Následující obrázek ukazuje výpočty glue pro tuto dvojici řádků:

![OLV2glue-calcs-stepA3.png](/files/656f7573430871424451f8411084d948fffbb5b3)

Poslední obrázek ukazuje oba řádky přesunuté na aktuální stránku s vypočteným množstvím mezřádkového glue vloženým mezi ně:

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

### Další parametr: \prevdepth

Jak bylo uvedeno výše, když TeX vytváří svislý stoh (seznam) boxů, ukládá hloubku posledního boxu přidaného do tohoto seznamu. Tato uložená hodnota hloubky je známá jako „předchozí hloubka“ a lze k ní přistupovat pomocí parametrového příkazu `\prevdepth`.

Ta `\prevdepth` příkaz lze použít ***pouze*** když je TeX ve svislém režimu; tj. mezi odstavci nebo uvnitř svislých boxů: `\vbox`, `\vtop` nebo `\vcenter` (pozn.: `\vcenter` boxy lze používat pouze v matematickém režimu).

`\prevdepth` poskytuje přístup pro čtení i zápis k hodnotě „předchozí hloubky“:

* pro přečtení aktuální hodnoty `\prevdepth` můžete napsat:

```latex
\the\prevdepth
```

* pro nastavení aktuální hodnoty `\prevdepth` na `nějakou hodnotu`, délku v bodech, mm atd., můžete napsat:

```latex
\setlength{\prevdepth}{nějakou hodnotu}
```

Pokud se pokusíte použít \verb`\prevdepth` v okolnostech, pro které nebyl určen, například uvnitř odstavce nebo uvnitř `\hbox` dostanete chybu

```latex
Nesprávný \prevdepth.
```

s doplňující informací, že jej lze použít pouze ve svislém režimu.

#### Zabraňování mezřádkovému glue: \prevdepth a \nointerlineskip

Jedno z použití `\prevdepth` je *zabránit* TeXu provádět výpočty základní linie používané k přidávání mezřádkového glue mezi položkami ve svislém seznamu, například řádky odstavce. Pomocí `\prevdepth` k vyjádření `hloubky předchozího řádku` můžeme výpočty glue (znázorněné výše) přeformulovat takto:

```latex
if(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (height of current line)

     if(Δ < \lineskiplimit)
       mezřádkové glue = \lineskip
     else
       mezřádkové glue = Δ
}
else
{
     Sestavte box bez přidání
     jakéhokoli mezřádkového glue
}
```

Interně TeXové enginy rozpoznávají takzvanou „sentinelovou“ hodnotu `\prevdepth` kterou lze použít k vypnutí výpočtu a přidávání mezřádkového glue. Tato sentinelová hodnota je `–1000pt`, což je vidět v prvním řádku výše uvedeného pseudokódu:

```latex
if(\prevdepth > –1000pt)
```

TeX nepřidá mezřádkové glue, pokud `\prevdepth` není větší než `–1000pt`— což poskytuje mechanismus používaný `\nointerlineskip` makrem k zabránění přidání glue základní linie mezi další dvojici boxů ve svislém seznamu.

`\nointerlineskip` má definici ekvivalentní:

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

Všimněte si, že `\nointerlineskip` poskytuje *jednorázové vypnutí* výpočtů mezřádkového glue, protože hodnota `\prevdepth` je průběžně aktualizována, jak jsou do aktuálního svislého seznamu přidávány nové boxy, jak ukazuje následující příklad:

```latex
\noindent Následující \verb|\hbox|y jsou zpracovávány, když je \TeX{} v takzvaném \textit{vnějším svislém režimu}. Po zpracování (sazbě) se tyto boxy připojí k aktuální stránce a skládají se svisle s vloženým mezřádkovým glue mezi nimi:

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

Nyní, bezprostředně po boxu \verb|\hbox{j}| nastavíme \verb|\prevdepth| na \texttt{-1000pt}, což zabrání vložení mezřádkového glue mezi boxy \verb|\hbox{j}| a \verb|\hbox{p}|:

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

Všimněte si, že mezřádkové glue \textit{je} vloženo mezi boxy \verb|\hbox{p}| a \verb|\hbox{g}|, protože hodnota \verb|\prevdepth| je aktualizována poté, co je \verb|\hbox{p}| zpracován a přidán do seznamu: hodnota \verb|\prevdepth| se stane hloubkou boxu \verb|\hbox{p}|. Když je \verb|\hbox{g}| přidán do svislého seznamu, hodnota \verb|\prevdepth| již není \texttt{-1000pt}; v důsledku toho lze nyní mezřádkové glue přidat.
```

&#x20;[Otevřete tento příklad v Overleafu](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)

Tento příklad vytvoří následující výstup:

![Příklad demonstrující TeXův parametr \prevdepth](/files/76dcb7be816d1bbf13896561fbafab7017625ed1)

#### Mezřádkové glue nulové velikosti: \offinterlineskip

Veškeré mezřádkové rozestupy lze odstranit pomocí makropříkazu `\nointerlineskip`, který má definici ekvivalentní:

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

Všimněte si, že `\maxdimen` je `16383.99998pt`, největší délka, kterou může TeX použít.

Následující obrázek ukazuje základní výpočty mezřádkového glue a různé hodnoty parametrů používané makrem `\nointerlineskip`:

![offinterlineskip](/files/360e45f8ebfcb69e8e6fdec96898b6874a0f1431)

Následující obrázek ukazuje úryvek pseudokódu, který vznikne dosazením `\nointerlineskip` hodnot makra do výpočtů glue. Ukazuje, jak `\nointerlineskip` makro funguje nastavením hodnot pro `\baselineskip` a `\lineskiplimit` tak, aby mezřádkové glue bylo vždy `\lineskip` glue o hodnotě `0 pt`.

![offinterlineskip](/files/ed75a70c06ea0716d4de5d0490009ade67235803)

#### \offinterlineskip a nenulové \lineskip

Ta `\nointerlineskip` makro nastaví `\lineskip` na nulu, ale jak ukazuje následující projekt Overleaf, můžete kombinovat `\nointerlineskip` s nenulovými hodnotami `\lineskip` abyste dosáhli efektů řádkování.

```latex
\documentclass{article}
\title{Demonstrování nenulového lineskip}
% Zvolte vhodně malou velikost stránky
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % Toto nastaví \lineskip na 0pt

\setlength{\lineskip}{5pt} % Chceme nenulové \lineskip

\input text.tex % Vygenerovaný soubor TeX, který definuje makra
% \mytextA a \mytextB, z nichž každé vysází odstavec

\mytextA % Vysázet odstavec

% Nyní změňte \lineskip na hodnotu pružného glue a vysázejte
% další odstavec

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

\mytextA

\end{document}
```

&#x20;Otevřete tento příklad jako projekt LaTeXu na Overleafu

Tento příklad generuje následující výstup:

![Demonstrování makra \offinterlineskip v LaTeXu](/files/0aaca86a3739165915c7e874b52bd1af99cb1c1a)

Účinky použití `\offinterlineskip` a `\lineskip` (a dalších příkazů pro rozestupy) můžete lokalizovat uzavřením do skupiny:

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...váš odstavec nebo odstavce zde

\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/cs/formatovani/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.
