> 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/knowledge-base/138-understanding-underfull-and-overfull-box-warnings.md).

# underfull 및 overfull 박스 경고 이해하기

## 소개

LaTeX 문서를 조판한 후 Overleaf는 종종 부족하거나 과도하게 채워진 상자를 보고하는 메시지를 표시합니다 `\\hbox` (또는 `\\vbox`), 그리고 이른바 `불량도` 부족한 상자에 대한 불량도 값이나 상자가 과도하게 채워진 정도를 나타내는 값을 함께 제공합니다. 우선, 이 메시지들이 오류가 아니라는 점이 중요합니다—[자세한 내용은 아래를 참조하세요](#overfull-or-underfull-boxes-are-not-errors). 이들은 *경고* 또는 더 정확하게는, LaTeX 문서를 조판하는 데 사용되는 TeX 엔진 내부에서 생성되는 “진단 메시지”입니다.

이 도움말 글에서는 이러한 메시지의 출처와 원인에 대한 입문 배경을 설명하고 몇 가지 흔한 문제와 제안된 해결책을 소개합니다. 더 자세한 내용을 원하는 독자를 위해 Overleaf 갤러리에 다음 글도 게시했습니다: [부족하거나 과도하게 채워진 상자와 불량도 계산 살펴보기](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). 추가 자료 목록도 [이 문서의 끝부분에서](#further-reading).

## 내 프로젝트에 과도하게 채워지거나 부족한 경고가 있나요?

프로젝트에 이러한 경고가 보고되는지 확인하려면 아래 스크린샷에 표시된 아이콘을 클릭해야 합니다. 문서는 오류 없이 컴파일되었더라도 이러한 메시지는 매우 흔히 보이며, TeX/LaTeX를 처음 접하는 사람이라면 그 의미와 이를 걱정해야 하는지 궁금해할 수 있습니다.

![Overleaf가 부족하거나 과도하게 채워진 상자를 보고하는 화면 이미지](/files/b7184cd9802b19b20965cd703d73d76f9d7f2a15)

문서를 조판할 때 LaTeX는 콘텐츠의 일부를 주어진 “크기”의 경계 안에 맞추려고 합니다. 예를 들어 문단을 조판하고 줄을 특정 길이로 나눌 때—가장 쉽게 보여 주는 방법은 다음과 같은 명령을 사용하는 것입니다 `\\parbox`. 만약 다음 문단을 50pt의 줄 너비로 조판하려고 하면:

```latex
\\parbox{50pt}{Some text typeset using a \\texttt{\\string\\parbox}}
```

Overleaf는 두 가지 `Underfull \\hbox...` 경고를 보고합니다:

![Overleaf가 부족한 상자를 보고하는 화면 이미지](/files/57edfc8c9cc0174513827b458fba0919297b191e)

이러한 `Underfull \\hbox...` 이러한 경고는 TeX 엔진이 이 \\\parbox의 제한 안에서 “보기 좋은” 줄바꿈을 만들 수 없기 때문에 발생합니다. TeX 엔진에서는 조판된 문단의 각 줄이 \\\hbox가 되며, 엔진은 이후 이를 검사하고 보고하여, TeX 엔진이 “바람직하지 않다”고 분류한 조판 텍스트의 줄에 대해 경고를 생성할 수 있습니다.

다음 이미지에서 볼 수 있듯이, 텍스트 줄들 사이의 간격이 매우 넓어지고 TeX의 `Underfull \\hbox...` . 추가 자료 목록도

![parbox를 보여 주는 화면 이미지](/files/ad4828d0cbf121e9ef8cf077386ee38f13719efe)

참고로, 이 예에서는 \\\raggedright를 사용하면 이러한 경고를 피할 수 있습니다:

```latex
\\parbox{50pt}{\\raggedright Some text typeset using a \\texttt{\\string\\parbox}}
```

![parbox를 보여 주는 화면 이미지](/files/d65b91350ac55a881118cc0b7cea8499b71a3f36)

## 과도하게 채워진 상자와 부족한 상자

이 `\\parbox` 이 예는 훨씬 더 일반적인 문제를 보여 줍니다. LaTeX 코드를 처리할 때 문서를 조판하는 데 사용되는 TeX 엔진(pdfTeX, XeTeX 또는 LuaTeX)는 LaTeX의 요청으로 인해 조판된 콘텐츠가 제공되거나 요청된 상자의 경계 안에 “잘 맞지” 않는다고 판단할 수 있습니다. 그렇다면 TeX 엔진은 경고를 내고 자료는 조판되지만, 결과가 때때로 미적으로 바람직하지 않을 수 있으며 아마도 수정해야 할 것입니다. 이러한 메시지의 의미를 이해하고 언제 이를 해결하기 위해 조치를 취해야 하는지 알아두는 것이 중요합니다.

이 상자 관련 경고는 다음 형식을 따릅니다

```
Overfull \\hbox (<값>pt 초과) ... 줄에서 ...
Overfull \\vbox (<값>pt 초과) ... 줄에서 ...
Underfull \\hbox (불량도 <값>) ... 줄에서 ...
Underfull \\vbox (불량도 <값>) ... 줄에서 ...
```

변수 글꼴의  `\\hbox` 를 가리킵니다 *수평 상자* TeX 엔진이 항목 목록을 나란히 배치하는 `\\vbox` 를 가리킵니다 *수직 상자* TeX 엔진이 항목을 하나 위에 다른 하나씩 쌓는 상자입니다.

재료가 너무 적으면 TeX 엔진은 `Underfull \\hbox` 경고 또는 `Underfull \\vbox` 경고를 보고합니다:

* **부족한 상자** 는 그 내용을 담도록 할당된 (상자) 크기를 채우기에 충분한 재료가 없으며, TeX 엔진은 그 공간을 채우려는 시도로 내용물을 “늘려”야 했습니다. 부족한 상자의 경우 Overleaf는 TeX의 이른바 “불량도”(badness)도`불량도 <값>`)도 보고합니다. 이는 TeX이 내용을 담기 위해 따로 떼어 둔 공간을 채우기 위해 얼마나 “늘려야” 했는지를 나타내는 척도입니다. 불량도 값은 보통 0에서 10000 사이입니다.

재료가 너무 많으면 TeX 엔진은 \`Overfull \\\hbox\` 경고 또는 \`Overfull \\\vbox\` 경고를 보고합니다:

* **과도하게 채워진 상자** 는 그 내용을 담도록 할당된 (상자) 크기에 맞추기에는 내용이 너무 많아 TeX이 이를 제공된 공간에 “끼워 넣을” 수 없습니다. TeX 엔진은 내용이 사용 가능한 공간을 얼마나 초과하는지에 대한 양(`<값>`)을 포인트 단위로 보고합니다. 즉, 사용자의 내용이 특정 `\\hbox` 에 비해 너무 넓거나 특정 `\\vbox`.

## 과도하게 채워진 상자나 부족한 상자는 오류가 아닙니다

앞서 언급했듯이, 과도하게/부족하게 채워진 `\\hbox` 또는 `\\vbox` 메시지는 오류가 아니라, LaTeX 문서를 조판하는 데 사용되는 TeX 엔진(pdfTeX, XeTeX 또는 LuaTeX)이 출력하는 “진단 경고 메시지”입니다. 비록 *보고되지만* Overleaf에서, 이러한 경고는 *생성된* Overleaf에서 생성된 것이 아닙니다. TeX 내부에서 비롯됩니다. 조판 중에 이러한 메시지는 `.log` 파일에 기록되며—LaTeX 코드를 처리하는 동안 TeX 엔진이 다양한 정보를 기록하기 위해 생성하는 텍스트 파일입니다. Overleaf는 `.log` 파일을 처리하여 TeX 엔진의 과도하게/부족하게 채워진 `\\hbox` 또는 `\\vbox` 경고 메시지를 추출하고 Overleaf 인터페이스에 표시합니다. 이는 더 나은 조판 결과를 얻기 위해 편집이 필요할 수 있는 문서의 부분을 찾고 식별하는 데 도움이 됩니다.

## 이러한 경고를 걱정해야 하나요?

TeX/LaTeX를 처음 접하는 사용자라면 이러한 경고를 보고 문서에 심각한 문제가 있는 것은 아닌지 걱정할 수 있지만, 실제로는 대부분 안전하게 무시할 수 있는 경우가 많습니다. 그러나 이러한 경고는 때때로 문서의 일부를 점검해야 하며, 눈에 보이는 조판 결과를 개선하기 위해 편집이 필요할 수 있음을 알려 줍니다.

이 메시지를 해석하는 데는 약간의 연습이 필요할 수 있으므로, TeX/LaTeX가 처음이라면 경고를 생성한 소스 코드의 위치를 찾아가며 경험을 쌓는 데 시간을 들이는 것이 좋습니다. 그렇게 하면 곧 해결이 필요한 문제를 분명히 드러내는 경고를 식별하는 방법을 익히게 됩니다.

## 경고의 출처를 어떻게 찾을 수 있나요?

1. Overleaf 인터페이스에서 경고 메시지를 클릭하면 편집기가 LaTeX 소스 코드의 해당 위치로 스크롤됩니다.
2. 소스 코드의 해당 위치 왼쪽에는 느낌표(!)가 들어 있는 작은 노란색 삼각형이 있습니다.
3. 삼각형 위에 마우스 포인터를 올리면 Overleaf가 경고 메시지를 표시합니다.

이 짧은 동영상은 위의 단계를 보여 줍니다.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/1S1CW2vbVGRHnCXmsbjgAX/096e314caba0c1bafb762a528761e24d/findwarning.mp4>" %}

## 내 LaTeX 코드에 해당하는 PDF 위치를 어떻게 찾을 수 있나요?

특정 경고를 생성한 LaTeX 코드를 찾은 후에는 편집기와 조판된 PDF가 있는 패널을 나누는 분할 막대에 있는 화살표를 사용하여 PDF의 해당 위치로 이동할 수 있습니다.

![parbox를 보여 주는 화면 이미지](/files/0e56c8f9b0696e5ee82c2f6de4cea76b9e00a774)

이 화살표가 보이지 않으면, 다음 도움말 문서를 [조판된 PDF에서 소스 코드로 이동하는 방법(SyncTeX)](/latex/ko/knowledge-base/069-how-to-jump-to-the-source-code-from-the-typeset-pdf-synctex.md) 에서 활성화하는 방법을 설명합니다.

## 일반적인 문제와 해결 방법

* 다음을 사용할 수 있습니다 [microtype 패키지](https://ctan.org/pkg/microtype?lang=en) 는 pdfTeX가 도입한 마이크로 타이포그래피 확장을 활용하여 더 높은 품질의 조판을 생성하며, 그 결과 나쁜 상자의 수도 줄어들 수 있습니다.
* URL과 줄바꿈에 문제가 있다면 옵션 `breaklinks` 를 `hyperref` 패키지를 사용하는 샘플 코드입니다: `\\usepackage[breaklinks]{hyperref}`.
* 와 같이 `\\parbox`, `minipage` 환경은 TeX 엔진이 문단을 줄로 나누려고 할 때 과도하게 채워진 상자 또는 부족한 상자 경고를 유발할 수 있습니다:

```latex

\\begin{minipage}{width}
text...
\\end{minipage}
```

가능하면 `너비` 값을 늘려 TeX 엔진이 좋은 줄바꿈을 만들 가능성을 높이세요—그리고/또는 [microtype 패키지](https://ctan.org/pkg/microtype?lang=en).

### \\\\\\\ 사용에 대한 참고 사항

`\\\\` 는 사용되는 맥락에 따라 정확한 정의가 달라질 수 있는 매크로(제어 기호)입니다—이 질문에 대한 훌륭한 논의/설명은 이 [tex.stackexchange의 답변](https://tex.stackexchange.com/a/55481).

* `\\\\` 을 참고하세요. 문단 사이의 세로 공간을 추가하는 데 사용해서는 안 됩니다—그렇게 하는 것은 매우 나쁜 관행으로 여겨집니다.
* `\\\\` 줄바꿈 전용으로 의도되었습니다(Microsoft Word의 Shift+Enter와 유사합니다). LaTeX에서 새 문단을 만드는 올바른 방법은 소스 코드에서 문단 사이를 빈 줄로 구분하는 것입니다.
* 사용하는 대신 `\\\\` (또는 `\\newline`/`\\vspace`)를 사용하여 문단 구분을 흉내 내거나 문단 사이 간격을 늘리려 하지 말고, 문단 사이 간격을 설정하는 권장 방법은 [parskip](https://ctan.org/pkg/parskip) 패키지를 불러오는 것입니다: `\\usepackage{parskip}` 를 문서의 프리앰블에 넣으세요.
* 사용하면 `\\\\` 문서 전체의 문단에서 사용하면 떠다니는 요소의 배치 위치, 페이지 나누기 등을 계산하는 LaTeX의 알고리즘에 간섭할 수 있으며, 큰 문서에서는 컴파일 오류를 일으킬 수 있습니다.
* 의 정당한 사용법은 `\\\\` 에 대한 답변에서 설명됩니다 [tex.stackexchange](https://tex.stackexchange.com/). 예를 들어 다음을 보세요:
  * [언제 사용해야 하는지 `\\par` 그리고 언제 `\\\\`, `\\newline`, 또는 빈 줄](https://tex.stackexchange.com/a/82666)
  * [무엇을 `\\\\*` 하나요?](https://tex.stackexchange.com/a/55481)

## TeX가 보고할 상자를 제어하기

TeX 엔진은 TeX의 휴리스틱을 안내하고, TeX가 상자를 보고하기 전에 상자가 얼마나 “나빠야” 하는지에 대한 임계값을 설정하는 데 사용할 수 있는 여러 저수준 원시 명령을 제공합니다. 다음은 해당 명령에 관심 있는 독자를 위한 몇 가지 링크입니다:

* [\\\hfuzz 및 \\\vfuzz](/latex/ko/tex-latex-1/06-hfuzz.md)
* [\\\hbadness 및 \\\vbadness](/latex/ko/tex-latex-1/05-hbadness.md)

## 추가 읽을거리

TeX가 상자와 glue를 사용하는 방식에 대한 더 자세한 배경을 원한다면 다음 자료를 참고하세요:

* Overleaf 문서 [TeX가 \\\hbox에서 Glue 설정을 계산하는 방법](/latex/ko/in-depth-articles/24-how-tex-calculates-glue-settings-in-an-hbox.md).
* 이 도움말 항목을 보완하기 위해 작성된 17페이지 분량의 Overleaf 문서: [부족하거나 과도하게 채워진 상자와 불량도 계산 살펴보기](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). 그 글에서는 또한 TeX 원시 명령 `\\hfuzz` 및 `\\hbadness`.
* 다음의 TeX FAQ: <https://texfaq.org/FAQ-overfull.html>.
* [tex.stackexchange](https://tex.stackexchange.com/) 에는 저명한 TeX/LaTeX 전문가들의 풍부한 조언이 담겨 있습니다.


---

# 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/knowledge-base/138-understanding-underfull-and-overfull-box-warnings.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.
