除了 URL 之外的任何地方都可以使用易碎的斜杠
breakable slashes everywhere but URLs
我使用 python sphinx (1.4.6) 从重组文本生成 pdf (latex)。
我使用窄 table 列 headers 和 "stuff/misc/other" 这样的文本。我需要斜线是易碎的,所以 table headers 不会溢出到下一列。
LaTeX 解决方案是在必要时使用 \BreakableSlash
或 \slash
。我可以使用 python 代码来替换所有斜杠:
from sphinx.util.texescape import tex_replacements
# \BreakableSlash needs package hyphenat to be loaded
tex_replacements.append((u'/', ur'\BreakableSlash ') )
# tex_replacements.append((u'/', ur'\slash ') )
但这会将 http://www.example.com/
之类的任何 URL 分解为
http:\unhbox\voidb@x\penalty\@M\hskip\z@skip/\discretionary{-}{}{}\penalty\@M\hskip\z@skip\unhbox\voidb@x\penalty\@M\hskip\z@skip/\discretionary{-}{}{}\penalty\@M\hskip\z@skipwww.example.com
或
http:/\penalty\exhyphenpenalty/\penalty\exhyphenpenaltywww.example.com
我想使用在这两种情况下都适用的通用解决方案,其中文档的编辑者仍然可以使用普通的 ReST,而不必担心乳胶。
知道如何在 URL 中获得经典斜线,在其他地方获得易碎斜线吗?
你没有真正给出数据和源代码,只是问一个想法,所以我冒昧地只用伪代码勾勒出一个解决方案:
- 使用
.split()
在 space 的每个位置将文档拆分为字符串列表
- 对于每个字符串,通过将其左侧与 http://(也可能是 ftp://、https:// 或类似标签)进行比较来检查它是否是 URL
- 进行替换,但仅限于不是 URLs
的字符串
- 使用
" ".join(my_list)
等命令重新组合所有字符串,包括 spaces
一种方法可能是编写一个 Transform subclass。然后在 setup(app) 中使用 add transform 以在每次读取时使用它。
我可以使用 DefaultSubstitutions from transforms.py 作为我自己 class 的模板。
我使用 python sphinx (1.4.6) 从重组文本生成 pdf (latex)。
我使用窄 table 列 headers 和 "stuff/misc/other" 这样的文本。我需要斜线是易碎的,所以 table headers 不会溢出到下一列。
LaTeX 解决方案是在必要时使用 \BreakableSlash
或 \slash
。我可以使用 python 代码来替换所有斜杠:
from sphinx.util.texescape import tex_replacements
# \BreakableSlash needs package hyphenat to be loaded
tex_replacements.append((u'/', ur'\BreakableSlash ') )
# tex_replacements.append((u'/', ur'\slash ') )
但这会将 http://www.example.com/
之类的任何 URL 分解为
http:\unhbox\voidb@x\penalty\@M\hskip\z@skip/\discretionary{-}{}{}\penalty\@M\hskip\z@skip\unhbox\voidb@x\penalty\@M\hskip\z@skip/\discretionary{-}{}{}\penalty\@M\hskip\z@skipwww.example.com
或
http:/\penalty\exhyphenpenalty/\penalty\exhyphenpenaltywww.example.com
我想使用在这两种情况下都适用的通用解决方案,其中文档的编辑者仍然可以使用普通的 ReST,而不必担心乳胶。
知道如何在 URL 中获得经典斜线,在其他地方获得易碎斜线吗?
你没有真正给出数据和源代码,只是问一个想法,所以我冒昧地只用伪代码勾勒出一个解决方案:
- 使用
.split()
在 space 的每个位置将文档拆分为字符串列表
- 对于每个字符串,通过将其左侧与 http://(也可能是 ftp://、https:// 或类似标签)进行比较来检查它是否是 URL
- 进行替换,但仅限于不是 URLs 的字符串
- 使用
" ".join(my_list)
等命令重新组合所有字符串,包括 spaces
一种方法可能是编写一个 Transform subclass。然后在 setup(app) 中使用 add transform 以在每次读取时使用它。
我可以使用 DefaultSubstitutions from transforms.py 作为我自己 class 的模板。