मैं स्फिंक्स के लिए एक कामकाज के साथ आ गया। मैं ~
वर्ण को गैर-ब्रेकिंग स्पेस में बदलने के लिए HTML और LaTeX लेखकों को ओवरराइट करता हूं। यहाँ एचटीएमएल एक है:
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
यह न तो बहुत है, और यह भी आप ~
चरित्र बच नहीं करता है, लेकिन यह मेरी प्रयोजनों के लिए काम करता है।
एक गैर-दृश्यमान चरित्र उपयोगी नहीं है – jterrace
फिर आप या तो इसे अपने संपादक को कॉन्फ़िगर कर सकते हैं या अपनी इनपुट फ़ाइलों में अतिरिक्त प्रीप्रोकैसिंग पास का उपयोग कर सकते हैं ... –