本页从简单到强大,依次介绍如何给一段文字或一组段落 加上边框。如果只是框住一个词或一行,内建的 \fbox{...} 和 \framebox[width][pos]{...} 就够了,但它们 不能跨行或跨页断开。若要框住整段并允许跨页,使用 framed package(framed、shaded、leftbar 环境);若要框住公式,用 amsmath 的 \boxed{...};若要自由控制颜色、标题、分页和圆角,标准选择是建立在 TikZ 之上的最强选项 tcolorbox。最后还会介绍另一种可跨页边框 mdframed。
内建边框 — \fbox 与 \framebox
\fbox{...} 不需要加载任何 package 就能使用:它会紧贴参数内容画一个细边框。若要指定宽度或对齐方式,使用 \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)。线条粗细和 padding 用与 \fbox 类似的长度 \FrameRule 和 \FrameSep 调整。framed 还提供派生环境:oframed(在分页处上下开放的框)、shaded*(与正文宽度对齐的填充)、snugshade(贴合内容的填充)等。重定义 \FrameCommand 或使用 \MakeFramed,还可以构建自己的可断开边框。
framed 轻量且直接,但不能处理圆角、阴影或复杂的带标题框。需要这些效果时,下面的 tcolorbox 更合适。
框住公式 — \boxed
若要把结论公式框起来突出显示,使用 amsmath 的 \boxed{...}。\fbox 是 text mode 命令,在数学中表现不佳;\boxed 则是 专用于 math mode 的命令,会先把参数作为数学内容排版,再加上边框。加载 \usepackage{amsmath},并在 math mode 中使用。
\usepackage{amsmath}
\[
\boxed{E = mc^2}
\]\boxed 画出的边框内部其实是 \fbox,因此会受到 \fboxrule 和 \fboxsep 的影响。可以框住 align 等对齐环境中的某一行,但若要把边框漂亮地围住公式编号或多行公式,随 mathtools 提供的 empheq package 更灵活。math mode 的一般内容请参见“Math mode basics”页面。
最强大的边框 — tcolorbox
几乎所有边框需求,颜色、标题、分页等,tcolorbox(Thomas Sturm 制作)都能满足。常见加载方式是 \usepackage[most]{tcolorbox},一次启用大量附加 library;most 会加载大部分 library,但排除依赖 minted 等外部工具的部分。由于 tcolorbox 建立在 pgf/TikZ 之上,底层绘制由 TikZ 完成,边框也继承了它的表现力。
按三层来记会比较清楚。只想在行内放一个小框,用 \tcbox{...};它会生成贴合内容宽度的框,行为类似 \fbox,并且 不会断行,但可接受丰富的颜色和标题选项。要框住一组段落,用 tcolorbox 环境。若同一种样式要反复使用,则用 \newtcolorbox{mybox}{...} 定义可复用的 box。
颜色和标题通过 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}如果要重复使用同一种外观,就在导言区先定义 box。形式 \newtcolorbox[init options]{name}[number of args][default]{options} 可像 \newenvironment 一样创建 带参数的 box。例如,一个把标题作为参数的提示框可以这样定义:
\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
如果想要一个比 framed 好看、但不需要 tcolorbox 那么多功能的 可断开边框,mdframed 是中间选择。用 \usepackage{mdframed} 加载,并在 mdframed 环境 中包住内容。它是在 framed 基础上扩展的 package,可为 跨页边框 添加颜色、圆角、阴影等。
它的特点是可以选择渲染 backend:除了普通 LaTeX 命令外,指定 framemethod=TikZ 或 framemethod=pstricks 可以启用更复杂的装饰。用 \newmdenv{...} 定义自己的 framed environment,或用 \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 | 数学内容(math mode) | 否 | 强调结论公式 |
framed | 段落块 | 是 | 轻量框住段落 |
mdframed | 段落块 | 是 | 适度使用颜色和圆角 |
tcolorbox | 块、行内、定理 | 是 | 颜色、标题和装饰的完整工具 |