我怎样才能使新结构化非打破空间?
一个明显的问题,但解决办法是:
`word A`
但也可能是由不同的实现方式,如rst2latex或rst2pdf区别对待。 加上它以斜体呈现。
我怎样才能使新结构化非打破空间?
一个明显的问题,但解决办法是:
`word A`
但也可能是由不同的实现方式,如rst2latex或rst2pdf区别对待。 加上它以斜体呈现。
我没有看到这里的问题,运行docutils的V0.9。 至少rst2latex和rst2html都表现正常关于非打破空白。 胶乳生成〜和HTML生成  当你输入一个非中断字符(\ XA0,\ 0240)。
也许你有一个编辑器的问题? 如果你能够输入字符,docutils的将做的工作。
您需要unicode的指令,但它只能在替换使用。 所以,你需要像这样定义一个替代:
.. |nbsp| unicode:: 0xA0
:trim:
然后用它是这样的:
xx |nbsp| xx
:trim:
有没有摆脱围绕替代的空间。
您也可以使用|_|
代替|nbsp|
其小于有碍观瞻,给出的是可读作为纯文本reStructuredText的的目标。
最后我想出了狮身人面像一个解决办法。 我重写HTML和LaTeX作家的转换~
字符非打破空间。 这里的HTML之一:
import sphinx.writers.html
BaseTranslator = sphinx.writers.html.SmartyPantsHTMLTranslator
class CustomHTMLTranslator(BaseTranslator):
def bulk_text_processor(self, text):
if '~' in text:
text = text.replace('~', ' ')
return text
sphinx.writers.html.SmartyPantsHTMLTranslator = CustomHTMLTranslator
和乳胶之一:
import sphinx.writers.latex
BaseTranslator = sphinx.writers.latex.LaTeXTranslator
class DocTranslator(BaseTranslator):
def visit_Text(self, node):
if self.verbatim is not None:
self.verbatim += node.astext()
else:
text = self.encode(node.astext())
if '\\textasciitilde{}' in text:
text = text.replace('\\textasciitilde{}', '~')
if not self.no_contractions:
text = educate_quotes_latex(text)
self.body.append(text)
sphinx.writers.latex.LaTeXTranslator = DocTranslator
这不是那么漂亮,而且它不会甚至让你逃脱~
字符,但它适合我的目的。
我没有测试它,但也许你可以使用http://docutils.sourceforge.net/docs/ref/rst/directives.html#unicode-character-codes和Unicode“无间断空格”字符: HTTP:// WWW .fileformat.info /信息/ Unicode的/炭/ A0 / index.htm的