2017-08-30 2 views
1

Ich schreibe ein Buch in Sphinx (überhaupt nicht python bezogen). Und ich habe einige Begriffe, die in dem Text erscheinen, den ich am Ende der pdf auflisten möchte. Was ich will, ist genau das, was man mit dem von Latex angebotenen index erreichen kann.Wie erstelle ich eine automatische Liste von Wörtern in Sphinx

Ich bin mir der glossary Richtlinie in Sphinx bewusst, aber es führt eindeutig nicht, was ich will. Zum Beispiel würden mehrere Begriffe nicht einmal eine Definition haben, aber ich möchte einen Link zu ihnen am Ende des Dokuments. Etwas wie folgt aus:

At page 1: 

    Mammal is a type of animal, we all love them... 

At page 17: 

    Berries are fruits, we all love them... 

At the end of the book: 

    Index 
    berry, 17 
    mammal, 1 

ich über die index Rolle in Sphinx Dokumentation gelesen haben, here. Es scheint perfekt für mein Problem, aber es ist nicht klar, wie Sie den Index aller Begriffe am Ende erstellen.

Gibt es einen Befehl, die alle Bedingungen zur Liste erstellt

.. index: mammal 

im gesamten Text verwendet? Oder gibt es eine andere Richtlinie, die den Job erledigt?

+1

Ich kenne keinen Befehl, der ausgeführt werden kann, außer 'make '. Hier ist eine [Beispielausgabe der Sphinx-Dokumentation mit 'make html'] (http://www.sphinx-doc.org/en/stable/genindex.html). Sphinx generiert den Index automatisch für jeden Builder. Einträge im Index werden entsprechend der Domäne generiert und welche manuellen Einträge auch immer im reStructuredText Markup '.. index :: ' für Blöcke und ': index:' für Inline sind. –

+1

Der Index funktioniert wie in LaTeX. Sphinx erzeugt eine separate HTML-Seite mit allen Indexinhalten. Sie können einfache, doppelte und dreifache Indexeinträge haben. Sphinx wird sie für dich gruppieren. Hier ist eine [Beispielausgabe] (http://ghdl.readthedocs.io/en/latest/genindex.html). Einige Domains erstellen ihre eigenen Indizes. – Paebbels

Antwort

1

Die Kommentare waren genug für mich, um es herauszufinden.

Der Index wird automatisch in HTML generiert, aber er muss in der Datei genindex.html gefunden werden, die aus anderen Gründen in meiner Maschine versteckt war.

Für die Ausgabe pdf muss der Index separat kompiliert werden.

Also, kein zusätzlicher Befehl in Sphinx, alles ist automatisch.

+0

Normalerweise ist der Index über eine HTML-Seitenverknüpfung verknüpft, aber es gibt einen Trick, den Index in der Navigationsleiste zu verknüpfen. Sie müssen ein 'genindex.rst' erstellen, das in der' toctree'-Direktive aufgeführt sein kann. Wenn die Navigation geschrieben und alles geparst wird, überschreibt Sphinx genindex.html mit der Ausgabe aus der Indexdatenbank. – Paebbels

Verwandte Themen