Python sphinx 除了URL之外,到处都是易损坏的斜杠
我使用PythonSphinx(1.4.6)从重新构造的文本生成pdf(latex) 我使用窄表列标题和文本,如“stuff/misc/other”。我需要斜杠是可拆分的,这样表头就不会溢出到下一列中 乳胶解决方案是在必要时使用Python sphinx 除了URL之外,到处都是易损坏的斜杠,python-sphinx,restructuredtext,Python Sphinx,Restructuredtext,我使用PythonSphinx(1.4.6)从重新构造的文本生成pdf(latex) 我使用窄表列标题和文本,如“stuff/misc/other”。我需要斜杠是可拆分的,这样表头就不会溢出到下一列中 乳胶解决方案是在必要时使用\BreakableSlash或\slash。我可以使用python代码替换所有斜杠: from sphinx.util.texescape import tex_replacements # \BreakableSlash needs package hyphenat
\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/
转换为类似
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
或
我想使用一个在这两种情况下都有效的通用解决方案,文档编辑器仍然可以使用普通的ReST,并且不必担心latex
你知道如何在URL中使用经典斜杠,在其他任何地方都可以使用易损坏的斜杠吗?你并没有真正给出数据和源代码,只是要求提供一个想法,所以我冒昧地仅用伪代码勾勒出一个解决方案:
- 使用
.Split()
- 对于每个字符串,通过将其左侧与http://(也可能是ftp://、https://或类似标记)进行比较,检查其是否为URL
- 进行替换,但仅在没有URL的字符串中进行替换
- 使用诸如
的命令重新组合所有字符串(包括空格)。join(我的列表)
- 一种方法是编写一个转换子类。然后在安装程序(应用程序)中使用,以便在每次读取时使用它
我可以将其用作我自己的类的模板。抱歉,我的模棱两可。我使用python sphinx从rst生成latex文件。这就是为什么我没有发布任何代码,除了我的扩展名。我相应地标记了这个问题,但在文本中没有提到python sphinx。我更新了问题,使之更清楚。
http:/\penalty\exhyphenpenalty/\penalty\exhyphenpenaltywww.example.com