关于 latex-tables
使用 tabularray 创建和排查 LaTeX 表格的技能,面向需要精确控制布局的文档作者。内容涵盖固定与弹性列、对齐、溢出处理及旧表格包迁移。
主要功能
- 01tabularray 表格设置
- 02固定列与弹性列
- 03列对齐和宽度控制
- 04表格溢出排查
- 05旧表格包迁移
适用场景
- 01制作固定宽度表格
- 02排版复杂布局
- 03修复表格过宽或不换行
- 04迁移 tabular 或 longtable 文档
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill latex-tables安装后在 Claude Code 中输入/latex-tables确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/column-spec.mdevolution-log.mdlines-borders.mdmigration.mdtable-patterns.mdtroubleshooting.md详细介绍
使用 tabularray 创建 LaTeX 表格
自我进化技能:此技能会在使用过程中不断改进。如果说明有误、参数发生变化,或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。
何时使用此技能
在以下情况下使用此技能:
- 创建固定宽度的列
- 设置复杂的表格布局
- 需要精确的列对齐
- 从 tabular/tabularx/longtable/booktabs 迁移
- 排查表格溢出问题
快速参考
为什么选择 tabularray?
现代 LaTeX3 宏包(取代旧方案):
- 固定宽度的列,并能正确对齐
- 语法简洁且一致
- 可取代:
tabular、tabularx、longtable、booktabs - 性能优于旧版宏包
- 属于 TeX Live 2025
安装
# Check if installed
kpsewhich tabularray.sty
# If not found, install:
sudo tlmgr install tabularray
基本用法
\documentclass{article}
\usepackage{tabularray} % Modern table package
\begin{document}
% Simple table
\begin{tblr}{colspec={ccc}, hlines, vlines}
Header 1 & Header 2 & Header 3 \\
Data 1 & Data 2 & Data 3 \\
\end{tblr}
\end{document}
快速参考卡
% Minimal table
\begin{tblr}{colspec={ccc}}
A & B & C \\
\end{tblr}
% With all lines
\begin{tblr}{colspec={ccc}, hlines, vlines}
A & B & C \\
\end{tblr}
% Fixed widths
\begin{tblr}{colspec={Q[2cm] Q[3cm] Q[2cm]}, hlines}
A & B & C \\
\end{tblr}
% Bold header
\begin{tblr}{
colspec={ccc},
row{1}={font=\bfseries}
}
Header & Header & Header \\
Data & Data & Data \\
\end{tblr}
最佳实践
- 固定列使用 Q[width],而不是 p{width}
- 文本可能溢出时,明确指定宽度
- 对需要扩展的弹性列使用 X
- 使用 row{1} 设置表头样式,而不是手动格式化
- 使用 colspec 设置列属性,而不是使用内联命令
- 检查宏包版本:
kpsewhich tabularray.sty(应为较新版本)
参考文档
如需详细信息,请参阅:
- 表格模式 - 5 种常见表格模式及示例
- 列规范 - 对齐选项和宽度控制
- 线条与边框 - 所有线条、选择性线条、粗线
- 故障排查 - 表格过宽、文本不换行、对齐问题
- 迁移 - 从 tabular 和 tabularx 迁移
官方文档:运行 texdoc tabularray 查看完整的宏包文档
另请参阅:
- 使用
latex/setup技能安装 tabularray 宏包 - 使用
latex/build技能了解编译工作流
故障排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 找不到宏包 | 未安装 tabularray | sudo tlmgr install tabularray |
| 表格过宽 | 固定宽度总和超过页面宽度 | 使用更小的 Q[width] 值,或使用弹性列 X |
| 文本不换行 | 列规范未指定宽度 | 使用 Q[width] 代替 c/l/r,以启用换行 |
| 对齐问题 | 混用了不同列类型 | 确保所有列使用一致的规范 |
| colspec 编译错误 | 语法无效 | 检查列规范中是否缺少逗号或存在拼写错误 |
| hlines 未显示 | 规范中缺少 hlines | 将 hlines 添加到规范中:{colspec={...}, hlines} |
| 行样式未应用 | 行索引错误 | 注意 row{1} 是第一行(从 1 开始索引) |
| 宏包版本过旧 | TeX Live 已过时 | sudo tlmgr update --self --all |
执行后检查
此技能执行完毕后,关闭前请检查:
- 命令是否执行成功? — 如果没有,请修复导致失败的说明或错误表格。
- 参数或输出是否发生变化? — 如果底层工具的接口发生变化,请相应更新用法示例和参数表。
- 是否需要采用变通方法? — 如果必须临时变通(使用不同标志、增加步骤),请更新此 SKILL.md,避免下次调用时重复采用相同的变通方法。
仅在问题真实且可复现时进行更新,不要臆测。
评论
支持 Markdown