如何制作双列平行翻译电子书表格并调整fb2格式列宽?
平行翻译电子书制作解决方案
一、FB2格式列宽调整方法
你当前遇到的列宽不均问题,可以直接在<td>标签中添加width属性指定宽度比例,修改后的代码示例如下:
<section><table> <tr> <td width="50%"> Lang1 </td> <td width="50%"> Lang2 </td> </tr> <tr> ... 其余所有行的td标签都添加同样的width属性 ... </tr> </table></section>
如果你的阅读器支持FB2的属性解析,设置后两列会按照你指定的比例分配宽度,你也可以根据两种语言的字符长度特点调整比例,比如6:4、5.5:4.5等。
你之前遇到的异常显示效果参考:
二、更推荐改用EPUB格式
如果调整FB2属性后你的阅读器还是无法正确渲染,建议直接换用EPUB格式,适配性远高于FB2,完全符合你不需要缩放、可自由调整字体的需求,绝大多数电子书阅读器都原生支持EPUB格式的样式渲染。
用Python生成平行翻译EPUB的实现逻辑非常简单:
- 用
EbookLib等现成的Python库生成EPUB结构,不需要从零手写XML - 内嵌全局CSS样式统一控制表格样式,不需要给每一个
<td>重复加属性,示例CSS如下:
/* 全局控制双语表格样式 */ .bilingual-table { width: 100%; table-layout: fixed; } .bilingual-table td { width: 50%; padding: 6px 3px; vertical-align: top; word-break: break-word; }
- 表格部分直接调用定义好的class即可,代码更简洁,后期调整样式只需要修改CSS就行。
三、阅读体验优化建议
- 尽量不要在单个单元格内放置过长的段落,建议按短句或者短段落逐行对应,避免单格高度差异太大
- 如果有小屏阅读器使用需求,可以把宽度比例调整为更适配小屏的参数,避免某一列文字被挤压变形。
内容的提问来源于stack exchange,提问作者Domino Fortune
相关产品推荐
相关产品推荐

