reStructuredText formalizza alcune convenzioni tradizionali per indicare quando un testo deve essere enfatizzato o, in caso di necessità estremamente enfatizzato, racchiudendolo tra asterischi adiacenti al testo da enfatizzare. In generale reST riesce a capire quando un asterisco non è parte dell'enfasi, ad esempio scrivendo 2*2, ma se necessario è possibile inserire un asterisco preceduto da un backslash anche all'inizio o alla fine di una parol*.
Un'ulteriore convenzione viene usata per racchiudere testo da mantenere inalterato, usata ad esempio per nomi di programma come adventure(6), comandi rm -rf /, brevi spezzoni di codice print "Hello World!". Tale testo può includere caratteri significativi per reStructuredText, che non verranno interpretati; ad esempio *questo testo non è enfatizzato*.
Si può indicare che un paragrafo non è normale testo, ma ha un significato particolare che richiede diverso trattamento.
Un testo che deve mantenere la formattazione, riportando letteralmente tutti i caratteri in esso contenuti, compresi spazi e ritorni a capo, si indica così:
def greet(): print "Hello World!"
Ovvero con un paragrafo indentato preceduto da una coppia di due punti alla fine del paragrafo precedente. I due punti possono anche costituire da soli un paragrafo.
anche questo è un blocco letterale e può contenere persino dei *caratteri significativi* per reST, che non vengono interpretati.
Una riga che inizia con due punti ed uno spazio:
.. <qualche tipo di testo>
indica l'inizio di un blocco di markup esplicito.
Usato con testo generico, che non soddisfi le sintassi che verranno presentate più avanti, viene considerato un commento.