> 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/in-depth-articles/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md).

# 상자와 글루: LuaTeX를 이용한 짧지만 시각적인 소개

## 향후 글들을 위한 소개

이 글은 다음을 사용한 조판에 관련된 몇 가지 핵심 개념/모델에 대한 간단한 소개입니다 $$\mathrm \TeX$$: 박스와 글루—훨씬 더 자세히 다룰 향후 글들을 위한 “장면 설정”입니다. 앞으로 나올 글에서는 다음의 저수준 동작을 살펴볼 것입니다 $$\mathrm \TeX$$ 박스를 사용하여 $$\mathrm{Lua}\mathrm\TeX$$ 다음 예시와 같은 다이어그램(노드 그래프)을 생성합니다:

![박스의 노드 그래프](/files/9c94cc7497012dd29bc1324510ff1e685c8f0544)

이 노드 그래프는 다음으로부터 생성됩니다 `\hbox{...}` 다음과 같은 것으로 만들어진 $$\mathrm \TeX$$ 코드:

```latex

\hbox to100pt{A\hskip4pt plus3pt minus 2pt B%
\hskip 0pt plus 2fil C\hskip 0pt plus 2fill D\hskip 0pt plus 3fill}
```

다음과 같이 보입니다(바운딩 사각형으로 그린 것):

![예시 \hbox](/files/0193a5815db27210f02612561d92b1f379740ddc)

이 노드 그래프들은 다음의 깊은 내부 구조를 보여줍니다 $$\mathrm \TeX$$ 박스—즉, 내부에 저장되는 방식을 반영한 것입니다 $$\mathrm \TeX$$ 그리고 다음과 같은 박스 생성 명령의 동작을 더 잘 이해하는 데 도움이 되는 매우 유용한 그래픽 설명을 제공합니다 `\hbox{...}` 또는 `\vbox{...}`.

## 기본으로 돌아가서...

초보자나 가벼운 사용자라도 $$\mathrm \LaTeX$$ 곧바로 다음 개념을 접하게 됩니다 $$\mathrm \TeX$$ “박스” 또는 다음 사실을 $$\mathrm \TeX$$ 핵심 조판 작업에 “박스와 글루” 모델을 사용한다는 사실입니다. 다음의 조판 알고리즘은 $$\mathrm \TeX$$ 대부분의 시간을 박스의 수평 및 수직 목록을 만들고 쌓는 데 씁니다. 예를 들어, $$\mathrm \TeX$$ 문단 텍스트를 조판하여 여러 줄로 나눌 때, 문단의 텍스트를 박스들의 흐름 또는 순서로 간주하고, 그 문자 박스(사실은 글리프)의 너비, 높이, 깊이를 사용하여 가장 좋은 줄바꿈을 찾은 다음, 조판된 텍스트 줄 사이에 세로 간격을 추가합니다(그 글루를 `\baselineskip`). 문단의 각 조판된 줄 자체도 다른 박스(예: 문자들)를 담고 있는 박스이며, 조판된 문단 줄(박스)들은 세로로 쌓여 문단을 이룹니다. 결국 가장 큰 박스인 조판된 페이지가 만들어집니다. 물론 이것은 매우 단순화한 그림입니다. 박스들을 이동하고 배치할 수 있는 기능도 필요하기 때문입니다 $$\mathrm \TeX$$ 이는 이른바 *glue*: “유연한 간격”의 한 형태입니다. Knuth는 (The의 70페이지에서) 이렇게 언급했습니다 $$\mathrm \TeX \mathrm{book}$$) “glue”는 아마 “spring”이라고 불렸어야 했을 것이지만, 초기부터 glue라는 용어가 채택되었고, Knuth의 말장난을 빌리자면 결국 그대로 붙어 있었습니다.

## 다음을 사용하여 조판된 문단을 시각화하기 $$\mathrm{Lua}\mathrm\TeX$$

사용하기 $$\mathrm{Lua}\mathrm\TeX$$, 조판된 문단을 처리하여 그것을 조판하는 데 사용된 구성 요소, 즉 문자 박스와 단어 사이의 간격을 두는 데 사용되는 유연한 글루를 표시할 수 있습니다. 우리는 간단한 [$$\mathrm{Lua}\mathrm\TeX$$ (일반 $$\mathrm \TeX$$) 프로젝트](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) 를 만들어 이를 보여줍니다:

[![Screenshot of Overleaf](/files/ccced03104dec3ee10ce5d3c7b8e034d6256f1e1)](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj)

이 프로젝트의 코드는 이 글을 설명하기 위해 작성되었으며, 문단 “파서”의 완전한 구현은 아닙니다—여러 $$\mathrm{Lua}\mathrm \TeX$$ 노드 유형을 무시하며, 이 글에서 다루는 아이디어를 보여주기 위한 목적으로만 설계되었습니다.

![박스와 글루](/files/086aabcc0f0fab1274e30515b731f20c5e9ec95e)

아래의 확대 이미지 구역에서는 각 문단 줄이 회색 띠로 음영 처리된 것을 볼 수 있습니다—줄 사이에 흰 공간이 있음을 주목하세요: 이는 세로 글루로, $$\mathrm \TeX$$ 문단을 만들기 위해 줄들을 쌓아 올릴 때 삽입됩니다. 조판된 문단의 줄 사이에 삽입되는 세로 글루에 대해 더 알고 싶다면, Google에서 다음을 다루는 글들을 찾아보세요 `\baselineskip` 및 `\lineskiplimit`.

![박스와 글루를 보여주는 구문 분석된 문단](/files/fa4b2547a1788d0df55cc5f235ad8da7c54bb03f)

언제 $$\mathrm \TeX$$ 문단을 읽어 조판할 때, 단어 사이 공백 문자를 사용 중인 글꼴의 속성인 정확한 값의 글루 덩어리로 변환합니다. 조판 과정에서 이러한 단어 사이 글루는 보기 좋은 줄바꿈을 이루기 위해 필요하다고 판단되는 만큼 늘어나거나 줄어듭니다. 위 이미지에서 다음을 주의해 보세요:

* 회색 띠는 조판된 문단의 각 줄 경계를 나타냅니다;
* 각 문자는 그 치수를 정의하는 박스 안에 표시됩니다( $$\mathrm \TeX$$ 가 보듯이);
* 노란 박스는 다음이 넣은 글루를 보여줍니다 $$\mathrm \TeX$$ 보기 좋은 줄바꿈을 이루기 위해 단어 사이에 삽입한 것입니다. 다음을 살펴보세요:
* 단어 사이 글루의 너비는 줄마다 달라지는데, 이는 $$\mathrm \TeX$$ 각 줄바꿈을 이루기 위해 그것을 늘리거나 줄이기 때문입니다;
* 세 번째 줄에서는 마침표 뒤의 글루가 같은 줄의 다른 글루보다 더 넓습니다.
* 빨간 박스는 명시적인 `\hbox{...}` 가 사용된 위치를 보여줍니다. 다음의 정의는 `\TeX` 명령은 E를 다음 안에 넣습니다 `\hbox{...}` 그래서 그것을 아래로 내려 다음을 만들 수 있게 합니다 $$\mathrm \TeX$$ 로고.

예시 문단의 끝에는 다음이라 불리는 긴 글루 띠가 있습니다 `\parfillskip`: 이는 다음에 의해 삽입됩니다 $$\mathrm \TeX$$ 엔진이 마지막 줄의 공간을 채우기 위해 ![parfillskip glue](/files/f139c464dbf67d5d65b3d777596d0ff47206a21d)

### 다음 글에서 만나요

이 글이 다음에서 사용되는 박스와 글루의 원리에 대한 유용한 소개가 되었기를 바랍니다 $$\mathrm \TeX$$. 다음 글에서는 $$\mathrm{Lua}\mathrm\TeX$$ 를 사용해 다음의 내용을 훨씬 더 깊이 파고들 예정입니다 $$\mathrm \TeX$$ 박스—이 글의 시작 부분에 나온 예시와 같은 노드 그래프를 사용하여.


---

# 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/in-depth-articles/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.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.
