2013-07-16 53 views
6

是否可以使用重構文本在標題內放置圖像?標題中的重組文本(獅身人面像)圖像?

是這樣的:

Introduction .. image:: path/to/img.png 
--------------------------------------- 

這呈現爲文本,即圖像的語法不解析。我還沒有看到任何這樣的例子,讓我相信這可能是不可能的,但也許有人有一個解決方法。

我打算輸出到HTML(因此對衍生CSS的修改是可能的,雖然我寧願以改變RST源,這是因爲我還打算輸出到PDF(膠乳)。

回答

2

隨着HTML和CSS有許多方法可以將圖像添加到其產生不同的結果的元素,我能想到的一對夫婦是:

  1. U選擇一個圖像來代替任何文本。在這裏,我們保留文本,但將其發送出屏幕,因此仍然可以訪問。

    h1 { 
        background: url(images/image.jpg) no-repeat top center; 
        display: block; 
        text-indent: 100%; 
        white-space: nowrap; 
        overflow: hidden; 
        width: XXpx; 
        height: XXpx; 
    } 
    
  2. 放置到文本的左側圖像(或者可以很容易地在右邊)

    h1 { 
        background: url(images/image.jpg) no-repeat top left; 
        padding-left: XXpx; 
    } 
    
  3. 使用背景圖片,後面的任何文本

    h1 { 
        background:url(images/image.jpg) no-repeat top center; 
    } 
    

更具體的CSS選擇器只能用於定位某些標題。

可以使用raw directive,像這樣新結構化文檔中輕鬆地包括自定義CSS:

.. raw:: html 

    <style> 
     <!-- One of the CSS styles above. --> 
    </style> 

另外,也可以包括使用的rst2html.py--stylesheet選項在命令行自定義的CSS樣式表。

在實現與PDF輸出相同的條件,我將竊取的another one of my answers部分:

顯然,上述目標HTML輸出。但是,我沒有使用rst2pdf,所以不能評論上述需要如何修改以使用該程序。希望別人能爲此提供答案。據我所知,rst2pdf確實支持cascading stylesheet mechanism,所以它應該很簡單(對於知道rst2pdf樣式表語法的人員)來添加額外的.. raw:: pdf角色並修改上述列表樣式。

+1

太棒了!偉大的代碼片段。我會試試這些,用rst2pdf來試試看看它是如何處理的。我會+10,如果我可以...... – Jzl5325

8

我不能評論@ kitsu.eb答案,但他是對的。

我認爲使用別名可以達到更好的結果(即substitutions)。

這裏從文檔可以是有幫助的摘錄:

The |biohazard| symbol must be used on containers used to 
dispose of medical waste. 

.. |biohazard| image:: biohazard.png 

我希望這有助於

1

這可以通過在標題中使用substitution來實現:

Header Text |foo| 
================= 

.. |foo| image:: path/to/img.png 

這裏foo只是一個示例替換文本。它可以是任何東西,但不應以空白開始或結束。

抽象替代語法如下:

+-------+-----------------------------------------------------+ 
| ".. " | "|" substitution text "| " directive type "::" data | 
+-------+ directive block          | 
     |              | 
     +-----------------------------------------------------+ 

我們想插入內嵌圖像,我們應該選擇imagedirective type