Skip to content

Textbox

谢耳朵 edited this page Mar 21, 2026 · 5 revisions

English Version | 中文版

文本框 (TextBox)

luatex-cn 提供了强大的竖排文本框功能,支持网格对齐、自动分栏以及特定样式的填充。

基础文本框

\文本框 (\TextBox) 用于创建一个独立的竖排文本区域。

使用方法

\文本框[参数列表]{文本内容}

常用参数

参数 说明 默认值
height / 高度 文本框的高度(以网格数为单位)。设为 0 则自动延长。 0
n-cols / 列数 强制分栏的列数。 0 (不分栏)
border / 边框 是否显示边框框线。 false
background-color 背景颜色。
distribute 是否均匀分布内容(仅限特定模式)。 false
floating 是否为浮动文本框(需配合 x, y 坐标)。 false
transparent / 透明 背景是否透明(v0.3.6+)。false 时使用页面背景色填充。 true

自动延长与压缩

  • 自然延长:如果不指定 height(或设为 0),文本框会根据内容长度自然向下延伸。
  • 字体压缩(扁字):如果指定了固定 height 但内容过多,系统会自动垂直压缩字体(扁字)以确保内容完全放入框内(v0.1.5 新增)。
  • 独立缩进(v0.2.2+):文本框内容不再继承正文的段落缩进设置,确保布局独立性 (fix #37)。

填充文本框

\填充文本框 (\FillTextBox) 是 \TextBox 的一个变体,默认启用填充对齐模式,常用于需要充满特定区域的场景。

\填充文本框[height=10]{内容}

等同于 \TextBox[height=10, box-align=fill]{内容}

边框便捷命令 (v0.3.2+, 扩展于 v0.3.4)

一系列快捷命令,用于快速对正文中的标注文字添加边框和/或反白效果。命令会根据内容字数自动计算尺寸。

命令一览

命令 英文 繁体 效果
\墨围{文字} \bordered \墨圍 矩形黑色边框
\反白{文字} \inverted 黑底白字(无边框)
\墨围反白{文字} \borderedInverted \墨圍反白 矩形边框 + 黑底白字
\八角墨围{文字} \octagonBordered \八角墨圍 八角形边框
\八角墨围反白{文字} \octagonBorderedInverted \八角墨圍反白 八角形边框 + 黑底白字
\带圈{文字} \circled \帶圈 圆形边框

使用示例

\墨围{集解}裴駰曰……
\墨围{索隱}司馬貞曰……
\反白{正義}張守節曰……
\八角墨围{校勘}此字疑誤……
\带圈{一}

边框间距控制

通过 TextBox 的 border-margin-x / border-margin-y 参数可分别控制横向和纵向的边框与内容间距:

\TextBox[border, border-margin-x=2pt, border-margin-y=1pt]{内容}
参数 说明 默认值
border-margin 统一边框间距 0pt
border-margin-x 横向边框间距 (跟随 border-margin)
border-margin-y 纵向边框间距 (跟随 border-margin)
outer-margin 文本框外部间距 0pt

浮动批注 (Floating Box)

通过设置 floating=true,可以将文本框放置在页面的绝对坐标位置,常用于制作批注

\文本框[
  floating=true,
  x=2cm, y=3cm,
  height=5,
  width=2em,
  border=true
]{这是浮动批注}

也可以直接使用简化的 \批注 命令 (\PiZhu)。


👉 下一步:查看 功能详解

Clone this wiki locally