Frage

Wenn RST zu schreiben, die verarbeitet werden mit Sphinx , kann ich Sphinx LaTeX-Ausgabe nicht Figur-Nummern zu verwenden, wenn Zahlen verweisen. Zum Beispiel dieses Code:

The lemmings are attacking, as can be seen in :ref:`figlem`.

.. _figlem:

.. figure:: _static/lemming_invasion.* 

   They're coming!

Wird in diese umgewandelt werden:

  

Die Lemminge angreifen können wie sein   gesehen in Sie kommen!

     

/ Bild geht hier /

     

Abbildung 1.1: Sie kommen

Aber was ich will, ist der „Standard“ LaTeX Art und Weise der Referenzierung Zahlen wie folgt aus:

  

Die Lemminge angreifen können wie sein   gesehen in Abbildung 1.1

Wie kann ich das erreichen? Der Code, den ich zur Zeit bin mit ist es, was das Sphinx Handbuch empfiehlt, aber es produziert nicht den Ausgang ich will.

War es hilfreich?

Lösung

Die numfig Erweiterung tut genau dies. Ich versuchte es und es funktioniert für mich.

Andere Tipps

In den neuesten Versionen von Sphinx (1.3+), Zahlen Nummerierung und Referenzierung von Text wurde ein wenig leichter als Unterstützung für sie jetzt eingebaut ist.

In Ihrem Text können Sie wie etwas tun:

.. _label:
.. figure:: images/figure.*


At :numref:`label` you can see...

Das Endergebnis sollte so etwas wie „In Bild 1.1 Sie sehen können ...“. Diese Technik funktioniert sowohl mit der Standard-HTML-Ausgabe und der LaTeX-Ausgabe.

In Ihrer conf.py Datei, stellen Sie sicher, dass das Flag numfig = True einzustellen. Es gibt auch Konfigurationsoptionen für die Textformat Referenzen (numfig_format und numfig_secnum_depth).

Referenzen:

auf der akzeptierte Antwort zu erweitern, können Sie schnell diesen Satz aufstehen wie folgt. Legen Sie die numfig.py Datei in Ihrem source Verzeichnis. Dann öffnen conf.py und Kommentar- der Zeile, die sagt,

sys.path.insert(0, os.path.abspath('.'))

Dann 'numfig' auf die extensions Liste hinzuzufügen.

Um in Ihrem rst Dokument verwenden, zuerst beschriften Sie Ihre Figur (zum Beispiel fig-main):

.. _fig-main:

.. figure:: main.png

   This is the figure caption.

Schließlich können Sie ihre Zahl Nummer mit der :num: Richtlinie, wie diese Referenz:

Refer to the main figure (Figure :num:`fig-main`).

Ich denke Referenzierung Figuren ist noch nicht in reST implementiert, aber hier ist Abhilfe http://article.gmane.org/gmane.text.docutils.user/5623 , die Sie näher kommt.

Man kann Rohlatex Code verwenden, Inline. Für das obige Beispiel, wird eine Rolle für Rohlatex Code zuerst definiert und als die Figur mit dem \ref{} Latex Befehl Bezug zu nehmen, und ein Etikett auf die Figur mit dem \label{} Latex Befehl einzustellen.

In der folgenden sollte funktionieren:

.. role:: raw-latex(raw)
     :format: latex

The lemmings are attacking, as can be seen in :ref:`figlem`
on figure :raw-latex:`\ref{pic:lem}`.

.. _figlem:

.. figure:: _static/lemming_invasion.* 

   They're coming! :raw-latex:`\label{pic:lem}`

Beachten Sie, dass der \label{} Befehl innerhalb der Beschriftung in der tex-Datei angezeigt werden, aber es ist immer noch akzeptabel, zumindest von pdflatex. Beachten Sie auch, dass es vor :raw-latex mindestens ein Leerzeichen sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top