From e38b39310f77851a1d77ae536c8bf08be0ff6aea Mon Sep 17 00:00:00 2001 From: laoyang Date: Tue, 13 Oct 2026 08:32:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A6=81=E7=82=B9=E6=A1=86?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8E=92=E5=B8=83=E7=8E=AF=E5=A2=83=20pointb?= =?UTF-8?q?oxgrid=EF=BC=88=E6=AF=8F=E8=A1=8C=E6=9C=80=E5=A4=9A=204=20?= =?UTF-8?q?=E4=B8=AA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把任意多个要点自动排成网格,规则:行数 = ceil(N/4),尽量均匀且上行不少于下行 (1~4 一行;5→3+2;6→3+3;7→4+3;8→4+4;9→3+3+3;10→4+3+3;11→4+4+3;12→4+4+4)。 用法: \begin{pointboxgrid}{高度} \pointitem{标题}{颜色}{内容} ... \end{pointboxgrid} 另提供 \pointboxsetup{每行最多几个}{横向间距}{纵向间距}(默认 4 / 8pt / 6pt)。 实现要点(本机 expl3 的坑,已在代码注释中说明): - 比较一律用 \ifnum:\int_compare:nNnT 在本机 TeX Live 下会把所有 ##1 都判成“小于等于”,导致行内个数分配失效。 - 列宽走 \fp_eval:n + \dim_to_fp:n:expl3 的维度乘法(*)在此环境下静默算出 0pt。 - 要点内容存进带索引的宏、再用 \tl_use:c 取用,避开不可靠的 \exp_after:wN 展开。 - 必须 \begin{columns}[onlytextwidth],否则默认 columns 的左右边距会让 4 列各溢出约 10pt。 另外:总高超过正文可用高度时给出 oucslide Warning (总高 ≈ 69 + 行数×高度 + (行数−1)×25 pt;正文可用高度取 243pt)。 已验证:1~12 个排布全部符合规则;TL2022/2023/2024/2025/2026 均 0 错误 0 溢出; 原有内容不受影响(纯新增 174 行)。 --- README.md | 33 ++++++ figs/fig14.png | Bin 0 -> 47850 bytes slides.pdf | Bin 2395975 -> 2396071 bytes theme/beamerinnerthemeOUCSlide.sty | 174 +++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+) create mode 100644 figs/fig14.png diff --git a/README.md b/README.md index d0ba527..576dfeb 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,39 @@ Tex文件的开头,是基本信息部分,可以根据需要添加`\title`{ ![块](/figs/fig07.png) ![标题框和文本框](/figs/fig08.png) +### 要点框自动排布(pointboxgrid) + +要点框数量多的时候,不需要自己摆 `columns`——用 `pointboxgrid` 环境会自动排成网格: + +``` +\begin{pointboxgrid}{高度} + \pointitem{标题}{颜色}{内容} + \pointitem{标题}{颜色}{内容} + ... +\end{pointboxgrid} +``` + +**排布规则:每行最多 4 个;超过 4 个自动分成多行,并尽量均匀(上行不少于下行)。** + +| 个数 | 排布 | 个数 | 排布 | +|------|------|------|------| +| 1~4 | 一行 | 9 | 3 + 3 + 3 | +| 5 | 3 + 2 | 10 | 4 + 3 + 3 | +| 6 | 3 + 3 | 11 | 4 + 4 + 3 | +| 7 | 4 + 3 | 12 | 4 + 4 + 4 | +| 8 | 4 + 4 | N | 行数 = ⌈N/4⌉,前 N mod 行数 行每行多放一个 | + +![自动排布总览(1~12 个)](/figs/fig14.png) + +几点说明: + +1. **高度参数的含义和 `pointbox` 的 `height` 一样**,是固定高度——内容别写超,超了会画到框外(见下)。数量多时记得**把高度调小**。 +2. **行数多了会超出页面底部**。经验值:正文区高约 243pt,总高 ≈ `69 + 行数×高度 + (行数−1)×25`(pt)。 + 所以 **4 行时高度不要超过 24pt**。超过时编译日志里会有 `oucslide Warning` 提醒。 +3. 想让每行放更多/更少,可改 `\l_ouc_pbg_max`(默认 4);间距可改 `\l_ouc_pbg_gap`(横向,默认 8pt)与 + `\l_ouc_pbg_vgap`(纵向,默认 6pt)。 +4. 单个要点框仍然可以像以前那样手写 `columns` + `pointbox`,两种用法并存。 + ## 代码 模板可以插入代码块,使用`lstlisting`即可。 diff --git a/figs/fig14.png b/figs/fig14.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbe4d862e19449a620ef3ebf0246e44b1ab57a7 GIT binary patch literal 47850 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 sQhDV6XmN7Hq)$ literal 0 HcmV?d00001 diff --git a/slides.pdf b/slides.pdf index f4bc76f6128db445b3ef4ad05bc883e0e3bf8c5d..4dcbbb79383fe303ac860b3ecd3ebf98987ef95f 100644 GIT binary patch delta 16922 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 aKK}zgUCF|i9gid+3OF}03MC~)PeuxXS=t)_ delta 16800 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 g_TgG__j>RBf3#-EZ { 0 } + { + %% 行数 = ceil(N / max) + \int_set:Nn \l_ouc_pbg_rows + { + \int_div_truncate:nn + { \int_use:N \l_ouc_pbg_n + \int_use:N \l_ouc_pbg_max - 1 } + { \int_use:N \l_ouc_pbg_max } + } + %% 均匀分配:前 rem 行每行多 1 个(上行不少于下行) + \int_set:Nn \l_ouc_pbg_base + { + \int_div_truncate:nn + { \int_use:N \l_ouc_pbg_n } { \int_use:N \l_ouc_pbg_rows } + } + \int_set:Nn \l_ouc_pbg_rem + { + \int_use:N \l_ouc_pbg_n + - \int_use:N \l_ouc_pbg_base * \int_use:N \l_ouc_pbg_rows + } + %% 预估总高度并与正文可用高度比较(公式按实测校准): + %% 总高 ≈ 69pt(首行含标题条) + 行数*高度 + (行数-1)*25pt(行间距) + \dim_set:Nn \l_ouc_pbg_est + { + \fp_eval:n + { + 69 + + \int_use:N \l_ouc_pbg_rows * \dim_to_fp:n { \l_ouc_pbg_h } + + ( \int_use:N \l_ouc_pbg_rows - 1 ) * 25 + } + pt + } + \ifdim \l_ouc_pbg_est > \l_ouc_pbg_avail + \PackageWarning{oucslide} + { + 要点框共 \int_use:N \l_ouc_pbg_n\space 个,排成 + \int_use:N \l_ouc_pbg_rows\space 行、每框高 \dim_use:N \l_ouc_pbg_h, + 预估总高 \dim_use:N \l_ouc_pbg_est\space 已超过正文可用高度 + \dim_use:N \l_ouc_pbg_avail,可能超出页面底部。 + 请把高度改小(4 行时建议不超过 24pt)或减少要点个数 + } + \fi + \int_zero:N \l_ouc_pbg_i + \int_step_inline:nn { \int_use:N \l_ouc_pbg_rows } + { + \int_set:Nn \l_ouc_pbg_k { \int_use:N \l_ouc_pbg_base } + %% 注意:此处的比较必须用 \ifnum。 + %% expl3 的 \int_compare:nNnT 在这套 TeX Live 下判定有误, + %% 会把所有 ##1 都判成"小于等于",导致行内个数分配失效。 + \ifnum ##1 > \int_use:N \l_ouc_pbg_rem \else + \int_incr:N \l_ouc_pbg_k + \fi + \ouc_pbg_setcolw: + %% 必须用 [onlytextwidth],否则默认 columns 会带来 + %% 左/右边距,4 列时左右各溢出约 10pt。 + \begin{columns}[onlytextwidth] + \int_step_inline:nn { \int_use:N \l_ouc_pbg_k } + { + \int_incr:N \l_ouc_pbg_i + \begin{column}{\dim_use:N \l_ouc_pbg_colw} + \ouc_pbg_emit:n { \int_use:N \l_ouc_pbg_i } + \end{column} + } + \end{columns} + \ifnum ##1 < \int_use:N \l_ouc_pbg_rows + \vspace{\dim_use:N \l_ouc_pbg_vgap} + \fi + } + } + } + +%% 友好设置:\pointboxsetup{每行最多几个}{横向间距}{纵向间距} +%% 例如 \pointboxsetup{5}{6pt}{4pt} +\NewDocumentCommand \pointboxsetup { m m m } + { + \int_set:Nn \l_ouc_pbg_max {#1} + \dim_set:Nn \l_ouc_pbg_gap {#2} + \dim_set:Nn \l_ouc_pbg_vgap {#3} + } + +\NewDocumentEnvironment { pointboxgrid } { m } + { \int_zero:N \l_ouc_pbg_cnt \dim_set:Nn \l_ouc_pbg_h {#1} } + { \ouc_pbg_typeset: } +\ExplSyntaxOff + %文本框textbox \newtcolorbox{textbox}[1]{ colback=#1!5!white,