L'ajout d'un renvoi à une sous-position ou d'une ancre d'une autre page
Comment insérer une référence croisée dans un repos/Sphinx page pour un sous-en-tête ou d'une ancre d'une autre page dans le même ensemble de documents?
- Double Possible de Comment faire un interne hyper lien en sphinx de documentation
Vous devez vous connecter pour publier un commentaire.
Ignorer cette réponse, il ne fonctionne pas: une Meilleure utilisation de la réponse de
Louis
Pour point d'ancrage, vous pouvez définir le "court" d'ancrage des noms comme ceci:
À se référer à cet en-tête d'utilisation:
Remarque, que ça se développe ShortAnchor de nom complet de l'en-tête.
Vous pouvez également utiliser pleinement le nom d'en-tête comme:
Mais ce n'est plus d'erreur sujettes à modification de texte d'en-tête.
Tout cela fonctionne à travers de multiples fichiers source faisant partie de la documentation finale.
L'expression "repos/Sphinx" met à la portée de la question pas claire. Est-ce reStructuredText en général et Sphinx, ou seulement sur reStructuredText utilisé dans Sphinx (et pas reStructuredText en général)? Je vais à couvrir à la fois, car les gens à l'aide de la TVD sont susceptibles de courir dans les deux cas à un certain point:
Sphinx
Outre le domaine des directives spécifiques qui peuvent être utilisés pour lier les diverses entités telles que les classes (
:class:
) il y a le général:ref:
directive, documenté ici. Ils donnent cet exemple:Bien que le général de liens hypertexte mécanisme offert par la TVD ne travail que dans le Sphinx, la documentation recommande à l'encontre de l'aide lors de l'utilisation de Sphinx:
PREMIER, en Général
Les outils convertir TVD fichiers au format HTML n'ont pas nécessairement une notion de collection. C'est le cas, par exemple, si vous comptez sur github pour convertir TVD fichiers au format HTML ou si vous utilisez un outil de ligne de commande comme
rst2html
. Malheureusement, les différentes méthodes à utiliser pour obtenir le résultat souhaité varier selon l'outil que vous utilisez. Par exemple, si vous utilisezrst2html
et vous voulez que les fichiersA.rst
de lien vers une section nommée "Section" dans le fichierother.rst
et vous souhaitez le HTML final de travailler dans un navigateur, puisA.rst
contient:Vous avez un lien pour le dernier fichier HTML et vous devez savoir ce que le
id
donnée à la section sera. Si vous voulez faire de même pour un fichier servi par github:Ici aussi, vous avez besoin de savoir l'
id
donnée à la section. Cependant, vous avez un lien pour le premier fichier, car c'est seulement lors de l'accès le premier fichier HTML est créé. (Au moment de la rédaction de cette réponse, en accédant directement du code HTML n'est pas autorisé.)Un exemple complet est disponible ici.
RST, in General
, a été décevant nouvelles!).. _my-reference-label:
approche est quemy-reference-label
est indiqué dans l'URL après#
dans le lien. Donc, on doit utiliser de jolis noms d'étiquettes. Aussi, la table des matières crée toujours un#
-lien deSection to cross-reference
, et donc on se retrouve avec deux différents#
-des liens vers la même section.Nouveau, de meilleure réponse pour 2016!
La autosection extension vous permet de faire cela facilement.
puis, plus tard...
Cette extension est intégrée, de sorte que tous vous avez besoin est de modifier
conf.py
La seule chose que vous devez faire attention est que maintenant vous ne pouvez pas dupliquer interne les gros titres dans la doc de la collection. (La peine.)
_page-title-learn-more
). C'est un peu ennuyeux, mais j'aime toujours principalement en s'appuyant sur autosection.autosectionlabel_prefix_document
option de configuration qui permet d'éviter une double manchette question en préfixant chaque section de l'étiquette avec le nom du document, il vient de.Exemple:
où
Homebrew
est une section à l'intérieur d'un autre document nomméInstallation.rst
.Il utilise le autosection fonctionnalité, et aura donc besoin de modifier
config.py
avec les éléments suivants: