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

# 문단 서식

## 소개

이 글에서는 문단 간격의 여러 측면을 변경하는 두 가지 방법을 살펴봅니다:

* LaTeX 패키지와 같은 것을 사용하는 최선의, 권장되는 방법인 [`setspace`](https://ctan.org/pkg/setspace) 및 [`parskip`](https://ctan.org/pkg/parskip) 이는 LaTeX 문서의 간격을 변경할 수 있는 옵션과 사용자 수준 명령을 제공합니다;
* 저수준 TeX/LaTeX *매개변수 명령* 을 사용하여 문단 간격을 수정하는 것입니다. 매개변수 명령을 직접 사용하면 세심하게 작성된 LaTeX 패키지가 제공하는 검사나 제어를 우회할 수 있어, LaTeX 문서의 다른 부분에서 예상치 못한 결과/부작용이 생길 수 있으므로 주의해서 사용하세요...

### 관심 있는 섹션으로 이동

빠른 해결책을 찾는 독자를 위해:

* 섹션으로 이동 [*LaTeX 패키지 사용: setspace와 parskip*](#using-latex-packages-setspace-and-parskip)

저수준 명령에 관심 있는 독자를 위해:

* 섹션으로 이동 [*TeX/LaTeX 매개변수 명령*](#using-texlatex-parameter-commands) 및 [*기본: 매개변수 명령과 예제*](#the-fundamentals-parameter-commands-and-examples)

줄 간격 계산과 문단 구조의 세부 사항에 관심 있는 독자를 위해:

* 섹션으로 이동 [*문단 구조와 줄 간격 계산*](#paragraph-structure-and-line-space-calculations)

## LaTeX 패키지 사용: setspace와 parskip

* [parskip 패키지](#the-parskip-package)
* [setspace 패키지](#the-setspace-package)

### parskip 패키지

다음 [`parskip` 패키지](https://ctan.org/pkg/parskip?lang=en) 문서의 문단 사이에 삽입되는 간격을 안전하게 변경할 수 있도록 도와줍니다. 이는 목차, 목록 환경, 표시 제목과 같은 문서 구조가 다음의 0이 아닌 값에 의해 부정적인 영향을 받지 않도록 설계되었습니다: [`\parskip` 명령을 사용합니다](#parskip-tex-primitive)이는 TeX/LaTeX가 문단 사이에 삽입하는 공간의 양을 설정하는 데 사용됩니다.

다음 `parskip` 패키지는 사용자 수준 명령을 제공하지 않습니다. 대신 패키지 옵션을 사용하여 동작을 구성합니다.  [`parskip` 문서](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) 은(는) 짧아서 단 3페이지뿐이지만, 패키지 옵션의 간단한 요약은 다음과 같습니다:

* **`skip`**: 다음을 지정 `\parskip`, 문단 사이의 세로 간격;
* **`tocskip`**: 0이 아닌 값을 지정 `\parskip` 값을 다음에 사용 `\tableofcontents` 및 유사한 목록;
* **`indent`**: 다음의 값을 설정 `\parindent`, 문단 들여쓰기;
* **`parfill`**: 다음의 값을 조정 `\parfillskip`, 문단의 마지막 줄 끝에 추가되는 글루.

기본적으로 `parskip` 패키지는 다음으로 설정합니다 `\parindent` 을 `0pt` 그리고 0이 아닌 `\parskip` 값을 가진 `.5[\baselineskip](#baselineskip-tex-primitive) plus 2pt`.

#### parskip 패키지 예제

다음 예제들은 다음의 몇 가지 사용법을 보여줍니다: `parskip` 패키지입니다. Overleaf에서 예제를 열고 컴파일하려면 “Open in Overleaf” 링크를 선택하세요.

**parskip 패키지의 최소 예제**

다음 최소 예제는 다음 패키지를 불러오고 `parskip` 패키지를 불러와 다음을 사용해 만든 두 문단을 조판합니다: [`blindtext` 패키지](https://ctan.org/pkg/blindtext?lang=en). 이 예제는 또한 다음의 기본값도 조판합니다: `\baselineskip`, `\parskip` 및 `\parindent`두 문단 사이의 간격은 다음의 값에 의해 결정됩니다: `\parskip`:

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% 더미 텍스트를 위한 blindtext 패키지 로드
\usepackage{blindtext}
% 옵션 없이 parskip 패키지 로드
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % \par를 사용하여 새 문단을 강제로 시작
\blindtext[1]

\verb|\parindent|의 값은 \texttt{\the\parindent}입니다. 다른 값들은 다음과 같습니다:

\begin{itemize}
\item \verb|\baselineskip|의 값은 \texttt{\the\baselineskip}입니다
\item \verb|\parskip|의 값은 \texttt{\the\parskip}입니다
\end{itemize}
\end{document}
```

&#x20;[이 예제를 Overleaf에서 열기](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+without+options%0A%5Cusepackage%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+is+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+Here+are+the+other+values%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cparskip%7C+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![parskip LaTeX 패키지 사용 예](/files/ce2addd2f30ed7106f3c9913b183e451653839d2)

참고로 `\parskip` 글루에는 일반적으로 늘어날 수 있는 [글루 요소가 포함됩니다](#a-few-notes-on-glue) 그렇게 하면 LaTeX가 내용을 페이지에 맞추고 최적의 페이지 나누기를 생성하는 데 도움이 되기 때문입니다.

**parskip 패키지 옵션 사용**

다음 예제는 다음을 불러오고 구성합니다: `parskip` 패키지를 다음을 사용하여 불러오세요 `skip` 및 `indent` 옵션입니다. 또한 다음을 통해 두 문단을 조판합니다: [`blindtext` 패키지](https://ctan.org/pkg/blindtext?lang=en), 그리고 다음의 값들을 조판합니다: `\baselineskip`, `\parskip` 및 `\parindent`.

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% 더미 텍스트를 위한 blindtext 패키지 로드
\usepackage{blindtext}
% skip 및 indent 옵션과 함께 parskip 패키지 로드
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % 새 문단을 강제로 시작하려면 \par 사용
\blindtext[1]

\verb|\parindent|의 값은 \texttt{indent} 옵션을 통해 설정되었으므로, 이제 \texttt{\the\parindent}입니다. 다른 값들은 다음과 같습니다:

\begin{itemize}
\item \verb|\baselineskip|은 \texttt{\the\baselineskip}입니다
\item \verb|\parskip|은 \texttt{skip} 옵션을 통해 설정되었으므로, 그 값은 \texttt{\the\parskip}입니다
\end{itemize}
\end{document}
```

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

이 예제는 다음 출력을 생성합니다:

![parskip LaTeX 패키지의 두 번째 사용 예](/files/ce7a142ce7a0dd3ddb1e34540a107ab0c20f1c70)

### setspace 패키지

다음 [`setspace` 패키지](https://ctan.org/pkg/setspace?lang=en) 문서의 텍스트 줄 간격을 변경하기 위한 명령과 환경을 제공합니다. 다음은 \verb|\setspace|가 제공하는 주요 명령과 환경의 간단한 요약입니다: `setspace`:

* 명령 **`\singlespacing`**, **`\onehalfspacing`** 및 **`\doublespacing`** 는 문서 서문이나 문서 본문에서 사용할 수 있으며, 문서의 일부 또는 전체의 간격을 변경할 수 있습니다;
* 다음 **`\setstretch{*baselinestretch amount*}`** 명령은 다음에 대한 변경을 통해 사용자 정의 간격을 설정합니다: [`\baselinestretch`](#demonstrating-baselinestretch))—이 명령은 문서 서문에서도 사용할 수 있습니다;
* 환경 **`singlespace`**, **`singlespace*`** **`onehalfspace`** 및 **`doublespace`** 는 문서 텍스트의 선택된 부분에 대해 줄 간격을 변경할 수 있게 합니다;
* 다음 **`\SetSinglespace{*value*}`** 명령은 `*value*` 를 사용하여 단일 줄 간격을 조정합니다. 이는 주어진 포인트 크기에 비해 문자 모양(“글리프”)이 상대적으로 작거나 큰 글꼴로 조판된 텍스트의 줄 간격을 수용하기 위한 것입니다. 섹션 [*글꼴과 포인트 크기에 대한 간단한 메모*](#brief-notes-on-fonts-and-point-size) 를 참조하면, 주어진 포인트 크기에서 글꼴 글리프 크기가 어떻게 달라지는지 보여주는 그림을 확인할 수 있습니다;
* 다음 **`spacing`** 환경은 사용자 정의 간격을 제공하며 하나의 인수를 필요로 합니다: 사용할 [`\baselinestretch` 값으로 설정됩니다](#demonstrating-baselinestretch) 예를 들어:

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

#### setspace 패키지 예제

다음 예제들은 다음의 몇 가지 사용법을 보여줍니다: `setspace` 패키지: 예제를 열고 컴파일하려면 Overleaf에서 “Open in Overleaf” 링크를 클릭하세요.

**문서 서문에서 \doublespacing 사용**

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% 더미 텍스트를 위한 blindtext 패키지 로드
\usepackage{blindtext}
% setspace 패키지 로드
\usepackage{setspace}
% 서문에서 \doublespacing 사용
% 텍스트를 두 줄 간격으로 변경
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[이 예제를 `setspace` Overleaf에서 여세요.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+doublespacing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![setspace \doublespacing 명령 예제](/files/10dca758876370519b4483ba9e883408b46af5e0)

**spacing 환경 사용**

다음 코드는 3페이지를 조판하므로, 아래에 제공된 “Open in Overleaf” 링크를 선택하여 Overleaf에서 출력을 보는 것이 좋습니다.

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% 더미 텍스트를 위한 blindtext 패키지 로드
\usepackage{blindtext}
% setspace 패키지 로드
\usepackage{setspace}
% 서문에서 \doublespacing 사용
% 텍스트를 두 줄 간격으로 변경
\doublespacing
\begin{document}
\blindtext[1]

이제 \verb|\baselinestretch| 값을 3으로 적용하여 더 큰(사용자 정의) 간격을 적용합니다:

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

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
이제 \verb|\singlespacing|\singlespacing\blindtext[1]로 되돌립니다
\end{document}
```

&#x20;[이 예제를 `setspace` Overleaf에서 여세요.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+various+setspace+commands\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%0ANow%2C+apply+a+larger+%28custom%29+spacing+by+applying+a+%5Cverb%7C%5Cbaselinestretch%7C+value+of+3%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Cbegin%7Bspacing%7D%7B3%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Cbegin%7Bspacing%7D%7B2.5%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0ANow%2C+revert+to+%5Cverb%7C%5Csinglespacing%7C%5Csinglespacing%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

**singlespace\* 환경 사용**

글에서 언급했듯이 [*줄 간격에 대한 짧은 메모*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/)에서 관찰했듯이, `setspace` 패키지는 별표가 붙은(`singlespace*`) 버전과 별표가 없는 버전의 `singlespace` 환경을 제공합니다. 다음의 `setspace` 패키지 코드의 주석은 다음을 언급합니다: `singlespace*` 환경은 “... itemize 및 quote 환경 주변의 세로 간격을 개선하도록” 설계되었습니다.

다음 예제는 두 개의 `minipage` 환경에 들어 있는 글머리표 목록을 나란히 배치하여, `singlespace` 및 `singlespace*` 환경을 사용합니다.

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
여기에 글머리표 목록이 있습니다\par (\texttt{singlespace} 환경).
\begin{itemize}
\item 하나
\item 둘
\item 셋
\end{itemize}
\end{singlespace}%
목록이 끝났습니다.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
여기에 글머리표 목록이 있습니다\par (\texttt{singlespace*} 환경).
\begin{itemize}
\item 하나
\item 둘
\item 셋
\end{itemize}
\end{singlespace*}
목록이 끝났습니다.
\end{minipage}
```

&#x20;[이 예제를 `setspace` Overleaf의 예](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+starred+singlespace+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cdoublespacing+%0A%5Cblindtext%5B1%5D%0A%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%7D%25%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%5Ckern10pt%25%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%2A%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%2A%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%2A%7D%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![LaTeX singlespace\* 환경 예제](/files/a8d4f608e2adbb2976eba30dae913910e9bfbce4)

**\setstretch 명령 사용**

`\setstretch{*value*}` 는 다음의 값을 설정합니다 `\baselinestretch` 을 *값으로 설정됩니다* 그리고 다음을 즉시 *즉시* 변경합니다 `\baselineslip` 다음에 의해 `\baselinestretch`. 다음 예제는 `\setstretch{1.618}`을 사용합니다. 1.618이라는 이상한 값은 [이 글의 뒤에서 설명합니다](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% 1.618이라는 이상한 수치는 이 글의 뒤에서 설명합니다.
\setstretch{1.618}
\verb|\setstretch{1.618}|를 작성하면 줄 간격이 즉시 변경됩니다. 만약 \verb|\renewcommand{\baselinestretch}{1.618}|를 작성했다면, \verb|\selectfont|와 같은 글꼴 변경 명령이 사용될 때까지 줄 간격은 수정되지 않습니다.

\blindtext[1]
```

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

이 예제는 다음 출력을 생성합니다:

![\setstretch 명령 예제](/files/ebbc35e3f650ae4dfcb4cd18a6da40f12c50573e)

**\SetSinglespace 명령 사용**

다음 프로젝트는 LuaLaTeX를 통해 컴파일되며 다음 패키지를 사용합니다: `fontspec` 패키지를 사용하여 TeX Gyre Pagella 글꼴에 접근합니다. 이 예제는 TeX Gyre Pagella로 조판된 두 문단의 텍스트를 비교합니다. 첫 번째 문단은 기본 단일 줄 간격을 사용하고, 두 번째 문단은 다음을 적용하여 더 큰 단일 줄 간격을 가집니다: `\SetSinglespace{1.1}`일부 사람들은 두 번째, 약간 “열린” 문단을 더 선호할 수 있으며, 읽기 편안함이 향상된다고 느낄 수 있습니다. 물론 이는 개인 취향의 문제입니다.

```latex
Computer Modern 기본 단일 줄 간격
일반 텍스트입니다. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
TeX Gyre Pagella 기본 단일 줄 간격
여기에 일반 텍스트가 있습니다. \blindtext[1]
TeX Gyre Pagella 조정된 단일 줄 간격
참고: 작성한 뒤에는 \verb|\SetSinglespace{1.1}| 다음에 \verb|\singlespacing|을 적용해야 합니다
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
여기에 일반 텍스트가 있습니다. \blindtext[1]
\end{singlespace*}
```

&#x20;[이 예제를 `setspace` Overleaf에서 여세요.](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Example+use+of+the+SetSinglespace+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%2A%7BComputer+Modern+default+single+spacing%7D%0ASome+regular+text.+%5Cblindtext%5B1%5D%0A%5Csetmainfont%7BTeX+Gyre+Pagella%7D%0A%5Csection%2A%7BTeX+Gyre+Pagella+default+single+line+spacing%7D%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Csection%2A%7BTeX+Gyre+Pagella+adjusted+single+line+spacing%7D%0ANote%3A+we+need+to+issue+%5Cverb%7C%5Csinglespacing%7C+after+writing++%0A%5Cverb%7C%5CSetSinglespace%7B1.1%7D%7C%5CSetSinglespace%7B1.1%7D%5Csinglespacing%0A%5Cbegin%7Bsinglespace%2A%7D+%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Cend%7Bsinglespace%2A%7D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![LaTeX \SetSinglespace 명령 시연](/files/6173a51b4d4468e16b30a1357d51fc2508dc2922)

다음 섹션에서는 다음 명령들을 살펴봅니다 `\baselinestretch` 및 `\linespread`.

#### \baselinestretch와 \linespread 이해하기

줄 간격과 글꼴 변경(글꼴 크기, 글꼴 패밀리, 글꼴 인코딩 등)을 처리하는 LaTeX의 설계에는 다음과 같이 마주칠 수 있는 두 가지 명령이 사용됩니다:

* **`\baselinestretch`**: 이 명령은 현재 값인 [`\baselineskip`](#baselineskip-tex-primitive)을 곱(스케일)하는 데 사용되는 스케일 계수를 저장합니다. 그 스케일은 일반적으로 *다음번에* 글꼴 선택 명령이 사용될 때 적용됩니다—예를 들어 `\selectfont`와 같은 명령입니다. 저장된 `\baselinestretch` 의 값을 변경하려면 `\renewcommand{\baselinestretch}{*scale*}`
  * **참고**입니다: 만약 문서 본문에서 `\renewcommand{\baselinestretch}{*scale*}` 를 작성하면, `\baselinestretch` [의 새 값은 즉시 적용되지 않습니다](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): 새 `*scale*` 계수는 나중에 사용하기 위해 저장됩니다. 새`*scale*` 값을 즉시 사용/적용하려면 `\selectfont` 를 작성하세요. 이는 아래 [코드 조각에서 보여줍니다](#demonstrating-baselinestretch).
* **`\linespread{*scale*}`**: 현재 글꼴 크기에 영향을 주지 않고 [`\baselineskip`](#baselineskip-tex-primitive) 를 변경하는 데 사용할 수 있습니다. 이 명령은 `\baselinestretch` 을 `*scale*` 을 설정하며, 이후 `\baselineskip` 을 `*scale* × [\baselineskip](#baselineskip-tex-primitive)`. 그러나 그 스케일링 역시 `\linespread` 명령이 문서 서문에서 사용되지 않는 한 즉시 발생하지 않습니다. 만약 `\linespread` 가 문서 본문에서 사용되면, 다음 글꼴 크기/선택 명령이 사용된 후에 효과가 나타납니다.

위 내용을 바탕으로, 다음 중 하나를 사용할 수 있습니다:

* `\renewcommand{\baselinestretch}{*scale*}\selectfont` 또는,
* `\linespread{*scale*}\selectfont`

를 사용하여 줄 간격을 변경할 수 있으며, 아래 예제에서 보이듯이 둘 다 글꼴 크기 변경 전반에 걸쳐 작동합니다. 그렇다면 어느 것을 사용해야 할까요? [tex.stackexchange의 이 짧은 논의를 참조하세요](https://tex.stackexchange.com/a/241121).

**\linespread 시연**

다음 예제는 다음을 사용합니다 `\linespread{2.5}` 문서 서문에서, 추가적인 글꼴 선택 명령이 필요 없이 줄 간격을 변경합니다:

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% 더미 텍스트를 위한 blindtext 패키지 로드
\usepackage{blindtext}
% 서문에서 \linespread를 사용하면
% 추가적인
% \selectfont와 같은 글꼴 선택 명령 없이 줄 간격이 변경됩니다
\linespread{2.5}
\begin{document}
\blindtext[1] % 줄은 \linespread{2.5}의 영향을 받습니다
\end{document}
```

&#x20;[이 예제를 Overleaf에서 열기](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Using+%5Clinespread+in+the+preamble+changes+%0A%25+line+spacing+without+requiring+additional%0A%25+font-selection+commands%2C+such+as+%5Cselectfont%0A%5Clinespread%7B2.5%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D+%25+The+lines+are+affected+by+%5Clinespread%7B2.5%7D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![linespread 명령 사용](/files/8450088de85325ba69423a10244442e34a18b8cf)

사용하기 `\linespread{2.5}` 문서 본문에서( `\begin{document}`) *이라면* 줄 간격 변경을 트리거하려면 글꼴 선택 명령이 필요합니다. 다음 코드를 Overleaf에서 열어 이전 예제와 출력을 비교해 보세요:

```latex
다음 \verb|\linespread| 명령은 문서 본문에서 사용되므로, 줄 간격을 변경하려면 글꼴 선택 명령이 필요합니다. 차이를 보려면 \verb|\selectfont|의 주석을 해제하세요:

\linespread{2.5}%\selectfont

% \selectfont가 없으면 다음 문단의 줄은
% \linespread{2.5}의 영향을 받지 않습니다:
\blindtext[1]
```

&#x20;[이 예제를 Overleaf에서 열기](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+example+using+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0ABecause+the+following+%5Cverb%7C%5Clinespread%7C+command+is+used+in+the+document+body%2C+a+font-selection+command+is+required+to+change+the+line+spacing.+Un-comment+%5Cverb%7C%5Cselectfont%7C+to+see+the+difference%3A%0A%0A%5Clinespread%7B2.5%7D%25%5Cselectfont%0A+%0A%25+Without+%5Cselectfont+the+following+paragraph+lines+are+%0A%25+unaffected+affected+by+%5Clinespread%7B2.5%7D%3A+%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![문서에서 LaTeX \linespread 명령 사용](/files/0fc06f146a2d8763a721c8a069382a2b5fb6caf1)

**\baselinestretch 시연**

다음 예제는 `\baselinestretch` 및 `\selectfont` 에 대한 대응 효과를 보여주기 위해 [`\baselineskip`](#baselineskip-tex-primitive):

```latex
\verb|\baselineskip|의 기본값은 \the\baselineskip입니다. 이제 \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}를 업데이트합니다. 그러나

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

\noindent 아직 그 어떤 효과도 보이지 않습니다: \verb|\baselinestretch|의 새 값은 저장되었지만 적용되지는 않았습니다. \verb|\selectfont| 명령을 내려 변경을 적용할 수 있지만, 지금은 \verb|\baselineskip|의 값이 여전히 \the\baselineskip{}(변경 없음)입니다.

이제 \verb|\selectfont|를 실행하면 \verb|\baselinestretch| 변경이, 2.5로 설정된 값이, 이제 적용됩니다---\selectfont 문단 중간에 있더라도 말입니다. 이제 \verb|\baselineskip|의 값은 \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\))입니다.

\verb|\fontsize{14}{16}\selectfont| 명령을 사용하여 글꼴 크기를 14pt로, \verb|\baselineskip|를 16pt로 변경하면 어떻게 될까요?

\fontsize{14}{16}\selectfont 이제 \verb|\baselineskip|는 16pt가 아니라 \the\baselineskip{}입니다. \verb|\baselinestretch| 값(2.5)이 보존되어 적용되었기 때문에 \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\)가 됩니다.

\section{\texttt{\bfseries\string\linespread}}
\verb|\linespread| 명령은 글꼴 크기를 변경하지 않고 \verb|\baselineskip|를 수정하는 데 사용할 수 있습니다.
```

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

이 예제는 다음 출력을 생성합니다:

![baselinestretch 시연](/files/14a85a132d47510b69121643b9bc080e1d77d75a)

#### setspace 패키지에서 “줄 간격”은 어떻게 정의되고 변경될까요?

다음 *정확한* 정의와 *측정* 은(는) 해석의 여지가 있어, 소프트웨어 시스템/애플리케이션마다 다양한 구현으로 이어질 수 있습니다. 분명히, `setspace` 패키지는 단일/두 줄 간격 또는 그 밖의 어떤 배수 간격도 조판할 수 있도록 줄 간격의 실용적인 정의를 가정해야 합니다. 하지만 서로 다른 양의 공백을 가진 줄을 만들기 위해 `setspace` 어떤 변수들이 수정될까요?

다행히도, [tex.stackexchange의 토론](https://tex.stackexchange.com/a/30106) 및 [패키지 코드의 주석](https://tex.stackexchange.com/a/632830) 은 다음을 명확히 설명합니다: `setspace` 은 줄 간격을 구현하는 방식으로 `\baselineskip` 을 글꼴의 포인트 크기의 배수로 설정합니다.

**글꼴과 포인트 크기에 대한 간단한 메모**

특정 포인트 크기의 글꼴을 사용한다는 것은 해당 글꼴의 문자 모양(글리프)에 *스케일 계수* 를 적용한다는 뜻입니다. 포인트 크기에 따라 스케일된 뒤, 문자의 보이는 크기는 글꼴의 디자인(서체)에 따라 달라집니다. 포인트 크기와 글꼴 내 문자 모양의 실제 표시 크기 사이에는 보편적이고 딱 잘라 말할 수 있는 관계가 없습니다.

다음 이미지는 서로 다른 4개의 글꼴을 사용해 스타일링한 소문자 “abc”를 보여주며, 모두 *같은 포인트 크기로 표시됩니다*. 모든 것이 *같은* 포인트 크기로 조판되었음에도 불구하고, 서체(타입페이스)에 따라 이 소문자들의 “크기”가 어떻게 달라지는지 주목하세요:

![같은 포인트 크기의 다양한 글꼴](/files/28c7221d7b902191f95ba247d13db844a0cf9fb0)

#### setspace 패키지의 단일 줄 간격

이를 [tex.stackexchange의 토론](https://tex.stackexchange.com/a/30106) 몇 가지 추가 설명의 기초로 사용할 수 있습니다.

다음을 사용하는 기본 문서는 `article` 클래스에서 10pt의 기본 텍스트 글꼴 크기와 12pt의 `\baselineskip` 를 가집니다. \[11pt] 또는 \[12pt] 옵션을 사용하면 article 클래스는 더 큰 텍스트 크기와 그에 상응하는 더 큰 `\baselineskip` 값을 사용하며, 이는 다음 표와 같습니다:

| 옵션            | 글꼴 크기                       | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| ------------- | --------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (기본값) | 10pt                        | 12pt                       | 1.2                                                              |
| \[11pt]       | 10.95pt$${}^{\textbf{\*}}$$ | 13.6pt                     | 1.24                                                             |
| \[12pt]       | 12pt                        | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$이상한 값인 `10.95pt`이며 정확히 `11pt`가 아닌 이유는 이 [레딧 게시물](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

에서 훌륭하게 설명되어 있습니다. 표에서 보이듯이, 각 텍스트 포인트 크기와 이에 대응하는 기본값(즉, 단일 줄 간격)인 `\baselineskip`에 대해 비율

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

은 1.2에 가깝습니다. 그 비율 값은 단일 줄 간격을 나타내며, `setspace` 패키지.

**\baselinestretch의 값을 이해하고 계산하기**

1.5, 2, 3 등의 특정 줄 간격 배수를 달성하려면 `\baselinestretch` 명령을 겉보기엔 [“이상한” 값](https://tex.stackexchange.com/a/30106)으로 설정해야 합니다; 예를 들어 [다음 설정을 사용하여 `\linespread` 명령을 사용합니다](https://texblog.org/2011/09/30/quick-note-on-line-spacing/)을 통해서입니다. 이 섹션에서는 `\baselinestretch` 을 좀 더 자세히 살펴보며 그런 “이상한” 값이 어떻게 생겨나는지 알아보겠습니다.

기본 글꼴 크기가 $$f$$ 이고 기본 `\baselineskip` 의 $$\text{dbls}\_1$$인 문서를 선택해 봅시다. 아래첨자 $${}\_1$$ 는 기본 `\baselineskip` 값이 글꼴 크기 $$f$$.

우리는 ***정의할 것입니다*** 단일 줄 간격을 다음 비율로, 이를 $$\alpha\_f$$:

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

라고 부르겠습니다 $$f$$주어진 글꼴 크기 *정의할 것입니다* 에 대해, 다음 줄 간격 값들도

* 1.5배 줄 간격은 *정의됩니다* 를 다음과 같이 정의한다

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

* 2.0배 줄 간격은 *정의됩니다* 를 다음과 같이 정의한다

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

* 배수 $$m$$, *정의됩니다* 를 다음과 같이 정의한다

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

의 줄 간격은 $$\alpha\_f$$우리의 단일 줄 간격을 비율로 정의하면, 다음과 같은 “의사 코드”를 작성하여 계산할 수 있습니다: 하나의 `\baselinestretch` 어떠한 줄 간격 배수에 해당하는 값 $$m$$:

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

다음을 사용해 보겠습니다 `11pt` 텍스트(실제로는 `10.95pt`)와 기본 `\baselineskip` 값을 가진 `13.6pt` 를 계산하기 위해 `\baselinestretch` 에는 *배수* 줄 간격:

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

다음 코드 조각은 `setspace` 패키지에서 다음을 달성하기 위해 사용됩니다 `\doublespacing` 글꼴 크기가 11pt일 때. 위에서 계산한 `1.618`, 위에서 계산한 값이 명령 `\baselinestretch`:

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

사용하여 `article` 11pt 글꼴 옵션이 있는 문서 클래스에서, 다음 예시는 `\doublespacing` 와 함께 `spacing` 우리의 계산된 값을 사용하는 환경 `1.618` 에는 `\baselinestretch`. 놀랍지 않게도, `\baselineskip` 값은 동일합니다(`22.00475pt`):

```latex
\begingroup
\doublespacing
\verb|\baselineskip|=\texttt{\the\baselineskip} (\verb|\doublespacing|을 통해)

\blindtext[1]

\endgroup

\begin{spacing}{1.618}
\verb|\baselineskip|=\texttt{\the\baselineskip} (\verb|\begin{spacing}{1.618}|을 통해)

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

&#x20;[이 예제를 Overleaf에서 열기](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch+calculations\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D25cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D+%25+For+dummy+text.%0A%5Cbegin%7Bdocument%7D%0A%5Cbegingroup%0A%5Cdoublespacing%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cdoublespacing%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%0A%5Cendgroup%0A%0A%5Cbegin%7Bspacing%7D%7B1.618%7D%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cbegin%7Bspacing%7D%7B1.618%7D%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![baselinestretch의 시연](/files/39d613eab8ec1366bfc55fcc06df7737ccae05cc)

의 유사한 계산 `\baselinestretch` 값은 다음 표에 나열된 다른 글꼴 크기와 줄 간격 조합에도 적용됩니다:

![setspace 매개변수](/files/b380362e6ba369a6a63bc53641e28379d0b793cf)

## TeX/LaTeX 매개변수 명령 사용하기

다음 섹션에서는 단락 간격/서식과 관련된 여러 명령을 살펴봅니다. 그중 일부는 *내장된* TeX 조판 엔진, 나머지는 TeX/LaTeX 매크로입니다. TeX 엔진에 내장된 명령은 *원시 명령*, 즉 *근본적인* 및 *기본 명령(primitive)* 라고 불리는데, 이는 매크로와 달리 기본 명령은 다른 명령들의 연속으로 구성되지 않기 때문입니다.

특히, 여러 기본 *매개변수 명령* pdfTeX, XeTeX 및 LuaTeX를 포함한 모든 TeX 엔진에서 지원됩니다. 문단 관련 여부와 상관없이 매개변수 명령은 다음에 사용됩니다 *현재 값을 가져오거나* 해당 매개변수를 새 값으로 설정하기 위해 *. 예를 들어,*&#xBA85;령은 기본 명령으로, 두 개의 조판된 단락 사이에 삽입되는 공백의 양을 제어하는 매개변수의 값을 결정합니다. `\parskip` 하려면

가져오려면 *(여기서는 조판하려면) 현재 값을* 다음과 같이 쓰면 됩니다: `\parskip` \the\parskip

```latex
\the\parskip
```

가져오려면 *set* 의 현재 값 `\parskip` 을 `1pt plus2pt` (유연한 glue) 다음과 같이 쓸 수 있습니다:

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

또한 유용한 TeX/LaTeX *매크로*, 구성 요소 명령들의 연속을 사용하여 작성되고 구성된 상위 수준 명령들도 논의합니다.

### 문단 간격에 사용되는 명령

다음 명령들(기본 명령과 매크로)은 문단 간격에 영향을 주는 데 사용할 수 있습니다. 그중 일부는 명령 이름의 링크를 따라가면 더 자세히 볼 수 있습니다.

#### 기본 명령

* [`**\parindent**`](#parindent-tex-primitive): 단락의 첫 줄에 추가되는 들여쓰기(공백)의 양입니다.
* [`**\parskip**`](#parskip-tex-primitive): 단락 사이에 배치되는 유연한 공백(“glue”)의 양입니다.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives): 단락의 각 줄 오른쪽에 삽입되는 유연한 간격(glue)입니다.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives): 단락의 각 줄 왼쪽에 삽입되는 유연한 간격(glue)입니다.
* [`**\baselineskip**`](#baselineskip-tex-primitive): 이 매개변수의 값은 두 가지 역할을 합니다:
  * 단락의 텍스트 기준선 사이의 원하는 거리를 설정하고;
  * 원하는 기준선 간 거리([은 나중에 이 글에서 보세요](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives): 값이 단락의 인접한 두 줄 사이의 최소 허용 거리를 정의하는 매개변수입니다.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives): 계산된 `\baselineskip` glue가 줄들이 너무 가까워지는 결과를 낳을 경우, 단락의 두 줄 사이에 삽입되는 공백(glue)의 양입니다.
* `**\parfillskip**`: 단락의 마지막 줄 끝에 추가되어 그 줄을 공백으로 “채우기” 위한 매우 유연한 glue입니다. 시각적 예시는 섹션의 그림을 참조하세요 [*다른 유형의 단락 glue 시각화*](#visualizing-other-types-of-paragraph-glue).

#### 매크로 명령

다음 TeX/LaTeX 매크로 명령들은 단락 간격을 수정하는 데 자주 사용됩니다:

* [`**\offinterlineskip**` 및 `**\nointerlineskip**`](#offinterlineskipandnointerlineskip): 계산과 삽입을 끌 수 있는 명령 `\baselineskip` glue;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch): 글꼴이 선택될 때 `\baselineskip` 의 값을 계산하는 데 사용되는 숫자 계수를 저장하는 명령입니다. 기본값은 1입니다;
* [`**\linespread**`](#demonstrating-linespread): 이 명령은 `\baselinestretch`.

### 유연한 간격(glue)

TeX 엔진은 단락 내부나 단락 사이를 포함한 간격 효과를 *glue* 라고 하는 유연한 공백을 사용해 구현합니다. 이 공백은 필요한 공간의 양에 따라 늘리거나 줄일 수 있습니다. TeX의 glue 개념에 대해 더 알고 싶다면, 다음 Overleaf 글에서 더 자세한 내용을 찾을 수 있습니다:

* [채워지지 않거나 넘치는 상자와 badness 계산 살펴보기](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [\hbox에서 TeX가 glue 설정을 계산하는 방법](/latex/ko/in-depth-articles/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [채워지지 않거나 넘치는 상자 경고 이해하기](/latex/ko/knowledge-base/138-understanding-underfull-and-overfull-box-warnings.md).

## 기본: 매개변수 명령과 예제

이 섹션에서는 단락 관련 매개변수 명령 여러 개를 설명하고 사용 예를 제공합니다.

### \parindent (TeX 기본 명령)

이 매개변수 명령은 단락의 첫 줄에 추가되는 들여쓰기(공백)의 양을 설정합니다. LaTeX의 `\setlength` 명령을 사용해 변경할 수 있습니다. 예를 들어, 단락 들여쓰기를 `15pt` set `\parindent` 을 `15pt` 로 하려면 다음과 같이 쓰면 됩니다:

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

다음에 유의하자:

* 를 변경할 수 있습니다 `\parindent` 그룹 내부에서
* `\parindent` 그 효과가 해당 그룹의 단락으로만 제한되도록 보장하면서;
* 음수일 수 있으며, 들여쓰기 대신 “내어쓰기”를 생성합니다;`\section{...}` 등).

다음 예시는 `\parindent`.

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 텍스트 단락을 담을 명령 만들기
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }When \TeX{} typesets a paragraph it treats each individual character as a 2D ``box'' with a specific width, height and depth.\par}
\begin{document}

% 단락 사이에 10pt를 넣도록 \parskip 설정
\setlength{\parskip}{10pt}

% \parindent 값을 0pt로 설정
\setlength{\parindent}{0pt}
\testpar

% \parindent 값을 10pt로 설정
\setlength{\parindent}{10pt}
\testpar

% 그룹에서 \parindent 설정
{\setlength{\parindent}{50pt}\testpar}

% 이제 \parindent는 다시 10pt
\testpar

% 네, 음수 \parindent도 가능합니다
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

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

이 예제는 다음 출력을 생성합니다:

![LaTeX에서 다양한 단락 들여쓰기 값 사용하기](/files/6ed739eb0c626c16d57d263c2ef3c00d8b3a8c8f)

### \parskip (TeX 기본 명령)

텍스트의 가독성은 디자인 미학에 따라 달라지는 일정량의 공백으로 단락을 분리함으로써 향상될 수 있습니다. TeX/LaTeX에서는 사용자가 `\parskip` 매개변수 명령을 통해 단락 간 간격을 제어할 수 있습니다.

* **의 조언 `parskip` 패키지**: 다음 [parskip 패키지](https://ctan.org/pkg/parskip) 에서는 `\parskip` 를 직접 수정하면 `parskip` 예기치 않은 위치에 세로 간격이 생길 수 있다”(LaTeX 문서 내에서)고 권고합니다.  `\parskip`패키지는 [`parskip` 의 값 변경으로 인해 생길 수 있는 간격 문제를 해결하려고 시도합니다](#the-parskip-package).

수동으로 `\parskip` 의 현재 값을 설정하려면 `\setlength` LaTeX의

```latex
명령을 사용하세요. 예를 들어 단락 사이를 3pt로 분리하려면 다음과 같이 쓸 수 있습니다:
```

다음 예시는 `\parskip`:

```latex
\documentclass{article}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 텍스트 단락을 담을 명령 만들기
\newcommand{\testpar}{\noindent \texttt{\string\parskip}의 현재 값은 \texttt{\the\parskip}입니다. \TeX{}는 단락을 조판할 때 각 개별 문자를 특정 너비, 높이, 깊이를 가진 2D~``box''로 취급합니다.\par}
\begin{document}
\testpar
% \parskip을 5pt로 설정
\setlength{\parskip}{5pt}\testpar
% parskip을 10pt로 설정
\setlength{\parskip}{10pt}\testpar
% \parskip을 25pt로 설정(하지만 그룹 안에서)
{\setlength{\parskip}{25pt}\testpar}
% 그룹이 끝나면 이제 \parskip은 다시 10pt
\testpar
% 네, 음수 \parskip도 가능합니다
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

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

이 예제는 다음 출력을 생성합니다:

![LaTeX에서 \parskip 사용의 시연](/files/8a1af070e2ae96a8c4cf5d9c9498a69f96b4b306)

#### 유연한 \parskip

전통적으로, `\parskip` 은 *고정된* 값이 아니며, 그렇게 되면 모든 단락 사이의 간격이 같아집니다. 대신, `\parskip` 는 일반적으로 “유연한 공간”(glue)으로 정의되며, 이를 통해 TeX가 단락 사이의 공간을 늘리거나 줄여 페이지에 내용을 맞추고 페이지 나눔의 “좋은” 위치를 찾을 수 있습니다.

를 유연하게 만들려면 `\parskip` glue 명세의 형태로 쓰면 됩니다:

`\setlength{\parskip}{*고정된 양* **plus** *늘릴 양* **minus** *줄일 양*}`

여기서 `**plus**` 및 `**minus**` 는 *keywords* TeX/LaTeX에서 다음을 식별하는 데 사용되는 *늘릴 양* 또는 *줄일 양* glue 명세에 포함된. Overleaf 글 [*채워지지 않거나 넘치는 상자와 badness 계산 살펴보기*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) 에는 glue에 대한 더 자세한 논의가 들어 있습니다.

예를 들어, 다음이 가능하도록 하려면 `\parskip` 가 `3 + 1 = 4pt` 및 `3 — 1 = 2pt` 사이에서 변하도록

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

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

TeX 엔진은 조판된 단락의 각 줄 왼쪽과 오른쪽에 공백(glue)을 추가하는 두 개의 매개변수 명령을 제공합니다. 이름에서 알 수 있듯이:

* `\leftskip` 단락의 각 줄 왼쪽에 공백(glue)을 삽입합니다;
* `\rightskip` 단락의 각 줄 오른쪽에 공백(glue)을 삽입합니다.

다음 예시는 `\leftskip` 및 `\rightskip` 를 사용해 단락 정렬을 직접 수정합니다. 그러나... 텍스트 정렬 변경은 일반적으로 적절한 LaTeX 환경이나 패키지를 통해 하는 것이 가장 좋습니다. 예를 들어, [텍스트 정렬에 관한 Overleaf 글](/latex/ko/formatting/06-text-alignment.md). TeX 엔진이 제공하는 일부 하위 수준(기본) 매개변수 명령의 동작을 보여주지만, 가능한 한 적절한 LaTeX 패키지를 사용하는 것이 일반적으로 바람직합니다.

#### \leftskip를 고정하고 \rightskip를 유연하게 만들기

다음 예시는 첫 번째 단락에서 `\leftskip` 및 `\rightskip` 에 대한 LaTeX의 기본값을 사용하고, 두 번째 단락은 다음 설정으로 조판됩니다:

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

출력을 보려면 다음 Overleaf 프로젝트를 여세요:

```latex
\documentclass{article}
\title{Second leftskip and rightskip example}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 일부 단락 관련 매개변수의 값을 설정
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 각각 단락의 텍스트를 포함합니다.
% \leftskip와 \rightskip의 기본값을 사용해 단락 조판

\mytextB

% \leftskip와 \rightskip를 새 값으로 설정
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% 이제 같은 단락을 다시 조판
\mytextB

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![LaTeX에서 \leftskip glue 설정](/files/d9658eb79c422f0cd2f378bdc45f5b005aecf816)

다음 그림은 위 예제에서 생성된 두 번째 단락에 주석을 단 버전입니다. 이는 다음의 양을 강조하고 보여주도록 설계되었습니다 `\leftskip` 및 `\rightskip` 단락 줄에 삽입된 glue와 함께 `\parindent` 첫 번째 줄을 위한 공백:

![LaTeX에서 \leftskip glue 설정](/files/b5d26f23f262d29720d99cdf46b9971eba52ea8f)

참고로 `\leftskip` glue는 고정 크기(10pt)이지만 `\rightskip` glue는 각 줄의 오른쪽을 채우는 데 필요한 만큼의 공백을 제공하도록 늘어났습니다. 이 “유연성”은 다음의 명세 때문입니다 `\rightskip` 여기에는 `plus 1 fill`—무한히 늘어날 수 있는 형태의 glue를 제공합니다.

#### \rightskip를 고정하고 \leftskip를 유연하게 만들기

다음 예시는 첫 번째 단락에서 `\leftskip` 및 `\rightskip` 에 대한 LaTeX의 기본값을 사용하고, 두 번째 단락은 다음 설정으로 조판됩니다:

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

출력을 보려면 다음 Overleaf 프로젝트를 여세요:

```latex
\documentclass{article}
\title{leftskip and rightskip examples}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 일부 단락 관련 매개변수의 값을 설정
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 각각 단락의 텍스트를 포함합니다.
% \leftskip와 \rightskip의 기본값을 사용해 단락 조판

\mytextB

% \leftskip와 \rightskip를 새 값으로 설정
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% 이제 같은 단락을 다시 조판
\mytextB

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![LaTeX에서 \rightskip glue 설정](/files/99fb7927bb74ad05c4617c9a47cb9e394f6d27d1)

다음 그림은 위 예제에서 생성된 두 번째 단락의 주석 버전입니다. 이는 다음의 양을 강조하고 보여주도록 설계되었습니다 `\leftskip` 및 `\rightskip` 단락 줄에 삽입된 glue와 함께 `\parindent` 첫 번째 줄을 위한 공백:

![LaTeX에서 \rightskip glue 설정](/files/00f629e7a967c633b53fd5de1406d5acf138e84e)

참고로 `\rightskip` glue는 고정 크기(10pt)이지만 `\leftskip` glue는 각 줄의 왼쪽을 채우는 데 필요한 만큼의 공백을 제공하도록 늘어났습니다. 이 “유연성”은 다음의 명세 때문입니다 `\leftskip` 여기에는 `plus 1 fill`—무한히 늘어날 수 있는 형태의 glue를 제공합니다.

#### \leftskip와 \rightskip를 유연한 값으로 설정하기

다음 예시는 첫 번째 단락에서 `\leftskip` 및 `\rightskip` 그리고 두 번째는 다음과 같은 유연한 glue 설정을 사용합니다:

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

이 설정들은 단락 줄이 가운데 정렬되도록 만듭니다:

```latex
\documentclass{article}
\title{leftskip and rightskip examples}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% 일부 단락 관련 매개변수의 값을 설정
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 두 단락의 텍스트를 정의함
% \leftskip와 \rightskip의 기본값을 사용해 단락 조판

\mytextB

% \leftskip와 \rightskip를 “매우 유연한” glue 설정으로 설정
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% 이제 같은 단락을 다시 조판
\mytextB

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![\leftskip와 \rightskip를 보여 주는 예제](/files/ec5f49df48f08d4e34717044907fa198b9045e80)

다음 그림은 위 예제에서 생성된 두 번째 단락의 주석 버전입니다. 이는 다음의 양을 강조하고 보여주도록 설계되었습니다 `\leftskip` 및 `\rightskip` 단락 줄에 삽입된 glue와 함께 `\parindent` 첫 번째 줄을 위한 공백:

![\leftskip와 \rightskip를 보여 주는 예제](/files/25581c5a5b5684dd0d1b80ce6ed3064d028a36be)

둘 다 `\leftskip` 및 `\rightskip` 다음과 같이 지정되어 있다는 점에 유의하세요 `0pt plus 1fill` 동일하게 “무한히 유연”하게 만들어지므로, 결과적으로 같은 양만큼 늘어나 조판된 줄이 가운데에 배치됩니다.

#### 그룹에서 \leftskip와 \rightskip 설정하기

다음 예제는 `\leftskip` 및 `\rightskip` 에 대한 임시 변경을 만드는 방법을 보여줍니다 `\begingroup`... `\endgroup`을 그룹 안에 넣어 감싸는 방식으로. 이 예제에서 그룹은 다음에 의해 생성됩니다

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

첫 번째 단락은 `\leftskip` 및 `\rightskip`:

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

에 “매우 유연한” glue를 사용해 조판되지만

```latex
\documentclass{article}
\title{Another leftskip and rightskip example}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 일부 단락 관련 매개변수의 값을 설정
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 두 단락의 텍스트를 정의함
% 여기서 \leftskip와 \rightskip를 “매우 유연한” glue 설정으로 변경합니다
% \begingroup ... \endgroup로 생성된 그룹 안에서

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

% 이제 그룹이 닫힌 후 같은 단락을 다시 조판
% 이로 인해 \leftskip와 \rightskip가 이전 값으로 되돌아감

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![그룹에서 \leftskip와 \rightskip 사용하기](/files/24371357bba4a5c9970e8e1c80c22c779a3b7676)

**참고**: (효과에 대한) 설정은 `\leftskip` 및 `\rightskip` 에 의해 생성된 그룹 안의 단락으로 제한됩니다 `\begingroup`... `\endgroup`. 그룹이 닫힌 후, 다음 단락은 LaTeX의 기본값을 사용해 조판됩니다 `\leftskip` 및 `\rightskip`.

### \baselineskip (TeX 기본 명령)

일반적으로 단락 내 텍스트 줄은 동일한 간격을 유지해야 한다는 것이 조판 관행입니다. 다만 수학이나 이미지처럼 큰 요소를 포함한 일부 줄은 그러한 줄에 대해 일정한 줄 간격을 유지하는 것이 불가능합니다.

TeX/LaTeX는 사용자가 줄 간격을 어느 정도 제어할 수 있게 해 주는 명령과 메커니즘을 제공합니다. 그중 하나가 `\baselineskip` 조판된 단락에서 선호되는 줄 간격(기준선 간 거리)을 결정하는 매개변수의 값을 가져오거나 설정하는 명령입니다.

의 현재 값을 조판하려면 `\baselineskip` 다음과 같이 쓸 수 있습니다

```latex
\the\baselineskip
```

을 설정하려면 `\baselineskip` 를 어떤 `값으로 설정됩니다` (예: LaTeX 길이 단위인 `pt`)으로 설정하려면 다음과 같이 쓰면 됩니다

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

예를 들어, `\baselineskip` 을 `12pt` 다음과 같이 쓸 수 있습니다

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

우리는 `\baselineskip` 의 역할을 다음 (일반적인) 단락을 사용해 보여줄 수 있습니다:

![예시 LaTeX 단락](/files/7cb126546e21fd79254f0c8995e16db7b7a8219a)

에 주석을 추가하여 `\baselineskip`:

![기준선 간 거리를 보여 주도록 주석이 달린 예시 LaTeX 단락](/files/d3701e88f73dd29b740042a1603af104666fc8b5)

다이어그램은 또한 줄 간 “glue”를 보여줍니다: 줄 사이에 추가되는 계산된 양의 공백입니다—이 부분은 글의 뒤에서 더 논의하겠습니다.

#### \baselineskip와 다른 매개변수들

`\baselineskip` 는 단락의 줄 사이에 삽입되는 공백의 양을 제어하는 네 가지 핵심 매개변수 중 하나입니다. 나머지는:

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

나중에 이 글에서 [*이 네 매개변수가 어떻게 사용되는지 살펴보겠습니다*](#paragraph-structure-and-line-space-calculations) 줄 간 glue 값을 계산하는 데.

#### \baselineskip 예제(고정 간격)

다음 예제는 `text.tex` 파일이 포함된 프로젝트를 만들기 위해 Overleaf에서 열립니다 `\mytextA` 및 `\mytextB`—두 명령 모두 단락을 조판합니다. 편의상 Overleaf 프로젝트는 작은 페이지 크기를 사용하므로 이 도움말 페이지의 그래픽과 이미지를 준비하는 데 도움이 됩니다.

```latex
\documentclass{article}
\title{Demonstrating baselineskip}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 일부 단락 관련 매개변수의 값을 설정합니다(이것들은 나중에 설명하겠습니다)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% \baselineskip의 값을 설정—효과를 보려면 값을 변경하세요
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 각각 단락을 조판함

% 먼저, 기본 \baselineskip으로 두 단락을 조판
\mytextA\mytextB

% 이제 \baselineskip를 더 큰 값으로 바꾸고 조판
% 또 다른 단락
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![TeX 또는 LaTeX에서 baselineskip 살펴보기](/files/cfd2fe51e2209cf026b1e1b0f421fc18d315e53c)

2페이지의 단락은 줄 간격이 넓은데, 이는 `\baselineskip` 가 24pt로 설정되었기 때문입니다.

#### \baselineskip 예제(유연한 간격)

다음 예제는 `\baselineskip` 값을 지정합니다

```latex
매우 유연한(소위 “무한”한) 늘림 성분을 가진:
```

\baselineskip=12pt plus1fil

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

\begin{document}

\maketitle
우리는 \verb|\baselineskip|에 매우 유연한 “늘림” 성분을 \texttt{12pt plus1fil} 값으로 할당해 제공할 것입니다: \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Introduction}
페이지를 채우도록 이제 늘어날 단락을 추가합니다. \blindtext

\end{document}
```

&#x20;[이 예제를 Overleaf에서 열기](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Flexible+baselineskip+demo\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Ctitle%7BFlexible+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+demo%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BJanuary+2022%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cmaketitle%0AWe%E2%80%99ll+provide+%5Cverb%7C%5Cbaselineskip%7C+with+a+very+flexible+%60%60stretch%27%27+component+by+assigning+the+value+%5Ctexttt%7B12pt+plus1fil%7D%3A+%5Cverb%7C%5Cbaselineskip%3D12pt+plus1fil%7C.%5Cbaselineskip%3D12pt+plus1fil+%0A%5Csection%7BIntroduction%7D%0AAdd+a+paragraph+that+will+now+stretch+to+fill+the+page.+%5Cblindtext%0A%0A%5Cend%7Bdocument%7D)

이 예제는 다음 출력을 생성합니다:

![무한한 유연성을 가진 baselineskip 글루를 보여 주기](/files/2d530f99bf030a9067aad909fb34511868cb167b)

**글루에 대한 몇 가지 메모**

다음 메모들 중 일부는 Overleaf 기사에서 가져왔습니다 [underfull 또는 overfull 박스와 badness 계산 살펴보기](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), 편의를 위해 여기에 재현했습니다.

TeX가 단락의 줄 사이에 삽입하는 공백은 `\baselineskip`, ‘라고 하는 유연한 간격의 한 형태입니다 *glue*. 글루 값은 세 가지 구성 요소로 지정할 수 있습니다:

* 하나의 *고정된* 양;
* 그것이 할 수 있는 양 *늘어남*;
* 그것이 할 수 있는 양 *축소*,

따라서, `\baselineskip` 값은 다음과 같이 지정할 수 있습니다:

`\baselineskip`=*고정된 양* **와** *늘릴 양* **마이너스** *줄일 양*

여기서

* **와** 및 **마이너스** 는 TeX 엔진이 이해하는 키워드입니다;
* *고정된 양* 라고 불립니다 *기본 구성 요소* 글루의 (라고도 하는 *자연 너비* 글루의);
* *늘릴 양* 라고 불립니다 *늘어남 구성 요소* 글루의;
* *줄일 양* 라고 불립니다 *축소 구성 요소* 글루의.

다음 *고정된 양* 는 모든 글루 값에 필요하지만 *늘릴 양* 및 *줄일 양* 둘 다 선택 사항입니다. 둘 중 하나 또는 둘 다 없으면 값이 0으로 설정됩니다.

보통, `\baselineskip` 글루가 *고정된 양* 만으로 지정되면, 늘어남 및 축소 구성 요소는 0입니다. 그렇지 않으면 단락 줄의 간격이 불규칙한(가변적인) 간격이 되어 미적으로 좋지 않을 수 있습니다.

### \offinterlineskip 및 \nointerlineskip(매크로)

이 매크로들은 단락의 줄 사이에 interline glue가 삽입되는 것을 방지하는 데 자주 사용됩니다. 더 자세한 내용에 관심 있는 독자는 이 매크로들이 어떻게 작동하는지 설명하는 관련 기사 섹션으로 바로 이동할 수 있습니다.

* **`\offinterlineskip`**: 기사 섹션을 참조하세요 [*크기가 0인 줄 사이 글루: \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`**: 기사 섹션을 참조하세요 [*줄 사이 글루 방지: \prevdepth와 \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## 문단 구조와 줄 간격 계산

LuaTeX의 기능을 사용하면 [조판된 단락을 후처리하여](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) 그것을 구성하는 개별 문자(글리프), 줄, 그리고 글루의 경계를 시각화할 수 있습니다. 단락에 포함된 텍스트를 조판하기 위해 TeX 엔진이 사용하는 “boxes and glue” 모델을 시각화하는 데 도움이 되도록, 먼저 짧은 일련의 그래픽으로 시작하겠습니다.

### 단락 구조

TeX가 단락을 조판할 때 개별 문자를 각각 고유한 너비, 높이, 깊이를 가진 작은 박스로 취급하며, 이러한 문자 박스의 너비는 줄바꿈의 최적 위치를 계산하는 데 사용됩니다. 또한 텍스트 안에 포함되어 단어를 구분하는 공백 문자는 유연한 공백(글루) 형태로 변환되어 각 줄바꿈을 이루는 데 필요한 간격을 제공합니다.

다음 7개의 그래픽은 조판된 단락의 핵심 구성 요소, 즉 다양한 종류의 박스와 글루를 보여 줍니다. 첫 번째 그래픽은 조판된 단락과 함께 단락 안의 여러 요소를 강조하는 주석 버전을 보여 줍니다. 그러나 주석이 달린 단락에는 정보가 많기 때문에, 이후의 그래픽들은 다양한 구성 요소를 분리하여(바라건대) 더 이해하기 쉽게 만듭니다.

![Paragraphanatomy1b.png](/files/704d728cf22adf29d5318418488db00c19bc86b7)

* 다음 그래픽은 단락 줄을 회색 박스로 나타내고, 그 사이의 글루는 가로 방향의 녹색 띠로 표시합니다. 이 글루는 기준선 간 거리가 (즉, 그 값이) `\baselineskip`:

![Paragraphanatomy2b.png](/files/68555c18d00886065e155d0edaef667216e18cab)

* 다음 이미지는 조판된 문자를 박스로 나타냅니다. 줄바꿈을 만들기 위해 TeX 엔진이 문자를 처리하는 방식을 시각화하면 다음과 같습니다:

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

* 다음 이미지는 박스 안의 박스를 보여 줍니다. 더 큰 단락 줄(박스) 안에 더 작은 박스(개별 문자)가 들어 있습니다:

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

* 다음 이미지는 각 줄의 단어 사이 간격의 양을 보여 줍니다. 이러한 단어 사이 공백은 공백 문자를 늘어나거나 줄어들 수 있는 유연한 글루로 변환하여 각 텍스트 줄의 올바른 길이를 만들면서 생성됩니다. 이러한 공백의 크기는 줄마다 다르다는 점에 유의하세요:

![Paragraphanatomy4.png](/files/cdee0188c5b9f2cd5e672e86f6cf4fa012f28a92)

* 다음 이미지는 문자 박스와 개별 단어 사이에 놓인 해당 글루(공백)를 결합합니다:

![Paragraphanatomy6.png](/files/877c74a4f836878cb66a1cc2d057363c3e9dcb5e)

### 다른 유형의 단락 glue 시각화

다음 단락들도 LuaTeX를 사용해 조판 및 처리하여, 한 쌍의 단락 안과 단락 사이에 있는 다른 종류의 글루를 보여 주었습니다. 다음을 유의하세요: `\rightskip` 및 `\leftskip` 둘 다 0pt로 설정되어 있으므로 표시되지 않습니다:

* **`\parskip`** 두 조판된 단락 사이에 배치된 글루(연한 파란색);
* 개별 단어는 ***단어 사이 글루*** (노란색)은 입력의 공백 문자를 조판 출력에서 크기가 가변적인 흰 공백(글루)으로 변환하여 만들어집니다. 단어 사이 공백에서 생기는 글루는 보기 좋은 줄바꿈을 위해 늘어나거나 줄어듭니다;
* **`\baselineskip`** 줄 사이에 배치된 글루(연한 초록색) — 정확한 양은 `\baselineskip` 글루는 아래에서 설명하는 메커니즘을 사용해 계산됩니다;
* **`\lineskip`** 두 번째 단락에서 사용되는 글루(빨간색) — 끝에서 두 번째 줄에 들어 있는 낮은 박스 때문에;
* **`\parfillskip`** 각 단락의 마지막 줄 끝에 배치된 글루(진한 초록색).

![](/files/03d7f53d40f780b03a5d5a47caf4b050b11becd8)

### 더 깊은(또는 더 높은) 줄(박스) 다루기

앞선 [이전 섹션](#paragraph-structure), 조판된 단락은 TeX가 “glue”라고 부르는 흰 공백으로 구분된 “박스”의 세로 스택입니다. 단락이 처리되고 개별 줄(박스)이 쌓이면서 세로 목록(스택)은 *아래쪽* 방향으로, 페이지 아래쪽을 향해 자랍니다. TeX/LaTeX는 단락 줄의 기준선 사이가 일정한 거리 `\baselineskip`로 쌓이도록 하려고 하지만, 어떤 줄은 평소보다 더 큰 높이 또는 깊이를 가질 수 있으므로 항상 그렇게 할 수는 없습니다.

각 단락 줄의 높이와 깊이는 해당 줄의 내용이 기준선 위아래로 뻗는 최대 거리에 의해 결정됩니다. 따라서 인라인 수식이나 그래픽처럼 상대적으로 큰 높이 또는 깊이를 가진 내용을 포함하는 단락은 그에 상응하게 큰 높이 및/또는 깊이를 가진 개별 줄을 만들 가능성이 높습니다. 이러한 줄의 경우, TeX/LaTeX는 해당 기준선이 다른 줄과 `\baselineskip` 거리만큼 떨어지도록 쌓지 못할 수 있습니다. 분명히 TeX/LaTeX는 이러한 줄을 처리하기 위한 “대체 메커니즘”이 필요하며, *계산하여* 큰 높이 및/또는 깊이에 영향을 받는 각 줄 쌍 사이에 삽입할 적절한 간격의 양을 구합니다.

#### \lineskip 및 \lineskiplimit(TeX 원시 명령)

그 대체 메커니즘은 매개변수 명령 `\lineskip` 및 `\lineskiplimit` 과, 다음으로 불리는 세 번째 매개변수를 함께 사용합니다 `\prevdepth`. 더 자세한 내용에 관심 있는 독자는 기사 섹션으로 바로 이동할 수 있습니다 [*단락 줄 사이의 공간(글루)이 계산되는 방식*](#how-the-space-glue-between-paragraph-lines-is-calculated).

아래 예제 프로젝트는 이동된 텍스트 박스(때문에 마지막 줄의 깊이가 상대적으로 큰 단일 단락을 조판합니다(`\hbox`). 이 단락은 다음 설정으로 조판됩니다:

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

Overleaf 프로젝트를 열려면 다음 코드 아래의 링크를 사용하세요:

```latex
\documentclass{article}
% 편리하게 작은 페이지 크기를 사용
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% 몇 가지 중요한 매개변수 설정
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% \testpar을 정의하는 입력 파일
\input testpar.tex
\title{lineskip용 예제 단락}
\begin{document}
\testpar % Overleaf 프로젝트에서 만든 매크로
\end{document}
```

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

이 예제는 다음 출력을 생성합니다:

![\lineskip 글루를 보여 주는 예제](/files/b441273bcc2eaad997eaf20a88a5043c8cd3696c)

다음 그래픽은 앞선 Overleaf 프로젝트에서 생성된 단락의 주석 버전을 사용합니다. 여기서는 마지막 단락 줄에 초점을 맞추기 위해 확대하여, 다음의 사용을 보여 줍니다 `\lineskip` 이동된 텍스트 박스의 깊이로 인해 생긴 글루(빨간색으로 표시됨):

![TeX \lineskip 글루를 보여 주는 이미지](/files/8515c5b4ab51f61583606e19007572c1d4700d77)

단락 텍스트의 마지막 줄은 평소보다 더 큰 깊이를 가져, TeX가 값으로 지정된 일정한 기준선 간 거리를 유지하지 못하게 합니다 `\baselineskip` (12pt). 그래픽 오른쪽의 화살표가 보여 주듯이, TeX/LaTeX는 줄 쌍 사이에 고정된 거리(12pt), 즉 `\baselineskip`. 그러나 마지막 줄 쌍에서는 TeX가 12pt보다 큰 거리로 분리했으며, 다음 값을 사용합니다 `\lineskip` 줄 사이 글루에는 계산된 값 대신 `\baselineskip`.

다음 섹션에서는 TeX의 줄 사이 글루 값 계산의 세부 사항을 살펴보고 설명합니다.

### 단락 줄 사이의 공간(글루)이 계산되는 방식

현재로서는 *아주 간단히* TeX의 페이지 구성 과정을 매우 단순화된 방식으로 간략히 언급하겠습니다! TeX가 하이픈 처리와 줄바꿈 결정을 마쳐 단락 조판을 끝내면, 그 단락 데이터가 임시 메모리 위치에 저장되어 있다고 생각할 수 있습니다. 그런 다음 TeX는 그 단락 데이터를 줄 단위로 현재 출력 페이지에 들어갈 내용을 저장하는 새 메모리 위치로 옮겨야 합니다.

TeX가 단락 데이터를 줄 단위로 옮길 때, 그것은 사실상 줄(TeX 박스)의 세로 스택을 만드는 것이며, 이는 *아래쪽* 페이지 아래쪽으로 자랍니다. TeX는 단락 줄을 현재 페이지로 옮기면서 그 줄들이 동일하게 간격을 두고, 값과 같은 일정한 세로(기준선 간) 간격을 갖도록 하려 합니다 `\baselineskip`. 새 줄이 현재 페이지로 옮겨질 때 TeX 엔진은 일시적으로 그 줄의 *깊이* 를 기록합니다. 이는 그 줄과 그 뒤에 놓일 줄 사이의 줄 사이 글루(흰 공백) 양을 계산하는 데 사용되기 때문입니다.

#### 글루 크기 계산

먼저 TeX 엔진이 제공하는 줄 간격 기능을 요약해 봅시다:

* 기준선 사이의 거리를 일정하게 유지하며, 그 거리는 `\baselineskip`;
* 상대적으로 큰 높이나 깊이를 가진 줄에 간격을 제공합니다;
* 줄 사이 글루 삽입을 끌 수 있는 기능 — 자동으로 또는 사용자 제어에 의해. 예를 들면:
  * TeX 엔진은 세로 모드에서 rule 뒤의 줄 사이 글루 삽입을 자동으로 비활성화합니다;
  * 매크로 `\offinterlineskip` 및 `\nointerlineskip` 는 사용자가 줄 사이 글루 삽입을 일시적으로 끌 수 있게 합니다. 아래에서 보겠지만, 이 매크로들은 서로 다른 효과를 가집니다.

줄 사이 글루를 추가할지, 그리고 추가한다면 어떤 종류를 얼마나 넣을지에 대한 결정은 다음과 같습니다:

* 줄 사이 글루를 추가해야 할까요? TeX는 다음을 검사하여 이를 결정합니다 *추가된 마지막 줄의 깊이* 가 목록에 있는 값이 특수 값보다 작은지 `–1000pt` (포인트). 다음을 유의하세요 `–1000pt` 는 TeX 엔진 내부에서 사용되는 임의의 “센티널” 값입니다.
  * **참고**: TeX가 내부적으로 기록하는 “추가된 마지막 줄의 깊이” 값은 “이전 깊이”라고도 합니다. TeX 엔진은 매개변수 명령 `\prevdepth`—이는 특정 상황에서 *(여기서는 조판하려면) 현재 값을* 또는 *set* “이전 깊이” 값을 `\nointerlineskip` 사용합니다 `\prevdepth`.
* TeX는 다음을 검사합니다 `이전 줄의 깊이가 –1000pt보다 큰지`?
  * ***예, 그렇습니다*** (글루를 추가해야 합니다):
    * Δ 값을 계산합니다. 여기서 Δ = \baselineskip – (이전 줄의 깊이) – (다음 줄의 높이)
    * Δ를 다음 값과 비교합니다 `\lineskiplimit`, 즉 위쪽 줄의 아래와 아래쪽 줄의 위 사이의 거리로 측정한, 두 줄 사이의 허용 가능한 최소 거리를 정의하는 데 사용되는 매개변수입니다.
    * 만약 Δ < `\lineskiplimit`:
      * 이면 줄이 너무 가까우므로, 허용 가능한 최소 간격인 `\lineskip`
    * 만약 Δ >=  `\lineskiplimit`:
      * 이면 줄이 너무 가깝지 않으므로, 삽입할 글루의 양으로 Δ를 사용합니다
  * ***아니요, 그렇지 않습니다*** (글루를 추가하지 않음):
    * 어떤 글루도 삽입하지 않고 다음 줄(박스)을 추가합니다

다음 그래픽은 줄 사이 글루 과정을 요약합니다:

![TeX가 줄 사이 글루 값을 결정하는 방식](/files/f697544dd7f5e96333112d9e3fb194b67304f9ed)

### 줄 사이 글루 계산 예시

다음 예제에서는 TeX/LaTeX가 아래의 명령 매개변수 값을 사용한다고 가정합니다:

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

이 단락의 처음 두 줄에 대한 줄 사이 글루 계산을 살펴보겠습니다:

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

다음 이미지에서 TeX 엔진은 첫 번째 단락 줄을 처리하여 자신이 만들고 있는 세로 목록으로 옮겼습니다. 엔진은 그 줄의 깊이(`d<sub>1</sub>`) 이는 `2.1528` (포인트)입니다:

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

다음으로 TeX는 자신이 만드는 목록에 두 번째 줄을 추가할 준비가 되어 있습니다. 그 줄의 높이는(`h<sub>2</sub>`) 이는 `6.9444` (포인트)이며, 덧붙여 깊이 `d<sub>2</sub>` 의 `0` (포인트)입니다:

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

이 시점에서 TeX는 간격(글루, `g<sub>1</sub>`)의 양을 계산하여 이 두 줄 사이에 삽입해야 합니다:

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

다음 이미지는 이 줄 쌍에 대한 글루 계산을 보여 줍니다:

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

마지막 이미지는 계산된 양의 줄 사이 글루가 두 줄 사이에 놓인 채 현재 페이지로 옮겨진 두 줄을 보여 줍니다:

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

### 또 다른 매개변수: \prevdepth

앞서 언급했듯이, TeX가 박스의 세로 스택(목록)을 만들 때 그 목록에 추가된 마지막 박스의 깊이를 저장합니다. 그 저장된 깊이 값은 “이전 깊이”라고 하며, 매개변수 명령 `\prevdepth`.

다음 `\prevdepth` 명령으로 사용할 수 있습니다 ***만*** TeX가 세로 모드에 있을 때, 즉 단락 사이 또는 세로 박스 안에서: `\vbox`, `\vtop` 또는 `\vcenter` (참고: `\vcenter` 박스는 수학 모드에서만 사용할 수 있습니다).

`\prevdepth` 는 “이전 깊이” 값에 대한 읽기 및 쓰기 접근을 제공합니다:

* 현재 값을 읽으려면 `\prevdepth` 다음을 쓸 수 있습니다:

```latex
\the\prevdepth
```

* 현재 값을 설정하려면 `\prevdepth` 을 `어떤 값`, 포인트, mm 등의 길이값을 쓰려면 다음과 같이 작성할 수 있습니다:

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

If you try to use \verb`\prevdepth` 그것이 설계되지 않은 상황, 예를 들어 단락 안이나 `\hbox` 안에서 사용하면 오류가 발생합니다

```latex
부적절한 \prevdepth.
```

추가 정보로, 세로 모드에서만 사용할 수 있다고 알려 줍니다.

#### 줄 사이 글루 방지: \prevdepth와 \nointerlineskip

의 한 가지 용도는 `\prevdepth` 입니다 *방지하는 것입니다* TeX가 단락의 줄처럼 세로 목록의 항목 사이에 줄 사이 글루를 추가하는 데 사용되는 기준선 계산을 수행하는 것을 `\prevdepth` 를 나타내는 데 `이전 줄의 깊이` 를 사용하면 위에서 그림된 글루 계산을 다음과 같이 다시 쓸 수 있습니다:

```latex
if(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (현재 줄의 높이)

     if(Δ < \lineskiplimit)
       줄 사이 글루 = \lineskip
     그렇지 않으면
       줄 사이 글루 = Δ
}
그렇지 않으면
{
     박스를 추가하지 않고 쌓습니다
     어떤 줄 사이 글루도
}
```

내부적으로 TeX 엔진은 이른바 “센티널” 값을 인식합니다 `\prevdepth` 이는 줄 사이 글루의 계산 및 추가를 비활성화하는 데 사용할 수 있습니다. 그 센티널 값은 `–1000pt`, 위의 의사 코드 첫 줄에서 볼 수 있습니다:

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

TeX는 다음이 아니면 줄 사이 글루를 추가하지 않습니다 `\prevdepth` 가 다음보다 크다 `–1000pt`— 이는 다음에서 사용하는 메커니즘을 제공합니다 `\nointerlineskip` 매크로가 세로 목록의 다음 박스 쌍 사이에 기준선 글루가 추가되는 것을 막는 데 사용됩니다.

`\nointerlineskip` 는 다음과 동등한 정의를 가집니다:

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

참고로 `\nointerlineskip` 은 *일회성 비활성화* 를 제공합니다. 왜냐하면 `\prevdepth` 새 박스가 현재 세로 목록에 추가될 때마다 값이 계속 갱신되기 때문입니다. 다음 예제가 이를 보여 줍니다:

```latex
\noindent 다음 \verb|\hbox|들은 \TeX{}가 이른바 \textit{outer vertical mode}에 있을 때 처리됩니다. 처리(조판) 후, 이 박스들은 현재 페이지에 추가되고 그 사이에 줄 사이 글루가 삽입된 채 세로로 쌓입니다:

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

이제 박스 \verb|\hbox{j}| 바로 다음에 \verb|\prevdepth|를 \texttt{-1000pt}로 설정하면, 박스 \verb|\hbox{j}|와 \verb|\hbox{p}| 사이에 줄 사이 글루가 배치되는 것을 막습니다:

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

줄 사이 글루가 \verb|\hbox{p}|와 \verb|\hbox{g}| 사이에 \textit{실제로} 배치된다는 점을 주목하세요. 이는 \verb|\hbox{p}|가 처리되어 목록에 추가된 뒤 \verb|\prevdepth| 값이 갱신되어 \verb|\prevdepth| 값이 \verb|\hbox{p}| 박스의 깊이가 되기 때문입니다. \verb|\hbox{g}|가 세로 목록에 추가될 때 \verb|\prevdepth| 값은 더 이상 \texttt{-1000pt}가 아니므로, 이제 줄 사이 글루를 추가할 수 있습니다.
```

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

이 예제는 다음 출력을 생성합니다:

![TeX의 매개변수 \prevdepth를 보여 주는 예제](/files/fa12c999fa92c7aa71621d853b8a7a6562d7683b)

#### 크기가 0인 줄 사이 글루: \offinterlineskip

매크로 명령을 통해 모든 줄 간격을 제거할 수 있습니다 `\nointerlineskip`, 이는 다음과 동등한 정의를 가집니다:

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

참고로 `\maxdimen` 는 `16383.99998pt`, TeX가 사용할 수 있는 최대 길이입니다.

다음 그래픽은 핵심 줄 사이 글루 계산과 매크로 `\nointerlineskip`:

![offinterlineskip](/files/203f3a12987996361efce7f3c50be04da0e8baf1)

다음 그래픽은 다음을 대입한 결과로 얻어지는 의사 코드 조각을 보여 줍니다 `\nointerlineskip` 매크로 값을 글루 계산에 넣은 것입니다. 이는 `\nointerlineskip` 매크로가 다음 값들을 설정하여 작동하는 방식을 보여 줍니다 `\baselineskip` 및 `\lineskiplimit` 그렇게 함으로써 줄 사이 글루는 항상 `\lineskip` 글루가 `0pt`.

![offinterlineskip](/files/0d3f6a8f6fd33101bad7cfafe0488ab64b65d5bf)

#### \offinterlineskip와 0이 아닌 \lineskip

다음 `\nointerlineskip` 매크로는 `\lineskip` 를 0으로 설정하지만, 다음 Overleaf 프로젝트가 보여 주듯이 `\nointerlineskip` 0이 아닌 값의 `\lineskip` 와 결합하여 줄 간격 효과를 낼 수 있습니다.

```latex
\documentclass{article}
\title{0이 아닌 lineskip 보여 주기}
% 편의상 작은 페이지 크기를 선택
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % 이는 \lineskip을 0pt로 설정합니다

\setlength{\lineskip}{5pt} % 우리는 0이 아닌 \lineskip을 원합니다

\input text.tex % 단락의 텍스트를 정의하는 생성된 TeX 파일
% \mytextA와 \mytextB, 각각은 단락을 조판합니다

\mytextA % 단락을 조판

% 이제 \lineskip을 유연한 글루 값으로 바꾸고 조판합니다
% 또 다른 단락

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

\mytextA

\end{document}
```

&#x20;이 예제를 Overleaf LaTeX 프로젝트로 열기

이 예제는 다음 출력을 생성합니다:

![LaTeX의 \offinterlineskip 매크로 보여 주기](/files/fd94223186a2e75bff901b6b5ab300c79dbd56e8)

사용의 효과를 국한시킬 수 있습니다 `\offinterlineskip` 및 `\lineskip` (및 기타 간격 명령)들을 그룹으로 감싸서:

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...여기에 단락(들)을 넣으세요

\endgroup
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ko/formatting/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.
