2013-07-16 16 views
6

Czy możliwe jest umieszczenie obrazu wewnątrz nagłówka za pomocą tekstu zrestrukturyzowanego?Restrukturyzowany tekst (sfinks) Obraz w nagłówku?

podobnie jak:

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

Czyni tekst, tj składnia obraz nie jest analizowany. Nie widziałem żadnych przykładów tego, co skłoniło mnie do przekonania, że ​​to może nie być możliwe, ale może ktoś ma jakieś obejście.

mam zamiar wyjścia do HTML (tak modyfikacja CSS pochodzącego jest możliwe, chociaż wolałbym, aby zmienić źródło RST. To dlatego, że ja też zamiar wyjścia do formatu PDF (lateks).

Odpowiedz

2

z HTML i CSS istnieje wiele sposobów, aby dodać zdjęcie do elementu, który uzyskując różne wyniki kilka że mogę myśleć to:.

  1. U se obraz zamiast dowolnego tekstu. Tutaj przechowujemy tekst, ale wysyłamy go z ekranu, więc jest on nadal dostępny.

    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. umieścić obraz z lewej strony tekstu (lub z łatwością mógł się w prawo)

    h1 { 
        background: url(images/image.jpg) no-repeat top left; 
        padding-left: XXpx; 
    } 
    
  3. Użyj obrazu tła, za każdym tekście

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

Bardziej szczegółowe selektory CSS mogą być używane do kierowania tylko na określone nagłówki.

Można to łatwo niestandardowego CSS w dokumentach reStructuredText wykorzystaniem raw directive, tak:

.. raw:: html 

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

Alternatywnie, można dołączyć arkusze stylów CSS zwyczaj z wiersza polecenia, używając opcji rst2html.py--stylesheet.

chodzi o osiągnięcie samo z wyjściem PDF, będę ukraść część another one of my answers:

Oczywiście powyższe cele wyjście HTML. Jednak nie użyłem rst2pdf, więc nie mogę komentować, jak powyższe musi być zmodyfikowane do pracy z tym programem. Mam nadzieję, że ktoś inny udzieli na to odpowiedzi. O ile wiem, rst2pdf obsługuje cascading stylesheet mechanism, więc powinno być proste (dla kogoś, kto zna składnię arkusza stylów rst2pdf), aby dodać dodatkową rolę .. raw:: pdf i modyfikować powyższe style list.

+1

Niesamowita odpowiedź! Świetne fragmenty kodu. Spróbuję i wypróbuję je z rst2pdf, żeby zobaczyć, jak to się dzieje. Gdybym mógł ... – Jzl5325

8

Nie mogę skomentować odpowiedzi @ kitsu.eb, ale on ma rację.

Myślę, że można uzyskać lepszy wynik przy użyciu aliasów (to jest substitutions).

Oto wyciąg z dokumentacji, które mogą być pomocne:

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

.. |biohazard| image:: biohazard.png 

Mam nadzieję, że to pomoże

1

Można to osiągnąć za pomocą substitution w nagłówku:

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

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

Tutaj foo to tylko przykładowy tekst zastępczy. Może to być wszystko, ale nie powinno zaczynać się ani kończyć białą spacją.

Streszczenie podstawienie składnia jest następująca:

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

Jak chcielibyśmy, aby wstawić obraz inline, powinniśmy wybrać image jako directive type.