2016-08-25 3 views
3

제목은 ...이 고정 폭 텍스트 생성하기 위해 노력하고 모든 말한다 :어떻게 스핑크스 reStructuredText에 텍스트를 모노 스페이스에 후행 공백/주요 추가

``foo`` 

그러나이 그렇지 않은 :

`` foo`` 
``foo `` 

어떻게 모노 스페이스 텍스트에서 선행/후행 공백을 얻을 수 있습니까? (어떤 사람이 내게 XY 문제를 인용하기 전에, 이것은 정확히 내가 원했던 것이지, 더 이상도 덜도 없다.)

답변

2

Grr. 이것은 바보 같은 스핑크스/docutils 해커가 사용자 정의 역할로 해결 방법을 요구하는 것 같습니다. (공간이 어떤 이유로 외부 <span class="pre"> 블록 보관) code.literal 대한 CSS는 고정 폭 폰트 있어야

this :tt:`| ab12 |` is just like ``foobar`` except it can have leading/trailing spaces. 

:

import re 
from docutils import nodes 

tt_re = re.compile('^:tt:`\\|(.*)\\|`$') 
def tt_role(name, rawtext, text, lineno, inliner, options={}, content=[]): 
    """ 
    Can be used as :tt:`|SOME_TEXT_HERE|`, 
    where SOME_TEXT_HERE can include leading/trailing spaces 
    """ 
    result = [] 
    m = tt_re.search(rawtext) 
    if m: 
     arg = m.group(1) 
     result = [nodes.literal('', arg)] 
    return result,[] 

def setup(app): 
    app.add_role('tt', tt_role) 

예 사용량 :

는 conf.py 첨가 white-space: pre; or white-space: pre-wrap;을 사용하십시오.

+0

ARGH! 모노 스페이스 글꼴에서 공백을 제외합니다. @ # %! % # @ $ % $ # @ %! –

+0

Grr, CSS가 있습니다. –

0

은 소스 ``<zwspace><space><space><space>foo`` 인 소스

Find the file in our Google Drive folder It is located at ``​ foo`` 

에서 시작에서 ZERO WIDTH 스페이스와 함께 작동하도록 나타납니다. html 제작 :

<code class="docutils literal"><span class="pre">​</span>&#160;&#160; <span class="pre">foo</span></code>