reStructuredTextでノーブレークスペースを作成するにはどうすればよいですか?
明らかですが問題のある解決策は次のとおりです。
`word A`
ただし、rst2latexやrst2pdfなど、実装によって処理が異なる場合があります。さらに、斜体で表示されます。
reStructuredTextでノーブレークスペースを作成するにはどうすればよいですか?
明らかですが問題のある解決策は次のとおりです。
`word A`
ただし、rst2latexやrst2pdfなど、実装によって処理が異なる場合があります。さらに、斜体で表示されます。
unicodeディレクティブが必要ですが、これは置換でのみ使用できます。したがって、次のような置換を定義する必要があります。
.. |nbsp| unicode:: 0xA0
:trim:
次に、次のように使用します。
xx |nbsp| xx
:trim:
置換の周りのそれらのスペースを取り除くためにあります。
プレーンテキストとして読みやすくするというreStructuredTextの目標を考えると、視覚的に邪魔にならない|_|
代わりに使用することもできます。|nbsp|
docutils v0.9を実行しているため、ここでは問題は発生しません。少なくともrst2latexとrst2htmlは、改行しない空白に関して適切に動作しています。ラテックスは〜を生成し、htmlは を生成します 改行しない文字(\ xa0、\ 0240)を入力した場合。
たぶんあなたは編集者の問題を抱えていますか?文字を入力できれば、docutilsがその役割を果たします。
私はSphinxの回避策を思いつくことになりました。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
そしてLaTeXのもの:
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とユニコードの「ブレークスペースなし」の文字を使用できます: http :// www .fileformat.info / info / unicode / char / a0 / index.htm