Legal TOA Formatter
Overview
规范化法律文书中 Table of Authorities (TOA) 的条目格式。核心功能:将所有TOA条目统一修改为与参考条目相同的点号填充(dot leader)对齐格式,确保引用名称与页码之间的视觉一致性。
When to Use
- 用户要求修改 TOA/Table of Authorities 条目格式
- 条目需要点号填充对齐(dot leader alignment)
- 需要统一多个 TOA 条目的样式
- 触发词:TOA、Table of Authorities、法律文书格式修改、点号对齐
Core Concept
关键理解:Word 的制表符对齐使用 w:leader="dot" 属性,让 Word 自动填充点号,不是在文本中手动添加点号字符。
Workflow
Step 1: 分析源文档
解包 docx 文件:
unzip -o input.docx -d temp_unpacked找到 TOA 所在 section(通常在
word/document.xml 的 TOX(Table of Start)字段中)定位 TOA 条目:搜索
<w:p>段落中包含制表符<w:tab/>的条目
Step 2: 分析参考格式
找到第一个正确格式的条目(通常是 TOA 标题后的第一条),分析其 XML 结构:
<w:p>
<w:pPr>
<w:widowControl w:val="0"/>
<w:tabs>
<w:tab w:val="right" w:leader="dot" w:pos="9016"/>
</w:tabs>
<w:spacing w:line="480" w:lineRule="auto"/>
<w:jc w:val="both"/>
<w:rPr>
<w:rFonts w:hint="default" w:ascii="Times New Roman Regular" .../>
<w:kern w:val="2"/>
<w:sz w:val="24"/>
<w:szCs w:val="24"/>
<w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA"/>
</w:rPr>
</w:pPr>
<w:r>
<w:t>, 486 U.S. 531 (1988)</w:t>
</w:r>
<w:r>
<w:tab/>
</w:r>
<w:r>
<w:t>4, 5, 6, 7</w:t>
</w:r>
</w:p>
关键元素:
<w:tabs><w:tab w:val="right" w:leader="dot" w:pos="9016"/></w:tabs>- 定义右对齐点号填充制表位<w:tab/>- 在文本中插入制表符位置- 制表位位置
pos="9016"是 twips 单位(1/20 点)
Step 3: 修改目标条目
对于每个需要修改的条目:
确保
<w:pPr>包含正确的<w:tabs>定义如果条目有
<w:tabs>但 leader 不是 "dot",修改为w:leader="dot"如果条目完全没有
<w:tabs>,在<w:pPr>中的适当位置添加:<w:tabs> <w:tab w:val="right" w:leader="dot" w:pos="9016"/> </w:tabs>在引用名称与页码之间插入
<w:tab/>元素
Step 4: 重新打包
cd temp_unpacked && zip -r ../output.docx . -x "*.DS_Store"
Quick Fix Script
对于批量处理,使用 scripts/fix_toa_format.py:
python3 scripts/fix_toa_format.py input.docx output.docx
脚本会自动:
- 解包 docx
- 定位 TOA 条目
- 应用一致的点号填充格式
- 重新打包
Common Patterns
Pattern 1: 条目完全没有制表符
症状:引用名称和页码直接相连,无分隔
修复:在 <w:pPr> 中添加 <w:tabs>,在合适位置添加 <w:tab/>
Pattern 2: 条目有制表符但无点号
症状:有空隙但没有点号填充
原因:缺少 <w:tabs> 定义,或 w:leader 不是 "dot"
修复:添加/修正 <w:tabs> 为 w:leader="dot"
Pattern 3: 制表位位置不一致
症状:有的条目对齐,有的不对齐
修复:统一使用 w:pos="9016"(或根据页面宽度调整)
Troubleshooting
Q: 点号没有显示?
A: 检查 <w:pPr> 是否有 <w:tabs><w:tab w:leader="dot".../></w:tabs>,确保段落引用了正确的制表位
Q: 对齐位置不对?
A: 调整 w:pos 值。常见值:
- 9016 twips ≈ 6.5 英寸(右边界)
- 9372 twips ≈ 6.5 英寸 + 0.25 英寸边距
Q: 部分条目格式正确,部分不对?
A: 说明这些条目缺少 <w:pPr> 中的 <w:tabs> 定义,逐个添加即可