이 페이지는 본문의 일부나 문단 묶음을 프레임으로 감싸는 방법을 단순한 것부터 강력한 것까지 살펴봅니다. 한 문장이나 한 단어만 감싸려면 표준 명령 \fbox{...} 와 \framebox[width][pos]{...} 로 충분하지만, 이들은 줄이나 페이지를 넘어 나뉘지 않습니다. 문단 전체를 감싸고 페이지 나눔도 허용하려면 framed package(framed, shaded, leftbar 환경)를, 수식을 감싸려면 amsmath의 \boxed{...} 를, 색, 제목, 페이지 나눔, 둥근 모서리까지 자유롭게 제어하려면 TikZ 위에 만들어진 가장 강력한 선택지 tcolorbox 를 사용합니다. 마지막으로 또 다른 나눌 수 있는 프레임인 mdframed 도 다룹니다.
표준 프레임 — \fbox와 \framebox
\fbox{...} 는 아무것도 불러오지 않아도 쓸 수 있습니다. 인수의 내용을 꼭 맞게 감싸는 얇은 프레임을 그립니다. 폭이나 정렬을 세밀하게 지정하려면 \framebox[width][position]{...} 를 사용합니다. 첫 번째 선택 인수 width 는 상자의 가로폭을, 두 번째 position 은 내용의 정렬을 정합니다. c(가운데, 기본), l(왼쪽), r(오른쪽), s(양쪽 맞춤)입니다. 옵션 없는 \framebox는 \fbox와 같은 동작을 합니다.
프레임의 모양은 두 길이로 정해집니다. \fboxrule 은 선 두께(기본 0.2pt), \fboxsep 은 프레임과 내용 사이의 여백(padding)(기본 3pt)입니다. 둘 다 \setlength로 바꿀 수 있습니다. 예를 들어 더 두껍고 넓게 감싸려면 다음과 같이 합니다.
\setlength{\fboxrule}{1pt}
\setlength{\fboxsep}{8pt}
\fbox{ここを枠で囲みます}
\framebox[5cm][l]{左寄せで幅 5cm}주의할 핵심은 \fbox도 \framebox도 내용을 줄바꿈하지 않는다 는 점입니다. 긴 문장을 넘겨도 한 줄 그대로 옆으로 늘어나며 줄이나 페이지 경계에서 나뉘지 않습니다. 여러 줄을 프레임으로 감싸려면 내용을 먼저 \parbox나 minipage에 넣고 감싸거나(\fbox{\parbox{0.8\linewidth}{…}}), 아래의 문단용 package를 사용합니다. 또한 \fbox는 문자의 baseline 에 맞춰 배치되는 행내용 상자이므로 \hspace나 다른 행내용 요소와 자연스럽게 나란히 놓입니다. minipage와 \parbox 자체의 사용법은 “Boxes” 페이지를 참조하세요.
문단을 감싸고 페이지도 넘기기 — framed
\fbox가 접히지 않는 약점을 보완하는 것이 \usepackage{framed}로 불러오는 framed package입니다. 중심인 framed 환경 의 가장 큰 특징은 감싼 내용이 페이지를 넘어 나뉠 수 있다 는 점으로, 긴 주의문이나 칼럼을 통째로 프레임에 넣을 수 있습니다. 함께 제공되는 shaded 환경 은 선 대신 배경을 칠하고, leftbar 환경 은 왼쪽 끝에 세로선을 하나 그립니다(인용 블록 표시에 자주 쓰입니다).
\usepackage{framed}
\begin{framed}
この段落は枠で囲まれます。中身が長くてページの
終わりに達しても、枠は自然に分割されて次のページへ
続きます。\fbox にはできない芸当です。
\end{framed}shaded의 배경색은 \colorlet{shadecolor}{...} 로 shadecolor 색을 정의해 지정합니다(color 또는 xcolor를 불러와야 합니다). 선 두께와 여백은 \fbox에 대응하는 길이인 \FrameRule 과 \FrameSep 로 조정합니다. framed에는 파생 환경도 있어 oframed(페이지 분할 지점에서 위아래가 열린 프레임), shaded*(본문 폭에 맞춘 채움), snugshade(내용에 밀착한 채움) 등을 고를 수 있습니다. 또한 \FrameCommand를 재정의하거나 \MakeFramed를 사용하면 자신만의 나눌 수 있는 프레임을 만들 수 있습니다.
framed는 가볍고 단순하지만, 둥근 모서리나 그림자, 제목이 있는 복잡한 프레임까지는 다루지 못합니다. 그런 표현이 필요하면 아래의 tcolorbox가 더 알맞습니다.
수식 감싸기 — \boxed
결론 수식을 프레임으로 감싸 눈에 띄게 하려면 amsmath 의 \boxed{...} 를 사용합니다. \fbox는 text mode 명령이라 수식 안에서는 잘 맞지 않지만, \boxed는 수식 모드 전용 으로 인수를 수식으로 조판한 뒤 프레임을 붙입니다. \usepackage{amsmath}를 불러오고 수식 모드 안에서 사용합니다.
\usepackage{amsmath}
\[
\boxed{E = mc^2}
\]\boxed가 그리는 프레임은 내부적으로 \fbox와 같으므로 \fboxrule과 \fboxsep의 영향을 받습니다. align 같은 정렬 환경의 특정 줄만 감쌀 수도 있지만, 프레임을 식 번호나 여러 줄에 깔끔하게 걸치고 싶은 고급 용도에는 mathtools에 딸린 empheq package가 더 유연합니다. 수식 모드 전반은 “Math mode basics” 페이지를 참조하세요.
가장 강력한 프레임 — tcolorbox
색, 제목, 페이지 나눔 등 프레임 주변의 요구를 거의 모두 만족시키는 것이 Thomas Sturm이 만든 tcolorbox 입니다. 풍부한 추가 library를 한 번에 켜는 \usepackage[most]{tcolorbox} 방식이 일반적입니다(most는 minted처럼 외부 도구에 의존하는 것을 제외한 대부분의 library를 불러옵니다). tcolorbox는 pgf/TikZ 위에 만들어졌기 때문에 내부에서 TikZ가 그리기를 담당하고, 그 표현력을 프레임에 그대로 활용할 수 있습니다.
세 단계로 익히면 이해하기 쉽습니다. 행 안에 작은 프레임 하나만 놓을 때는 \tcbox{...} 를 씁니다. 내용 폭에 꼭 맞는 프레임을 만드는 명령으로 \fbox처럼 동작하지만(줄바꿈은 하지 않음) 색과 제목 같은 풍부한 옵션을 쓸 수 있습니다. 문단 묶음을 감싸려면 tcolorbox 환경 을 씁니다. 같은 모양을 반복해서 쓸 때는 \newtcolorbox{mybox}{...} 로 재사용 가능한 프레임을 정의 합니다.
색과 제목은 key option으로 지정합니다. colback= 은 배경색, colframe= 은 프레임 색, title= 을 주면 제목이 있는 프레임(제목 띠)이 됩니다. breakable 을 붙이면 프레임이 페이지를 넘을 수 있고, sharp corners(직각) / rounded corners(둥근 모서리, 기본), boxrule=(선 두께, 기본 0.5mm), arc=(둥근 모서리 반지름, 기본 1.0mm)로 모양을 조정합니다. 제목 띠 색은 colbacktitle=, 제목 글꼴은 fonttitle=로 바꿉니다.
\usepackage[most]{tcolorbox}
\begin{tcolorbox}[colback=blue!5, colframe=blue!60!black,
title=覚え書き, fonttitle=\bfseries, breakable]
色付きでタイトルの付いた枠です。\texttt{breakable} を
指定したので、長くなればページをまたいで分割されます。
\end{tcolorbox}같은 모양을 반복한다면 프리앰블에서 프레임을 정의해 둡니다. \newtcolorbox[init options]{name}[number of args][default]{options} 형태로, \newenvironment처럼 인수를 받는 프레임 도 만들 수 있습니다. 예를 들어 제목을 인수로 받는 주의 상자는 다음과 같이 정의할 수 있습니다.
\usepackage[most]{tcolorbox}
\newtcolorbox{note}[1]{%
colback=yellow!10, colframe=orange!70!black,
fonttitle=\bfseries, title=#1, breakable}
\begin{document}
\begin{note}{注意}
これで \texttt{note} 環境を定義しました。引数で
見出しを渡せます。
\end{note}
\end{document}skins library(most에 포함)를 쓰면 더 나아가 enhanced skin으로 그림자, 이중 프레임, 투명도, 장식적 제목 같은 TikZ 기반의 복잡한 모양을 켤 수 있습니다. theorem-like box를 만드는 theorems library, 소스와 출력을 위아래 두 부분으로 나누는 방식(\tcblower로 구분) 등 기능 범위가 매우 넓습니다. 전체 내용은 texdoc tcolorbox로 읽을 수 있는 큰 매뉴얼(2026년 기준 6.9.x 계열)을 확인하세요.
또 다른 선택지 — mdframed
tcolorbox만큼 다기능일 필요는 없지만 framed보다 보기 좋은 페이지 분할 가능한 프레임 이 필요하다면 mdframed 가 중간 선택지입니다. \usepackage{mdframed}로 불러오고 mdframed 환경 으로 내용을 감쌉니다. framed를 기반으로 확장한 package로, 페이지를 넘는 프레임 에 색, 둥근 모서리, 그림자 등을 붙일 수 있습니다.
특징은 그리기 방식(backend)을 선택할 수 있다는 점입니다. 표준 LaTeX 명령 외에도 framemethod=TikZ나 framemethod=pstricks를 지정하면 더 복잡한 장식을 쓸 수 있습니다. \newmdenv{...}로 자신만의 프레임 환경을, \newmdtheoremenv{...}로 프레임이 있는 theorem environment를 정의할 수 있습니다. 아래는 둥근 모서리와 색이 있는 최소 예입니다.
\usepackage{mdframed}
\begin{mdframed}[backgroundcolor=gray!10, roundcorner=5pt,
linecolor=gray!60, linewidth=1pt]
mdframed の枠です。ページをまたいで折り返せます。
\end{mdframed}무엇을 쓸까
망설여진다면 작업 규모로 고르는 것이 빠릅니다. 단어 하나나 한 줄을 빠르게 감싸려면 \fbox / \framebox. 수식을 감싸려면 \boxed. 문단을 넘겨 감싸기만 하면 된다면 가벼운 framed. 색, 제목, 둥근 모서리, 페이지 나눔까지 필요하다면 tcolorbox(mdframed는 그 직전 단계의 선택지). 색 이름과 혼색은 “Colors (xcolor)”, 길이 단위와 \fboxsep 같은 치수 개념은 “Lengths & spacing”, 일반 box(\parbox, minipage, \rule)는 “Boxes” 페이지에 정리되어 있습니다.
| 사용할 것 | 감쌀 대상 | 페이지 나눔 | 주요 용도 |
|---|---|---|---|
\fbox / \framebox | 한 줄 내용 | 불가 | 단어나 짧은 문장을 빠르게 |
\boxed | 수식(수식 모드) | 불가 | 결론 식 강조 |
framed | 문단 묶음 | 가능 | 가볍게 문단 감싸기 |
mdframed | 문단 묶음 | 가능 | 색과 둥근 모서리를 적당히 |
tcolorbox | 블록, 행내, 정리 | 가능 | 색, 제목, 장식의 완전판 |