Ho un documento con molte intestazioni e sottotitoli. Più avanti nel testo voglio ricollegarmi a uno dei titoli. Come posso fare questo senza la ridondanza delle etichette :ref:
? Il contenuto sembra raccogliere le intestazioni correttamente. Speravo in qualcosa del genere: `#polled-data-retrieval`_
.Come creare un collegamento interno a un'intestazione in testo ristretto sfornato senza creare etichette arbitrarie?
risposta
reStructuredText supporta implicit hyperlink targets. Dal reStructuredText quick reference: titoli
Sezione, note e citazioni generare automaticamente destinazioni dei collegamenti ipertestuali (l'etichetta di testo titolo o la nota/citazione è utilizzato come nome collegamento ipertestuale).
Così il seguente testo (sollevato dal riferimento reStructuredText rapido, errori di ortografia e tutti):
Titles are targets, too
=======================
Implict references, like `Titles are targets, too`_.
produce HTML simile al seguente:
<strong><a name="title">Titles are targets, too</a></strong>
<p>Implict references, like <a href="#title">Titles are targets, too</a>.</p>
Nuovo, risposta migliore per il 2016!
Il autosection extension consente di farlo facilmente, con riferimenti incrociati reali.
=============
Some Document
=============
Internal Headline
=================
poi, più tardi ...
===============
Some Other Doc
===============
A link- :ref:`Internal Headline`
Questa estensione è built-in, quindi tutto ciò che serve è modificare conf.py
extensions = [
.
. other
. extensions
. already
. listed
.
'sphinx.ext.autosectionlabel',
]
L'unica cosa che dovete stare attenti di questo è che ora non è possibile duplicare i titoli interni nella raccolta di documenti. (Vale la pena.)
Grazie. Continuavo a pensare che questo fosse sempre abilitato di default, non riuscivo a capire perché alcuni dei miei ref non funzionassero. –
Se si desidera utilizzare i backtick in un blocco di codice inline, vedere [questa meta domanda SO] (http://meta.stackexchange.com/q/138912/181221). – Chris