Sphinx文档生成中如何让指定词汇保持同行不换行?
如何在Sphinx文档中让词汇保持同一行不换行
嗨,这个问题我之前写Sphinx文档时也碰到过!谁也不想看到时间单位、版本号这类组合被拆成两行,太影响阅读体验了。在Sphinx依赖的reStructuredText语法里,有两种实用方法能搞定这个问题:
- 通用适配方案(支持HTML/PDF等所有输出格式):用
\(反斜杠紧跟一个空格)连接需要绑定的词汇,比如写成2\ sec。这个语法会被解析为非断行空格,不管最终生成哪种格式的文档,2和sec都会牢牢粘在同一行。 - 仅PDF/LaTeX输出方案:如果只需要生成PDF文档(通过LaTeX编译),也可以直接沿用LaTeX的习惯,用
~连接,写成2~sec。Sphinx在处理LaTeX输出时会直接保留这个符号,实现和LaTeX里完全一样的非断行效果。不过要注意,这个写法在HTML输出里可能会显示出~符号,所以需要兼顾多格式的话,优先选第一种方法。
举个实际效果对比:
原本可能被拆行的错误排版:
一些文本 一些文本 一些文本 一些文本 一些文本 一些文本 一些文本,最后完成于2
sec
用第一种方法写成:一些文本 一些文本 一些文本 一些文本 一些文本 一些文本 一些文本,最后完成于2\ sec
生成后的正确排版:
一些文本 一些文本 一些文本 一些文本 一些文本 一些文本 一些文本,最后完成于2 sec
这样就完美解决换行问题啦!
内容的提问来源于stack exchange,提问作者Dmitry K.
相关产品推荐
相关产品推荐

