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

# Afsnitsformatering

## Introduktion

Denne artikel udforsker to metoder til at ændre forskellige aspekter af afsnitsafstand:

* den bedste praksis og anbefalede metode er at bruge LaTeX-pakker såsom [`setspace`](https://ctan.org/pkg/setspace) og [`parskip`](https://ctan.org/pkg/parskip) som giver indstillinger og kommandoer på brugerniveau til at ændre afstanden i dine LaTeX-dokumenter;
* brug af lavniveau TeX/LaTeX *parameterkommandoer* til at ændre afsnitsafstanden. Direkte brug af parameterkommandoer kan omgå kontroller eller begrænsninger, som er indbygget i omhyggeligt udformede LaTeX-pakker, og kan dermed føre til uventede konsekvenser/bivirkninger andre steder i dit LaTeX-dokument, så brug dem med omtanke...

### Spring til relevante afsnit

Læsere, der søger hurtige løsninger:

* gå til afsnittet [*Brug af LaTeX-pakker: setspace og parskip*](#using-latex-packages-setspace-and-parskip)

Læsere, der er interesseret i lavniveau-kommandoer:

* gå til afsnittene [*TeX/LaTeX-parameterkommandoer*](#using-texlatex-parameter-commands) og [*Grundlæggende: parameterkommandoer og eksempler*](#the-fundamentals-parameter-commands-and-examples)

Læsere, der er interesseret i de finere detaljer om beregning af linjeafstand og afsnitsstruktur:

* gå til afsnittet [*Afsnitsstruktur og beregning af linjeafstand*](#paragraph-structure-and-line-space-calculations)

## Brug af LaTeX-pakker: setspace og parskip

* [parskip-pakken](#the-parskip-package)
* [setspace-pakken](#the-setspace-package)

### parskip-pakken

Den [`parskip` pakken](https://ctan.org/pkg/parskip?lang=en) hjælper dig sikkert med at ændre den afstand, der indsættes mellem afsnit i dit dokument. Den er designet til at sikre, at dokumentstrukturer som indholdsfortegnelser, listeomgivelser og displayoverskrifter ikke påvirkes negativt af en ikke-nul værdi af [`\parskip` kommando](#parskip-tex-primitive), som bruges til at angive den mængde afstand, TeX/LaTeX indsætter mellem afsnit.

Den `parskip` pakken tilbyder ikke nogen kommandoer på brugerniveau; i stedet bruger den pakkeindstillinger til at konfigurere sine handlinger.  [`parskip` dokumentationen](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) er kort, kun tre sider, men her er et kort resumé af pakkeindstillingerne:

* **`skip`**: angiv `\parskip`, den lodrette afstand mellem afsnit;
* **`tocskip`**: angiv en ikke-nul `\parskip` værdi til brug i `\tableofcontents` og lignende lister;
* **`indent`**: angiv værdien af `\parindent`, afsnitsindrykningen;
* **`parfill`**: justerer værdien af `\parfillskip`, limen, der tilføjes i slutningen af den sidste linje i et afsnit.

Som standard sætter `parskip` pakken `\parindent` til `0pt` og angiver en ikke-nul `\parskip` værdi på `.5[\baselineskip](#baselineskip-tex-primitive) plus 2pt`.

#### Eksempler på parskip-pakken

De følgende eksempler demonstrerer nogle anvendelser af `parskip` pakken. Vælg linkene “Open in Overleaf” for at åbne og kompilere eksemplerne med Overleaf.

**Minimalt eksempel med parskip-pakken**

Det følgende minimale eksempel indlæser `parskip` pakken og sætter to afsnit, der er oprettet med [`blindtext` pakken](https://ctan.org/pkg/blindtext?lang=en). Eksemplet sætter også standardværdierne for `\baselineskip`, `\parskip` og `\parindent`. Mængden af afstand mellem de to afsnit bestemmes af værdien af `\parskip`:

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Indlæs blindtext-pakken til dummytekst
\usepackage{blindtext}
% Indlæs parskip-pakken uden indstillinger
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % Brug \par til at tvinge et nyt afsnit
\blindtext[1]

Værdien af \verb|\parindent| er \texttt{\the\parindent}. Her er de øvrige værdier:

\begin{itemize}
\item Værdien af \verb|\baselineskip| er \texttt{\the\baselineskip}
\item Værdien af \verb|\parskip| er \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på brug af LaTeX-pakken parskip](/files/e5ed65e6e4014d1c233d6ab26a20aaa363804437)

Bemærk, at `\parskip` lim typisk indeholder en strækbar [limkomponent](#a-few-notes-on-glue) fordi det hjælper LaTeX med at få indholdet til at passe på siden og skabe de bedste (optimale) sideskift.

**Brug af parskip-pakkens indstillinger**

Det følgende eksempel indlæser og konfigurerer `parskip` pakken ved hjælp af `skip` og `indent` indstillingerne. Det sætter også to afsnit via [`blindtext` pakken](https://ctan.org/pkg/blindtext?lang=en)og sætter værdierne for `\baselineskip`, `\parskip` og `\parindent`.

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Indlæs blindtext-pakken til dummytekst
\usepackage{blindtext}
% Indlæs parskip-pakken med indstillingerne skip og indent
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % Brug \par til at tvinge et nyt afsnit
\blindtext[1]

Værdien af \verb|\parindent| blev sat via indstillingen \texttt{indent}, så den er nu \texttt{\the\parindent}. De øvrige værdier er:

\begin{itemize}
\item \verb|\baselineskip| er \texttt{\the\baselineskip}
\item \verb|\parskip| blev sat via indstillingen \texttt{skip}, så dens værdi er \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Et andet eksempel på brug af LaTeX-pakken parskip](/files/657295b3fc5422745f98f6be70905e02f67b7cd2)

### setspace-pakken

Den [`setspace` pakken](https://ctan.org/pkg/setspace?lang=en) giver kommandoer og omgivelser til at ændre afstanden mellem linjerne i dit dokuments tekst. Her er et kort resumé af de vigtigste kommandoer og omgivelser, som leveres af `setspace`:

* kommandoerne **`\singlespacing`**, **`\onehalfspacing`** og **`\doublespacing`** kan bruges i dokumentets præambel eller i dokumentets brødtekst til at ændre afstanden i dele af eller hele dokumentet;
* det **`\setstretch{*baselinestretch amount*}`** kommandoen angiver en brugerdefineret afstand (via ændringer i [`\baselinestretch`](#demonstrating-baselinestretch))—den kan også bruges i dokumentets præambel;
* omgivelserne **`singlespace`**, **`singlespace*`** **`onehalfspace`** og **`doublespace`** gør det muligt at ændre linjeafstanden for udvalgte dele af dokumentets tekst;
* det **`\SetSinglespace{*value*}`** kommandoen bruger `*value*` til at justere enkeltlinjeafstanden, så den passer til linjeafstanden for tekst sat med skrifttyper, hvis tegnformer (“glypher”) er relativt små eller store for den givne punktstørrelse. Se afsnittet [*Korte noter om skrifttyper og punktstørrelse*](#brief-notes-on-fonts-and-point-size) for en illustration, der viser variationen i glyphstørrelse for en given punktstørrelse;
* det **`linjeafstanden`** omgivelserne giver brugerdefineret afstand og kræver ét argument: den, der skal bruges; for eksempel: [`\baselinestretch` værdi](#demonstrating-baselinestretch) at bruge; for eksempel:

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

#### Eksempler på setspace-pakken

De følgende eksempler demonstrerer nogle anvendelser af `setspace` pakken: klik på linkene “Open in Overleaf” for at åbne og kompilere eksemplerne med Overleaf.

**Brug af \doublespacing i dokumentets præambel**

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Indlæs blindtext-pakken til dummytekst
\usepackage{blindtext}
% Indlæs setspace-pakken
\usepackage{setspace}
% Brug af \doublespacing i præamblen
% ændrer teksten til dobbelt linjeafstand
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[Åbn dette `setspace` eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på setspace \doublespacing-kommandoen](/files/d540bb1fe56daf9ab70c081b42a19f4ad64c4b54)

**Brug af spacing-omgivelserne**

Fordi den følgende kode sætter 3 sider, er det at foretrække at se outputtet i Overleaf ved at vælge linket “Open in Overleaf” nedenfor.

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Indlæs blindtext-pakken til dummytekst
\usepackage{blindtext}
% Indlæs setspace-pakken
\usepackage{setspace}
% Brug af \doublespacing i præamblen
% ændrer teksten til dobbelt linjeafstand
\doublespacing
\begin{document}
\blindtext[1]

Anvend nu en større (brugerdefineret) afstand ved at bruge en \verb|\baselinestretch|-værdi på 3:

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

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
Vend nu tilbage til \verb|\singlespacing|\singlespacing\blindtext[1]
\end{document}
```

&#x20;[Åbn dette `setspace` eksempel i 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)

**Brug af singlespace\*-omgivelserne**

Som bemærket i artiklen [*Kort note om linjeafstand*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/), `setspace` pakken har stjernede (`singlespace*`) og ikke-stjernede versioner af `singlespace` omgivelserne. Kommentarer i `setspace` pakkekoden bemærker, at `singlespace*` omgivelserne er designet til at “... give forbedret lodret afstand omkring itemize- og quote-omgivelserne”.

Det følgende eksempel bruger punktlister inde i to `minipage` -omgivelser, placeret side om side, for at demonstrere den forskellige afstand, som skabes af `singlespace` og `singlespace*` omgivelserne.

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
Her er en punktliste\par (\texttt{singlespace}-omgivelse).
\begin{itemize}
\item En
\item To
\item Tre
\end{itemize}
\end{singlespace}%
Listen er slut.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
Her er en punktliste\par (\texttt{singlespace*}-omgivelse).
\begin{itemize}
\item En
\item To
\item Tre
\end{itemize}
\end{singlespace*}
Listen er slut.
\end{minipage}
```

&#x20;[Åbn dette `setspace` eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på LaTeX singlespace\*-omgivelsen](/files/b695687ed5a02947eb2c3e22349e44e72c9c198d)

**Brug af \setstretch-kommandoen**

`\setstretch{*value*}` sætter værdien af `\baselinestretch` til *værdi* og udløser en *øjeblikkelig* ændring i `\baselineslip` forårsaget af `\baselinestretch`. Det følgende eksempel bruger `\setstretch{1.618}`—den mærkelige værdi 1.618 er [forklaret senere i artiklen](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% Den mærkelige værdi 1.618 forklares senere i artiklen.
\setstretch{1.618}
Vi skriver \verb|\setstretch{1.618}| for at få en øjeblikkelig ændring i linjeafstanden. Hvis vi skrev \verb|\renewcommand{\baselinestretch}{1.618}| ville linjeafstanden ikke blive ændret, før en kommando til skift af skrifttype, såsom \verb|\selectfont|, bliver brugt.

\blindtext[1]
```

&#x20;[Åbn dette `setspace` eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på \setstretch-kommandoen](/files/e7b032163e0f931ce6800042c3a817798c613411)

**Brug af \SetSinglespace-kommandoen**

Det følgende projekt kompileres via LuaLaTeX og bruger `fontspec` pakken til at få adgang til TeX Gyre Pagella-skrifttyperne. Det sammenligner to afsnit tekst sat i TeX Gyre Pagella: det første afsnit bruger standard enkeltlinjeafstand, og det andet har en større enkeltlinjeafstand som følge af anvendelsen af `\SetSinglespace{1.1}`. Nogle foretrækker måske det andet, lidt “åbnede” afsnit, fordi de finder, at det forbedrer læsekomforten, men det er naturligvis et spørgsmål om personlig præference.

```latex
\section*{Computer Modern standard enkelt linjeafstand}
Noget almindelig tekst. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
\section*{TeX Gyre Pagella standard linjeafstand}
Her er noget almindelig tekst. \blindtext[1]
\section*{TeX Gyre Pagella justeret enkelt linjeafstand}
Bemærk: vi skal skrive \verb|\singlespacing| efter at have skrevet
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
Her er noget almindelig tekst. \blindtext[1]
\end{singlespace*}
```

&#x20;[Åbn dette `setspace` eksempel i 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)

Dette eksempel giver følgende output:

![Demonstration af LaTeX-kommandoen \SetSinglespace](/files/5d1a39ff09cd6902fe40e69b56bd6f095a3c86dd)

I næste afsnit gennemgår vi kommandoerne `\baselinestretch` og `\linespread`.

#### Forståelse af \baselinestretch og \linespread

En del af LaTeX’s design til håndtering af linjeafstand og skriftændringer (skriftstørrelse, skrifttypefamilie, skriftkodning osv.) gør brug af to kommandoer, du måske vil støde på:

* **`\baselinestretch`**: denne kommando gemmer en skaleringsfaktor, der bruges til at multiplicere (skalere) den aktuelle værdi af [`\baselineskip`](#baselineskip-tex-primitive). Denne skalering anvendes typisk *næste gang* en skrifttypevalgs-kommando bruges—såsom `\selectfont`. For at ændre værdien, der gemmes af `\baselinestretch` bør du skrive `\renewcommand{\baselinestretch}{*scale*}`
  * **Bemærk**: Hvis du skriver `\renewcommand{\baselinestretch}{*scale*}` i dokumentets brødtekst, vil den nye værdi af `\baselinestretch` [ikke træde i kraft med det samme](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): den nye `*scale*` faktor gemmes til senere brug. For straks at bruge/anvende den nye`*scale*` værdi, skriv `\selectfont` som demonstreret i [kodeudsnittet nedenfor](#demonstrating-baselinestretch).
* **`\linespread{*scale*}`**: kan bruges til at ændre [`\baselineskip`](#baselineskip-tex-primitive) uden at påvirke den aktuelle skriftstørrelse. Denne kommando sætter `\baselinestretch` til `*scale*` som efterfølgende ændrer `\baselineskip` til `*scale* × [\baselineskip](#baselineskip-tex-primitive)`. Men denne skalering sker heller ikke med det samme, medmindre `\linespread` kommandoen bruges i dokumentets præambel. Hvis `\linespread` bruges i dokumentets brødtekst, træder den i kraft efter at den næste kommando til skriftstørrelse/valg er brugt.

På baggrund af ovenstående kan enten:

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

kunne bruges til at ændre linjeafstanden, og begge vil virke på tværs af ændringer i skriftstørrelsen, som demonstreret i eksemplet nedenfor. Så hvilken bør du bruge? Se [denne korte diskussion på tex.stackexchange](https://tex.stackexchange.com/a/241121).

**Demonstration af \linespread**

Det følgende eksempel bruger `\linespread{2.5}` i dokumentets præambel, hvilket ændrer linjeafstanden uden at kræve yderligere skrifttypevalgs-kommandoer:

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Indlæs blindtext-pakken til dummytekst
\usepackage{blindtext}
% Brug af \linespread i præamblen ændrer
% linjeafstanden uden at kræve yderligere
% skrifttypevalgs-kommandoer, såsom \selectfont
\linespread{2.5}
\begin{document}
\blindtext[1] % Linjerne påvirkes af \linespread{2.5}
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Brug af linespread-kommandoen](/files/5cd6257f0cf268bf375747b326ea75312a947f73)

Brug af `\linespread{2.5}` i dokumentets brødtekst (efter `\begin{document}`) *ville* kræve skrifttypevalgs-kommandoer for at udløse ændringen i linjeafstanden. Åbn følgende kode på Overleaf og sammenlign outputtet med det forrige eksempel:

```latex
Fordi den følgende \verb|\linespread|-kommando bruges i dokumentets brødtekst, er der brug for en skrifttypevalgs-kommando for at ændre linjeafstanden. Fjern kommentartegnet foran \verb|\selectfont| for at se forskellen:

\linespread{2.5}%\selectfont

% Uden \selectfont er de følgende afsnitslinjer
% upåvirkede påvirket af \linespread{2.5}:
\blindtext[1]
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![brug af LaTeX \linespread-kommandoen i dokumentet](/files/b030e241ab130ff978c56c610069cebe69dd2646)

**Demonstration af \baselinestretch**

Det følgende eksempel demonstrerer `\baselinestretch` og `\selectfont` for at vise de tilsvarende effekt(er) på [`\baselineskip`](#baselineskip-tex-primitive):

```latex
Standardværdien af \verb|\baselineskip|=\the\baselineskip. Opdater nu \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}. Men selv om vi har udført

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

\noindent det \textit{har ikke} (endnu) haft nogen effekt: den nye værdi af \verb|\baselinestretch| er gemt, men ikke anvendt. Vi kan udføre en \verb|\selectfont|-kommando for at få ændringen til at træde i kraft; men indtil videre er værdien af \verb|\baselineskip| stadig \the\baselineskip{} (uændret).

Hvis vi nu udfører \verb|\selectfont|, vil ændringen til \verb|\baselinestretch|, hvor den sættes til 2.5, nu træde i kraft---\selectfont selv om vi er midt i et afsnit. Nu er værdien af \verb|\baselineskip| \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\)).

Hvad sker der, hvis vi ændrer skriftstørrelsen til 14pt og \verb|\baselineskip| til 16pt ved hjælp af kommandoen \verb|\fontsize{14}{16}\selectfont|?

\fontsize{14}{16}\selectfont Nu er \verb|\baselineskip| \textit{ikke} 16pt, men \the\baselineskip{} fordi værdien af \verb|\baselinestretch| (2.5) er blevet bevaret og anvendt, hvilket giver \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\).

\section{\texttt{\bfseries\string\linespread}}
Kommandoen \verb|\linespread| kan bruges til at ændre \verb|\baselineskip| uden at ændre skriftstørrelsen.
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Demonstration af baselinestretch](/files/d4a6962005990e116d7951b707e51a19f5ac69e9)

#### Hvordan defineres og ændres “linjeafstand” i setspace-pakken?

Den *præcis* definition og *måling* af “linjeafstand” er åben for fortolkning, hvilket kan resultere i forskellige implementeringer i software-systemer/applikationer. Det er tydeligt, at `setspace` pakken må antage en arbejdsdefinition af linjeafstand, så den kan understøtte sats af “enkelt-” og “dobbeltlinjeafstand”-linjer eller enhver anden multipel af linjeafstand. Men hvilke variabler ændres af `setspace` for at frembringe linjer med forskellige mængder mellemrum imellem dem?

Heldigvis, [diskussioner på tex.stackexchange](https://tex.stackexchange.com/a/30106) og [kommentarer i pakkens kode](https://tex.stackexchange.com/a/632830) afklarer, hvordan `setspace` implementerer linjeafstanden: den sætter værdien af `\baselineskip` ved at bruge en multipel af skrifttypens punktstørrelse.

**Korte noter om skrifttyper og punktstørrelse**

At bruge skrifttyper i en bestemt punktstørrelse betyder at anvende en *skaleringsfaktor* på tegnformerne (glypherne) i de skrifttyper; når de først er skaleret i forhold til punktstørrelsen, er den synlige størrelse af tegnet en funktion af skrifttypens design (typeface). Punktstørrelse har ikke noget universelt, absolut forhold til den faktiske visningsstørrelse af tegnformer i skrifttyper.

Det følgende billede viser små bogstaver “abc” sat med 4 forskellige skrifttyper, alle *vist i samme punktstørrelse*. Bemærk, hvordan “størrelsen” af disse små bogstaver varierer i overensstemmelse med skrifttypens design (typeface), selv om de alle er sat i den *samme* punktstørrelse:

![Forskellige skrifttyper ved samme punktstørrelse](/files/50d0229e840107a1db2772a8391c6ce8a3195931)

#### Enkelt linjeafstand i setspace-pakken

Vi kan bruge [diskussioner på tex.stackexchange](https://tex.stackexchange.com/a/30106) som grundlag for nogle yderligere forklaringer.

Et grundlæggende dokument, der bruger `article` klassen har en standardtekstskriftstørrelse på 10pt med en `\baselineskip` på 12pt. Med indstillingen \[11pt] eller \[12pt] bruger article-klassen en større tekststørrelse og en tilsvarende større værdi for `\baselineskip` som vist i følgende tabel:

| indstilling        | skriftstørrelse             | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| ------------------ | --------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (standard) | 10pt                        | 12pt                       | 1.2                                                              |
| \[11pt]            | 10.95pt$${}^{\textbf{\*}}$$ | 13.6pt                     | 1.24                                                             |
| \[12pt]            | 12pt                        | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$Årsagen til den afvigende værdi af `10.95pt`, og ikke præcis `11pt`, forklares fint i dette [reddit-indlæg](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

Som vist i tabellen er forholdet, for hver kombination af tekstpunktstørrelse og den tilsvarende standardværdi (dvs. enkeltlinjeafstand) af `\baselineskip`,

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

nær 1.2. Denne forholdsværdi angiver enkeltlinjeafstand og udgør grundlaget for beregninger af linjeafstand, som bruges af `setspace` pakken.

**Forståelse og beregning af værdier for \baselinestretch**

For at opnå en bestemt multipel af linjeafstand såsom 1,5, 2, 3 osv., `\baselinestretch` kommandoen skal tilsyneladende sættes til [“mærkelige” værdier](https://tex.stackexchange.com/a/30106); for eksempel ved [ved at bruge `\linespread` kommando](https://texblog.org/2011/09/30/quick-note-on-line-spacing/). I dette afsnit ser vi nærmere på `\baselinestretch` for at se, hvordan disse “mærkelige” værdier opstår.

Lad os vælge et dokument med standardskrifttypestørrelse på $$f$$ og standard `\baselineskip` af $$\text{dbls}\_1$$, hvor underindekset $${}\_1$$ indikerer standard `\baselineskip` værdi for enkeltlinjeafstand ved skrifttypestørrelse $$f$$.

Vi vil ***definere*** enkeltlinjeafstand som følgende forhold, som vi vil omtale som $$\alpha\_f$$:

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

For en given skrifttypestørrelse $$f$$, lad os også *definere* de følgende linjeafstandsværdier:

* en 1,5-gang af linjeafstanden er *defineret* som

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

* en 2,0-gang af linjeafstanden er *defineret* som

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

* en multipel, $$m$$, af linjeafstanden er *defineret* som

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

Ved at bruge vores enkeltlinjeafstand, defineret ved forholdet $$\alpha\_f$$, kan vi skrive følgende “pseudokode” for at udregne en `\baselinestretch` værdi svarende til enhver multipel af linjeafstand $$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\*}$$

Lad os bruge `11pt` tekst (faktisk `10.95pt`) og standard `\baselineskip` værdi på `13.6pt` til at beregne `\baselinestretch` for *dobbelt* linjeafstand:

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

Følgende kodefragment bruges i `setspace` pakken for at opnå `\doublespacing` når skrifttypestørrelsen er 11pt. Bemærk hvordan værdien af `1.618`, som beregnet ovenfor, gemmes i kommandoen `\baselinestretch`:

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

Ved at bruge en `article` dokumentklasse med 11pt-skrifttypevalget sammenligner det følgende eksempel `\doublespacing` med en `linjeafstanden` miljø, der bruger vores beregnede værdi af `1.618` for `\baselinestretch`. Ikke overraskende er `\baselineskip` værdierne er identiske (`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;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![demonstration af \baselinestretch](/files/991ef89cefe00d5637254d5bf8e7ece7e3afc940)

Tilsvarende beregninger af `\baselinestretch` værdier gælder for andre skrifttypestørrelser og kombinationer af linjeafstand, som anført i følgende tabeller:

![setspace-parametre](/files/7b7a7ecbc4b5a6ef04f11f429ac219cc93b060a3)

## Brug af TeX/LaTeX-parameterkommandoer

Følgende afsnit gennemgår en række kommandoer relateret til afsnitsafstand/-formatering: nogle af disse kommandoer er *indbygget i* TeX-typografimotorer, andre er TeX/LaTeX-makroer. Kommandoer indbygget i TeX-motorer er kendt som *primitive*, hvilket betyder, at de er *fundamentale* og *irreducible* fordi primitive, i modsætning til makroer, ikke er konstrueret af sekvenser af andre kommandoer.

Specifikt vil vi se på en række primitive *parameterkommandoer* understøttet af alle TeX-motorer, inklusive pdfTeX, XeTeX og LuaTeX. Parameterkommandoer, uanset om de er afsnitsrelaterede eller ej, bruges til at *hente den aktuelle værdi* af den tilsvarende parameter, eller *sætte den parameter til en ny værdi*. For eksempel bestemmer `\parskip` kommandoen, som er en primitiv, værdien af en parameter, der styrer mængden af mellemrum, der indsættes mellem to opsatte afsnit.

For at *hente* (her, at sætte i sats) den aktuelle værdi af `\parskip` ville du skrive:

```latex
\the\parskip
```

For at *sæt* den aktuelle værdi af `\parskip` til `1pt plus2pt` (en fleksibel glue) kunne du skrive noget i denne stil:

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

Vi gennemgår også nogle nyttige TeX/LaTeX *makroer*, kommandoer på højere niveau skrevet og konstrueret ved hjælp af en sekvens af konstituerende kommandoer.

### Kommandoer brugt til afsnitsafstand

Følgende kommandoer (primitive og makroer) kan bruges til at påvirke afsnitsafstand. Nogle gennemgås mere detaljeret og kan tilgås ved at følge linket fra kommandonavnet.

#### Primitive kommandoer

* [`**\parindent**`](#parindent-tex-primitive): mængden af indryk (mellemrum) tilføjet første linje i et afsnit.
* [`**\parskip**`](#parskip-tex-primitive): mængden af fleksibelt mellemrum (“glue”), der placeres mellem afsnit.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives): fleksibel afstand (glue) indsat til højre for hver linje i et afsnit.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives): fleksibel afstand (glue) indsat til venstre for hver linje i et afsnit.
* [`**\baselineskip**`](#baselineskip-tex-primitive): værdien af denne parameter tjener to formål:
  * den angiver den ønskede afstand mellem tekstens grundlinjer i et afsnit;
  * den bruges til at beregne den (variable) mængde mellemrum (glue), der tilføjes mellem linjer for at opnå den ønskede afstand mellem grundlinjer ([se senere i artiklen](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives): en parameter, hvis værdi definerer den minimale acceptable afstand mellem to tilstødende linjer i et afsnit.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives): mængden af mellemrum (glue), der indsættes mellem to linjer i et afsnit, hvis det beregnede `\baselineskip` glue ville medføre, at linjerne ligger for tæt på hinanden.
* `**\parfillskip**`: meget fleksibel glue tilføjet i slutningen af den sidste linje i et afsnit for at “fylde den” med mellemrum; for et visuelt eksempel henvises til illustration i afsnittet [*Visualisering af andre typer afsnitsglue*](#visualizing-other-types-of-paragraph-glue).

#### Makrokommandoer

Følgende TeX/LaTeX-makrokommandoer bruges ofte til at ændre afsnitsafstand:

* [`**\offinterlineskip**` og `**\nointerlineskip**`](#offinterlineskipandnointerlineskip): kommandoer, som kan bruges til at slå beregning og indsættelse af fra `\baselineskip` glue;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch): en kommando, der gemmer en numerisk faktor, som bruges til at beregne værdien af `\baselineskip` når en skrifttype vælges. Den har standardværdien 1;
* [`**\linespread**`](#demonstrating-linespread): denne kommando kan bruges til at ændre den aktuelle værdi af `\baselinestretch`.

### Fleksibel afstand (glue)

TeX-motorer opnår afstandseffekter, også inden i eller mellem afsnit, gennem brug af et fleksibelt mellemrum kaldet *glue* som kan strækkes eller komprimeres efter den nødvendige plads. Hvis du vil lære om TeX’s begreb glue, kan du finde flere detaljer i følgende Overleaf-artikler:

* [Undersøgelse af underfyldte eller overfyldte bokse og beregninger af badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [Hvordan TeX beregner glue-indstillinger i en \hbox](/latex/da/dybtgaende-artikler/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [Forstå advarsler om underfyldte og overfyldte bokse](/latex/da/vidensbase/138-understanding-underfull-and-overfull-box-warnings.md).

## Grundlæggende: parameterkommandoer og eksempler

I dette afsnit forklarer vi en række parameterkommandoer relateret til afsnit og giver eksempler på deres brug.

### \parindent (TeX-primitiv)

Denne parameterkommando angiver mængden af indryk (mellemrum), der tilføjes første linje i et afsnit. Den kan ændres ved at bruge LaTeX’s `\setlength` kommando; for eksempel for at indrykke afsnit med `15pt` sæt `\parindent` til `15pt` ved at skrive:

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

Bemærk, at:

* kan du ændre `\parindent` inden for en gruppe, så dens effekt er begrænset til afsnit i den gruppe;
* `\parindent` kan være negativ og give et “udrykning” i stedet for et indryk;
* som standard indrykker LaTeX ikke det første afsnit efter en sektionsoverskrift i et dokument (`\section{...}` osv.).

Følgende eksempel demonstrerer brugen af `\parindent`.

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Opret en kommando til at holde et afsnit tekst
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }Når \TeX{} sætter et afsnit i sats, behandler det hvert enkelt tegn som en 2D ``box'' med en bestemt bredde, højde og dybde.\par}
\begin{document}

% Sæt \parskip til at indsætte 10pt mellem afsnit
\setlength{\parskip}{10pt}

% Sæt værdien af \parindent til 0pt
\setlength{\parindent}{0pt}
\testpar

% Sæt værdien af \parindent til 10pt
\setlength{\parindent}{10pt}
\testpar

% Sæt \parindent i en gruppe
{\setlength{\parindent}{50pt}\testpar}

% Nu er \parindent igen 10pt
\testpar

% Ja, du kan have et negativt \parindent
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Brug af forskellige værdier for afsnitsindryk i LaTeX](/files/ceff1a207d90f02290c3a03ce72334dbd67ed66a)

### \parskip (TeX-primitiv)

Læsbarheden af tekst kan forbedres ved at adskille afsnit med en mængde mellemrum, som varierer efter et bestemt designæstetisk hensyn. TeX/LaTeX giver brugerne mulighed for at styre denne afstand mellem afsnit via `\parskip` parameterkommandoen.

* **Råd fra `parskip` pakken**: Pakken [parskip-pakken](https://ctan.org/pkg/parskip) råder til, at direkte ændring af `\parskip` kan “resultere i lodrette mellemrum på uventede steder” (i et LaTeX-dokument). `parskip` pakken forsøger at løse afstandsproblemer, der kan opstå som følge af ændringer i værdien af `\parskip`—for eksempel i indholdsfortegnelser og liste-miljøer. Se også [`parskip` pakken-afsnit i denne artikel](#the-parskip-package).

For manuelt at sætte den aktuelle værdi af `\parskip` brug LaTeX’s `\setlength` kommando; for eksempel kan du skrive følgende for at adskille afsnit med 3pt:

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

Følgende eksempel demonstrerer brugen af `\parskip`:

```latex
\documentclass{article}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Opret en kommando til at holde et afsnit tekst
\newcommand{\testpar}{\noindent Den aktuelle værdi af \texttt{\string\parskip} er \texttt{\the\parskip}. Når \TeX{} sætter et afsnit i sats, behandler det hvert enkelt tegn som en 2D~``box'' med en bestemt bredde, højde og dybde.\par}
\begin{document}
\testpar
% Sæt \parskip til 5pt
\setlength{\parskip}{5pt}\testpar
% Sæt parskip til 10pt
\setlength{\parskip}{10pt}\testpar
% Sæt \parskip til 25pt (men i en gruppe)
{\setlength{\parskip}{25pt}\testpar}
% Gruppen slutter, nu er \parskip igen 10pt
\testpar
% Ja, du kan have et negativt \parskip
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Demonstration af brugen af \parskip i LaTeX](/files/d423ad6f79e218f3101306e5157e3da13fbe6ce3)

#### Fleksibel \parskip

Traditionelt, `\parskip` er ikke en *fast* værdi, hvilket ville resultere i den samme mængde mellemrum mellem alle afsnit. I stedet `\parskip` defineres det normalt som et “fleksibelt mellemrum” (kaldet glue), som gør det muligt for TeX at strække eller komprimere afstanden mellem afsnit, så indholdet passer på siden og en “god” placering for et sideskift kan findes.

For at gøre `\parskip` det fleksibelt ville du skrive det i form af en glue-specifikation:

`\setlength{\parskip}{*fast mængde* **plus** *mængde at strække* **minus** *mængde at krympe*}`

hvor `**plus**` og `**minus**` er *nøgleord* brugt af TeX/LaTeX til at identificere *mængden at strække* eller *mængden at krympe* indeholdt i en glue-specifikation. Overleaf-artiklen [*Undersøgelse af underfyldte eller overfyldte bokse og beregninger af badness*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) indeholder en mere dybdegående diskussion af glue.

For eksempel, for at gøre det muligt for `\parskip` at variere mellem `3 + 1 = 4pt` og `3 — 1 = 2pt` kunne du skrive

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

### \leftskip og \rightskip (TeX-primitive)

TeX-motorer stiller to parameterkommandoer til rådighed, som tilføjer mellemrum (glue) til venstre og højre for hver linje i det opsatte afsnit. Som deres navne antyder:

* `\leftskip` indsætter mellemrum (glue) til venstre for hver linje i et afsnit;
* `\rightskip` indsætter mellemrum (glue) til højre venstre for hver linje i et afsnit.

Følgende eksempler bruger `\leftskip` og `\rightskip` til direkte at ændre afsnitsjustering; dog opnås ændringer i tekstjustering normalt bedst via egnede LaTeX-miljøer eller pakker—for eksempel se [Overleaf-artiklen om tekstjustering](/latex/da/formatering/06-text-alignment.md). Selvom vi demonstrerer opførslen af nogle lavniveau- (primitive) parameterkommandoer fra TeX-motorer, er det generelt tilrådeligt at bruge passende LaTeX-pakker, hvor det er muligt.

#### Gør \leftskip fast og \rightskip fleksibel

Følgende eksempel producerer to afsnit: det første bruger LaTeX’s standardværdier for `\leftskip` og `\rightskip` og det andet afsnit sættes i sats med følgende indstillinger:

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

Åbn følgende Overleaf-projekt for at se resultatet:

```latex
\documentclass{article}
\title{Andet eksempel med leftskip og rightskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Sæt værdien af nogle afsnitsrelaterede parametre
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som hver indeholder teksten til et afsnit.
% Sæt et afsnit i sats med standardværdier for \leftskip og \rightskip

\mytextB

% Sæt \leftskip og \rightskip til nye værdier
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% Sæt nu det samme afsnit i sats igen
\mytextB

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Indstilling af \leftskip-glue i LaTeX](/files/cc593caf9453100ac5342c2defdf3199222a5188)

Følgende grafik er en annoteret version af det andet afsnit, der frembringes af eksemplet ovenfor. Den er designet til at fremhæve og vise mængden af `\leftskip` og `\rightskip` glue indsat i afsnitslinjerne, sammen med `\parindent` mellemrummet for den første linje:

![Indstilling af \leftskip-glue i LaTeX](/files/e74da26c88a0a73468ab01c1bbebf724156c0053)

Bemærk, at `\leftskip` glue har en fast størrelse (10pt), men `\rightskip` glue er blevet strakt for at give den mængde mellemrum, der kræves for at fylde højre side af hver linje ud. Denne “fleksibilitet” skyldes specifikationen af `\rightskip` som indeholder `plus 1 fill`—hvilket giver en “uendeligt strækbar” form for glue.

#### Gør \rightskip fast og \leftskip fleksibel

Følgende eksempel producerer to afsnit: det første bruger LaTeX’s standardværdier for `\leftskip` og `\rightskip` og det andet afsnit sættes i sats med følgende indstillinger:

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

Åbn følgende Overleaf-projekt for at se resultatet:

```latex
\documentclass{article}
\title{eksempler på leftskip og rightskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Sæt værdien af nogle afsnitsrelaterede parametre
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som hver indeholder teksten til et afsnit.
% Sæt et afsnit i sats med standardværdier for \leftskip og \rightskip

\mytextB

% Sæt \leftskip og \rightskip til nye værdier
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% Sæt nu det samme afsnit i sats igen
\mytextB

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Indstilling af \rightskip-glue i LaTeX](/files/0514471ca828a096b905dc76d3ab00313cfdb1ca)

Følgende grafik er en annoteret version af det andet afsnit, der frembringes af eksemplet ovenfor. Den er designet til at fremhæve og vise mængden af `\leftskip` og `\rightskip` glue indsat i afsnitslinjerne, sammen med `\parindent` mellemrummet for den første linje:

![Indstilling af \rightskip-glue i LaTeX](/files/d0a4bd13d3459c6ab078185e81119c71b4e5305d)

Bemærk, at `\rightskip` glue har en fast størrelse (10pt), men `\leftskip` glue er blevet strakt for at give den mængde mellemrum, der kræves for at fylde venstre side af hver linje ud. Denne “fleksibilitet” skyldes specifikationen af `\leftskip` som indeholder `plus 1 fill`—hvilket giver en “uendeligt strækbar” form for glue.

#### Indstilling af \leftskip og \rightskip til fleksible værdier

Følgende eksempel producerer to afsnit: det første bruger LaTeX’s standardværdier for `\leftskip` og `\rightskip` og det andet bruger følgende fleksible glue-indstillinger:

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

Disse indstillinger medfører, at afsnitslinjerne bliver centreret:

```latex
\documentclass{article}
\title{eksempler på leftskip og rightskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% Sæt værdien af nogle afsnitsrelaterede parametre
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som definerer tekst til to afsnit
% Sæt et afsnit i sats med standardværdier for \leftskip og \rightskip

\mytextB

% Sæt \leftskip og \rightskip til "ekstremt fleksible" glue-indstillinger
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% Sæt nu det samme afsnit i sats igen
\mytextB

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Eksempel, der viser \leftskip og \rightskip](/files/6fdae3e4e6798eb8e5e314cc48104360e9055a08)

Følgende grafik er en annoteret version af det andet afsnit, der frembringes af eksemplet ovenfor. Den er designet til at fremhæve og vise mængden af `\leftskip` og `\rightskip` glue indsat i afsnitslinjerne, sammen med `\parindent` mellemrummet for den første linje:

![Eksempel, der viser \leftskip og \rightskip](/files/fd2a11878d8ff91924eb9aad5272fad2a41d142a)

Bemærk, at begge `\leftskip` og `\rightskip` er angivet som `0pt plus 1fill` hvilket gør dem lige “uendeligt fleksible”; derfor strækkes de med samme mængde, hvilket resulterer i, at de opsatte linjer bliver centrerede.

#### Indstilling af \leftskip og \rightskip i en gruppe

Følgende eksempel viser, hvordan man laver midlertidige ændringer af `\leftskip` og `\rightskip` ved at omslutte dem i en gruppe. I vores eksempel oprettes gruppen af `\begingroup`... `\endgroup`, som vist i følgende kodefragment:

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

Det første afsnit sættes i sats med “ekstremt fleksibel” glue til `\leftskip` og `\rightskip`:

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

men det andet afsnit bruger LaTeX’s standardværdier:

```latex
\documentclass{article}
\title{Endnu et eksempel med leftskip og rightskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Sæt værdien af nogle afsnitsrelaterede parametre
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som definerer tekst til to afsnit
% Her ændrer vi \leftskip og \rightskip til "ekstremt fleksible" glue-indstillinger
% inden for en gruppe oprettet af \begingroup ... \endgroup

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

% Sæt nu det samme afsnit i sats igen, efter at gruppen er lukket
% hvilket får \leftskip og \rightskip til at vende tilbage til deres tidligere værdier

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Brug af \leftskip og \rightskip i en gruppe](/files/8055245f17c696245506a54257775ca71a1c1319)

**Bemærk**: Indstillingerne for (virkningerne af) `\leftskip` og `\rightskip` er begrænset til afsnittet inden for gruppen oprettet af `\begingroup`... `\endgroup`. Efter at gruppen er lukket, sættes det næste afsnit i sats med LaTeX’s standardværdier for `\leftskip` og `\rightskip`.

### \baselineskip (TeX-primitiv)

Det er almindelig satspraksis, at tekstlinjer inden for afsnit bør have ens afstand, undtagen hvor visse linjer indeholder store elementer, såsom matematik eller et billede, som gør det umuligt at bevare konstant linjeafstand for sådanne linjer.

TeX/LaTeX stiller kommandoer og mekanismer til rådighed, som giver brugerne en vis kontrol over linjeafstanden. En sådan kommando er `\baselineskip` som henter eller sætter værdien af en parameter, der bestemmer den foretrukne linjeafstand (afstand mellem grundlinjer) i et opsat afsnit.

For at sætte den aktuelle værdi af `\baselineskip` i sats kan du skrive

```latex
\the\baselineskip
```

For at sætte `\baselineskip` til en eller anden `værdi` (en LaTeX-længde såsom `pt`) kan du skrive

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

For eksempel, for at sætte `\baselineskip` til `12pt` i sats kan du skrive

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

Vi kan demonstrere rollen for `\baselineskip` ved at bruge følgende (typiske) afsnit:

![Et eksempel på et LaTeX-afsnit](/files/88784d21ad643984a4d258f1fb763ee952de18a5)

og tilføjelse af annoteringer, som viser afstanden fra grundlinje til grundlinje, styret af `\baselineskip`:

![Et eksempel på et LaTeX-afsnit med annoteringer, der viser grundlinjeafstande](/files/697f3a1c4122bb90bd078363ffcec90dc69f32bb)

Diagrammet viser også den interlinje-“glue”: en beregnet mængde mellemrum, der tilføjes mellem linjer — det vil vi se nærmere på senere i artiklen.

#### \baselineskip og andre parametre

`\baselineskip` er en af fire kernparametre, som styrer mængden af mellemrum, der indsættes mellem linjerne i et afsnit; de øvrige er:

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

Senere i artiklen vil vi undersøge [*hvordan disse fire parametre bruges*](#paragraph-structure-and-line-space-calculations) til at beregne interline-glue-værdier.

#### \baselineskip-eksempel (fast mellemrum)

Følgende eksempel åbnes i Overleaf for at oprette et projekt, der indeholder en fil kaldet `text.tex` som definerer kommandoerne `\mytextA` og `\mytextB`—begge kommandoer sætter et afsnit. For nemheds skyld bruger Overleaf-projektet en lille sidestørrelse, fordi det hjælper med at forberede grafik og billeder til denne hjælpeside.

```latex
\documentclass{article}
\title{Demonstration af baselineskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Sæt værdien af nogle afsnitsrelaterede parametre (dem vil vi gennemgå)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Sæt værdien af \baselineskip---ændr værdien for at se effekten
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som hver især sætter et afsnit

% Først sættes to afsnit med standardværdien af \baselineskip
\mytextA\mytextB

% Skift nu \baselineskip til en større værdi og sæt
% endnu et afsnit
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Undersøgelse af baselineskip i TeX eller LaTeX](/files/85872a18df119b3c85ccc46a3c44ae6b1c0ef277)

Afsnittet på side 2 har linjer med stor afstand, fordi `\baselineskip` blev sat til 24pt.

#### \baselineskip-eksempel (fleksibelt mellemrum)

Følgende eksempel angiver en `\baselineskip` værdi, som har en ekstremt fleksibel (såkaldt “uendelig”) strækningskomponent:

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

På grund af denne fleksibilitet kan det hvide mellemrum mellem afsnitslinjer strækkes med den mængde, der er nødvendig for at udfylde siden. En sådan fleksibilitet ville resultere i, at afsnit havde meget forskellige mængder mellemrum mellem deres tekstlinjer, hvilket måske ikke ville være æstetisk tiltalende eller let at læse.

```latex
\documentclass{article}
\usepackage{blindtext}
\title{Demonstration af fleksibel \texttt{\string\baselineskip}}
\author{Overleaf}
\date{januar 2022}

\begin{document}

\maketitle
Vi giver \verb|\baselineskip| en meget fleksibel “stræk”-komponent ved at tildele værdien \texttt{12pt plus1fil}: \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Introduktion}
Tilføj et afsnit, som nu vil strække sig for at udfylde siden. \blindtext

\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Demonstration af baselineskip-glue med uendelig fleksibilitet](/files/d50cc8d9b3bdb25645a7f06b3fcf8d3e410acc69)

**Nogle noter om glue**

Nogle af de følgende noter er taget fra Overleaf-artiklen [om undersøgelse af underfulde eller overfulde bokse og beregninger af badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), gengivet her for nemheds skyld.

Det hvide mellemrum, som TeX indsætter mellem linjerne i et afsnit, `\baselineskip`, er en form for fleksibelt mellemrum kaldet *glue*. En glue-værdi kan angives med tre komponenter:

* et *fast* mængde;
* en mængde det kan *strække*;
* en mængde det kan *krympe*,

Derfor kan en `\baselineskip` værdi angives sådan her:

`\baselineskip`=*fast mængde* **plus** *mængden at strække* **minus** *mængden at krympe*

hvor

* **plus** og **minus** er nøgleord, som TeX-motorer forstår;
* *fast mængde* omtales som den *normale komponent* af glue’en (også kaldet den *naturlige bredde* af glue’en);
* *mængden at strække* omtales som den *strækningskomponent* af glue’en;
* *mængden at krympe* omtales som den *krympningskomponent* af glue’en.

Den *fast mængde* er påkrævet for alle glue-værdier, men *mængden at strække* og *mængden at krympe* er begge valgfrie—hvis en eller begge mangler, sættes de til værdien 0.

Normalt `\baselineskip` angives glue med en *fast mængde* kun, er stræk- og krympkomponenterne nul, ellers ville afsnitslinjer have uregelmæssig (variabel) linjeafstand, hvilket måske ikke ville være æstetisk tiltalende.

### \offinterlineskip og \nointerlineskip (makroer)

Disse makroer bruges ofte til at forhindre indsættelse af interline-glue mellem linjerne i et afsnit. Læsere, der er interesserede i flere detaljer, kan springe frem til de relevante afsnitssektioner, som forklarer, hvordan disse makroer virker.

* **`\offinterlineskip`**: Se afsnitsdelen [*Interline-glue med nul størrelse: \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`**: Se afsnitsdelen [*Forhindring af interline-glue: \prevdepth og \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## Afsnitsstruktur og beregning af linjeafstand

Ved hjælp af LuaTeX’s muligheder er det muligt at [efterbehandle et sat afsnit](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) for at visualisere grænserne for de bestanddele tegn (glyphs), linjer og glues, som det er opbygget af. Vi starter med en kort række grafik for at hjælpe med at visualisere “bokse og glue”-modellen, som TeX-motorer bruger til at sætte tekst i et afsnit.

### Afsnitsstruktur

Når TeX sætter et afsnit, behandler det enkelte tegn som miniaturebokse, hver med sin egen bredde, højde og dybde, og disse tegn-boksbredder bruges til at beregne de optimale placeringer for linjeskift. Derudover konverteres mellemrumstegn i teksten, som bruges til at adskille enkelte ord, til en form for fleksibelt mellemrum (glue), som giver den afstand, der er nødvendig for at opnå hvert linjeskift.

Den følgende sekvens på 7 grafik viser kernkomponenterne i et sat afsnit: forskellige typer bokse og glue. Den første grafik viser et sat afsnit sammen med en annoteret version, som fremhæver forskellige elementer i afsnittet. Den annoterede version indeholder dog en masse information, så de efterfølgende grafik isolerer forskellige komponenter for (forhåbentlig) at gøre dem lettere at forstå.

![Paragraphanatomy1b.png](/files/1245363858e3cfc10cd11eaa6558c50f9b5d8477)

* Den næste grafik viser afsnitslinjer som grå bokse adskilt af glue, der er repræsenteret af vandrette grønne striber. Den glue beregnes for at sikre, at afstanden fra grundlinje til grundlinje er lig med (dvs. værdien af) `\baselineskip`:

![Paragraphanatomy2b.png](/files/002ad4f6acd43f7e9bbe3731836ef106104dcfc8)

* Det næste billede repræsenterer satte tegn som bokse: for at visualisere, hvordan TeX-motorer behandler tegn med henblik på at producere linjeskift:

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

* Det næste billede viser bokse i bokse: de større afsnitslinjer (bokse), som indeholder mindre bokse (enkelte tegn):

![Paragraphanatomy5.png](/files/9495061fca9604280d121b764127e2d7792051bf)

* Det næste billede viser mængden af mellemrum mellem ordene i hver linje: disse mellemrum mellem ord skabes ved at konvertere mellemrumstegn til fleksible glues, som strækkes eller krympes for at give den korrekte længde for hver tekstlinje. Bemærk nøje, at størrelsen af disse mellemrum varierer fra linje til linje:

![Paragraphanatomy4.png](/files/6eeffeee79227c44f1816b2c3ccee4f2c2a3fc0c)

* Det næste billede kombinerer tegnboksene og de tilsvarende glues (mellemrum), der placeres mellem de enkelte ord:

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

### Visualisering af andre typer afsnitsglue

Følgende afsnit blev også sat og behandlet ved hjælp af LuaTeX for at vise andre typer glue inden i og mellem et par afsnit. Bemærk, at `\rightskip` og `\leftskip` er begge sat til 0pt, så de ikke vises:

* **`\parskip`** glue (lyseblå), placeret mellem de to satte afsnit;
* enkelte ord adskilles af ***interword glue*** (gul), skabt ved at konvertere mellemrumstegn i input til variabelt stort hvidt mellemrum (glue) i det satte output. Glue, der opstår fra mellemrum mellem ord, strækkes eller krympes for at opnå visuelt tiltalende linjeskift;
* **`\baselineskip`** glue (lysegrøn), placeret mellem linjer—den nøjagtige mængde `\baselineskip` glue beregnes ved hjælp af den mekanisme, der gennemgås nedenfor;
* **`\lineskip`** glue (rød), der bruges i det andet afsnit—på grund af den lave boks, der er indeholdt i næstsidste linje;
* **`\parfillskip`** glue (mørkegrøn), placeret i slutningen af den sidste linje i hvert afsnit.

![](/files/5dea6adef15180805a9b0fabc9a856463e9c2e52)

### Håndtering af dybere (eller højere) linjer (bokse)

Som vist af grafik i [forrige afsnit](#paragraph-structure), er et sat afsnit en lodret stak af “bokse”, adskilt af noget hvidt mellemrum, som TeX kalder “glue”. Efterhånden som afsnittet behandles, og de enkelte linjer (bokse) stables, vokser den lodrette liste (stak) i en *nedadgående* retning, mod bunden af siden. Selvom TeX/LaTeX forsøger at sikre, at afsnitslinjer stables med grundlinjer adskilt af en konstant afstand på `\baselineskip`, er det ikke altid muligt at opnå det, fordi visse linjer kan have en større end sædvanlig højde eller dybde.

Højden og dybden af hver afsnitslinje bestemmes af den maksimale afstand, som linjens indhold rækker over eller under grundlinjen; derfor vil afsnit, der indeholder materiale med en relativt stor højde eller dybde, såsom inline-matematik eller grafik, sandsynligvis give enkelte linjer med tilsvarende store højder og/eller dybder. For sådanne linjer kan TeX/LaTeX være ude af stand til at stable dem, så deres grundlinjer er adskilt fra andre linjer med `\baselineskip` mængde. Det er tydeligt, at TeX/LaTeX har brug for en “fallback-mekanisme” til at håndtere sådanne linjer ved at *beregne* en passende mængde mellemrum, der skal indsættes mellem hvert par linjer, der påvirkes af store højder og/eller dybder.

#### \lineskip og \lineskiplimit (TeX-primitiver)

Denne fallback-mekanisme involverer parameterkommandoerne `\lineskip` og `\lineskiplimit` sammen med en tredje parameter kaldet `\prevdepth`. Læsere, der er interesserede i flere detaljer, kan springe frem til afsnitsdelen [*Hvordan mellemrummet (glue) mellem afsnitslinjer beregnes*](#how-the-space-glue-between-paragraph-lines-is-calculated).

Eksempelprojektet nedenfor sætter et enkelt afsnit, hvis sidste linje har en relativt stor dybde på grund af en forskudt tekstboks (`\hbox`). Afsnittet sættes ved hjælp af disse indstillinger:

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

Brug linket under den følgende kode til at åbne et Overleaf-projekt:

```latex
\documentclass{article}
% Brug en praktisk lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Sæt nogle vigtige parametre
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Inputfil, der definerer \testpar
\input testpar.tex
\title{Et eksempelafsnit for lineskip}
\begin{document}
\testpar % En makro oprettet i Overleaf-projektet
\end{document}
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel, der demonstrerer \lineskip-glue](/files/1aff80d1e5d6cb33a36dea09f348aad74459583a)

Følgende grafik bruger en annoteret version af afsnittet, der blev produceret af det forrige Overleaf-projekt. Her zoomer vi ind for at fokusere på den sidste afsnitslinje og angive brugen af `\lineskip` glue (vist i rødt) forårsaget af dybden af den forskudte tekstboks:

![Billede, der viser TeX \lineskip-glue](/files/701d9a1009b18e42ad11df38897b1096fc42d821)

Den sidste linje i afsnitsteksten har en større end sædvanlig dybde, hvilket forhindrer TeX i at opretholde den konstante afstand fra grundlinje til grundlinje, som er angivet ved værdien `\baselineskip` (12pt). Som angivet med pilene i højre side af grafikken forsøger TeX/LaTeX at sikre en fast afstand (12pt) mellem par af linjer—værdien af `\baselineskip`. Men for det sidste linjepar har TeX adskilt dem med en større afstand end 12pt og bruger værdien af `\lineskip` til interline-glue i stedet for en værdi beregnet ved hjælp af `\baselineskip`.

De følgende afsnit udforsker og forklarer detaljerne i TeX’s beregninger af interline-glue-værdier.

### Hvordan mellemrummet (glue) mellem afsnitslinjer beregnes

For nuværende formål vil vi *meget kort* nævne TeX’s sideopbygningsproces, om end på en stærkt forenklet måde! Når TeX er færdig med at sætte et afsnit, ved at fuldføre orddeling og bestemme linjeskift, kan man tænke på disse afsnitsdata som værende gemt i en midlertidig hukommelsesplacering. TeX skal derefter flytte disse afsnitsdata, linje for linje, til en ny hukommelsesplacering, som gemmer materiale, der er bestemt til den aktuelle udskriftsside.

Når TeX flytter afsnitsdataene linje for linje, bygger det i praksis en lodret stak af linjer (TeX-bokse), som vokser *nedadgående* mod bunden af siden. Når TeX flytter afsnitslinjer til den aktuelle side, forsøger det at sikre, at disse linjer vil have ens afstand, med konsistent lodret (grundlinje-til-grundlinje) afstand svarende til værdien `\baselineskip`. Når en ny linje overføres til den aktuelle side, registrerer TeX-motoren midlertidigt den pågældende linjes *dybde* fordi den skal bruges til at beregne mængden af interline-glue (hvidt mellemrum) mellem den linje og den linje, der placeres efter den.

#### Beregninger af glue-størrelser

Lad os begynde med at opsummere de interline-afstandsfunktioner, som TeX-motorer tilbyder:

* at holde en konstant afstand mellem grundlinjer, en afstand svarende til `\baselineskip`;
* at give afstand for eventuelle linjer med en relativt stor højde eller dybde;
* en mulighed for at slå indsættelse af interline-glue fra—enten automatisk eller under brugerens kontrol. For eksempel:
  * TeX-motorer deaktiverer automatisk indsættelsen af interline-glue efter en regel i vertikal tilstand;
  * makroerne `\offinterlineskip` og `\nointerlineskip` lader brugere midlertidigt slå indsættelsen af interline-glue fra—disse makroer har forskellige virkninger, som vi vil se nedenfor.

Beslutningen om, hvorvidt der skal tilføjes interline-glue, og i så fald hvor meget af hvilken type, foregår sådan her:

* Skal der tilføjes interline-glue? Det beslutter TeX ved at teste, om *dybden af den sidst tilføjede linje* til listen er mindre end den særlige værdi `–1000pt` (punkter). Bemærk, at `–1000pt` er en vilkårlig “sentinel”-værdi, som bruges internt af TeX-motorer.
  * **Bemærk**: Værdien af “dybden af den sidst tilføjede linje”, som TeX registrerer internt, er også kendt som “forrige dybde”. TeX-motorer tilbyder parameterkommandoen `\prevdepth`—som under visse omstændigheder kan bruges til at *hente* eller *sæt* værdien af “forrige dybde”. Makroen `\nointerlineskip` gør brug af `\prevdepth`.
* TeX tester, om `dybden af forrige linje er større end –1000pt`?
  * ***Ja, det er den*** (man skal tilføje glue):
    * beregn værdien Δ, hvor Δ = \baselineskip – (dybden af forrige linje) – (højden af næste linje)
    * sammenlign Δ med værdien af `\lineskiplimit`, en parameter, der bruges til at definere den mindste acceptable afstand mellem to linjer, målt som afstanden mellem den øverste linjes bund og den nederste linjes top.
    * Hvis Δ < `\lineskiplimit`:
      * er linjerne for tæt på hinanden, så indsæt den minimale acceptable afstand, som er `\lineskip`
    * Hvis Δ >= `\lineskiplimit`:
      * er linjerne ikke for tæt på hinanden, så brug Δ som mængden af glue, der skal indsættes
  * ***Nej, det er den ikke*** (tilsæt ikke glue):
    * Tilføj den næste linje (boks) uden at indsætte nogen glue

Følgende grafik opsummerer processen for interline-glue:

![Hvordan TeX bestemmer interline-glue-værdier](/files/ac75b7cd77ac09a9faa27bb7029222594bc00b54)

### Et eksempel på beregning af interline-glue

I det følgende eksempel antager vi, at TeX/LaTeX bruger følgende parameterværdier for kommandoer:

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

Vi ser på beregningen af interline-glue for de første to linjer i dette afsnit:

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

På det næste billede har TeX-motoren behandlet den første afsnitslinje og flyttet den til den lodrette liste, den er ved at opbygge. Den holder styr på den linjes dybde (`d<sub>1</sub>`) som er `2.1528` (punkter):

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

Dernæst er TeX klar til at tilføje en anden linje til den liste, den opbygger: den linje har en højde (`h<sub>2</sub>`) som er `6.9444` (punkter) og i øvrigt en dybde, `d<sub>2</sub>` af `0` (punkter):

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

På dette tidspunkt skal TeX beregne mængden af mellemrum (glue, `g<sub>1</sub>`) der skal indsættes mellem disse to linjer:

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

Følgende billede viser glue-beregningerne for dette linjepar:

![OLV2glue-calcs-stepA3.png](/files/6242c8672b56485d9b29aebed83bd6d909b4e822)

Det sidste billede viser de to linjer flyttet over på den aktuelle side med den beregnede mængde interline-glue placeret mellem dem:

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

### Endnu en parameter: \prevdepth

Som nævnt ovenfor gemmer TeX, når det opretter en lodret stak (liste) af bokse, dybden af den sidste boks, der blev tilføjet til den liste. Denne gemte dybdeværdi er kendt som “forrige dybde”, som kan tilgås via parameterkommandoen `\prevdepth`.

Den `\prevdepth` kommando kan bruges ***kun*** når TeX er i en vertikal tilstand; dvs. mellem afsnit eller inde i vertikale bokse: `\vbox`, `\vtop` eller `\vcenter` (bemærk: `\vcenter` bokse kan kun bruges i matematiktilstand).

`\prevdepth` giver læse- og skriveadgang til værdien af “forrige dybde”:

* for at læse den aktuelle værdi af `\prevdepth` kan du skrive:

```latex
\the\prevdepth
```

* for at sætte den aktuelle værdi af `\prevdepth` til `en eller anden værdi`, en længde i punkter, mm osv., kan du skrive:

```latex
\setlength{\prevdepth}{en eller anden værdi}
```

Hvis du forsøger at bruge \verb`\prevdepth` under omstændigheder, det ikke er designet til, såsom inde i et afsnit eller inde i en `\hbox` får du en fejl

```latex
Improper \prevdepth.
```

med yderligere information, der fortæller dig, at det kun kan bruges i vertikal tilstand.

#### Forhindring af interline-glue: \prevdepth og \nointerlineskip

En brug af `\prevdepth` er at *forhindre* TeX i at udføre de grundlinjeberegninger, der bruges til at tilføje interline-glue mellem elementer i en lodret liste, såsom linjerne i et afsnit. Ved at bruge `\prevdepth` til at repræsentere `dybde af forrige linje` kan vi omformulere glue-beregningerne (vist ovenfor) som følger:

```latex
if(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (højden af den aktuelle linje)

     if(Δ < \lineskiplimit)
       interline-glue = \lineskip
     else
       interline-glue = Δ
}
else
{
     Stak boksen uden at tilføje
     noget interline-glue
}
```

Internt genkender TeX-motorer en såkaldt “sentinel”-værdi på `\prevdepth` som kan bruges til at deaktivere beregning og tilføjelse af interline-glue. Denne sentinel-værdi er `–1000pt`, hvilket kan ses i den første linje af pseudokoden ovenfor:

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

TeX vil ikke tilføje interline-glue, medmindre `\prevdepth` er større end `–1000pt`— hvilket giver den mekanisme, der bruges af `\nointerlineskip` makroen til at forhindre, at baselignede glue tilføjes mellem det næste par bokse i en lodret liste.

`\nointerlineskip` har en definition, der svarer til:

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

Bemærk, at `\nointerlineskip` giver en *engangsdeaktivering* af interline-glue-beregninger, fordi værdien af `\prevdepth` løbende opdateres, efterhånden som nye bokse tilføjes til den aktuelle lodrette liste, som vist i følgende eksempel:

```latex
\noindent Følgende \verb|\hbox|e behandles, når \TeX{} er i såkaldt \textit{ydre vertikal tilstand}. Efter behandling (sats) tilføjes disse bokse til den aktuelle side og stables lodret med interline-glue indsat imellem dem:

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

Nu, umiddelbart efter boksen \verb|\hbox{j}|, sætter vi \verb|\prevdepth| til \texttt{-1000pt}, hvilket forhindrer, at interline-glue placeres mellem boksene \verb|\hbox{j}| og \verb|\hbox{p}|:

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

Bemærk, at interline-glue \textit{bliver} placeret mellem boksene \verb|\hbox{p}| og \verb|\hbox{g}|, fordi værdien af \verb|\prevdepth| opdateres, efter at \verb|\hbox{p}| er blevet behandlet og tilføjet til listen: værdien af \verb|\prevdepth| bliver dybden af boksen \verb|\hbox{p}|. Når \verb|\hbox{g}| tilføjes til den lodrette liste, er værdien af \verb|\prevdepth| ikke længere \texttt{-1000pt}; derfor kan interline-glue nu tilføjes.
```

&#x20;[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel, der demonstrerer TeX’s parameter \prevdepth](/files/da4e155fe4e4058b3c9fccd7b02ca55155c628cb)

#### Interline-glue med nul størrelse: \offinterlineskip

Det er muligt at fjerne al interline-afstand via makrokommandoen `\nointerlineskip`, som har en definition, der svarer til:

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

Bemærk, at `\maxdimen` er `16383.99998pt`, den største længde, som TeX kan bruge.

Følgende grafik viser de centrale interline-glue-beregninger og de forskellige parameterværdier, som bruges af makroen `\nointerlineskip`:

![offinterlineskip](/files/45d97e75d9babd04e5cb782de8c534f96a77293c)

Følgende grafik viser pseudokodeudsnittet, som fremkommer ved at indsætte `\nointerlineskip` makroværdierne i glue-beregningerne. Den demonstrerer, hvordan `\nointerlineskip` makroen fungerer ved at sætte værdier for `\baselineskip` og `\lineskiplimit` så interline-glue altid vil være `\lineskip` glue på `0pt`.

![offinterlineskip](/files/4d354e2ff31f7a8621df5f436bc23a64e25b3ddd)

#### \offinterlineskip og ikke-nul \lineskip

Den `\nointerlineskip` makroen sætter `\lineskip` til nul, men som det følgende Overleaf-projekt viser, kan du kombinere `\nointerlineskip` med ikke-nul værdier af `\lineskip` for at opnå linjeafstandseffekter.

```latex
\documentclass{article}
\title{Demonstration af ikke-nul lineskip}
% Vælg en passende lille sidestørrelse
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % Dette sætter \lineskip til 0pt

\setlength{\lineskip}{5pt} % Vi ønsker ikke-nul \lineskip

\input text.tex % En genereret TeX-fil, som definerer makroerne
% \mytextA og \mytextB, som hver især sætter et afsnit

\mytextA % Sæt et afsnit

% Skift nu \lineskip til en fleksibel glue-værdi og sæt
% endnu et afsnit

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

\mytextA

\end{document}
```

&#x20;Åbn dette eksempel som et Overleaf LaTeX-projekt

Dette eksempel genererer følgende output:

![Demonstration af LaTeX’s \offinterlineskip-makro](/files/a285c09632e1219e5459152c165f1518f8269c2f)

Du kan gøre virkningen/virkningerne af at bruge `\offinterlineskip` og `\lineskip` (og andre afstandskommandoer) lokale ved at omslutte dem i en gruppe:

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...dit/dine afsnit her

\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/da/formatering/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.
