Sphinx erstellt uncodierte Codeblöcke in der PDF-Ausgabe

8

Codeblöcke sehen in der PDF-Ausgabe hässlich aus (überprüfen Sie die Anführungszeichen):

Ich benutze Version 1.1.3 von Sphinx und benutze den folgenden Befehl, um das Dokument zu erstellen:

%Vor%

Wenn Sie das Snippet aus der PDF-Datei kopieren, wird die Einrückung beim Einfügen zerstört:

%Vor%

Ich würde das erwarten:

%Vor%

Das wäre noch schöner:

%Vor%     
Tshepang 22.04.2013, 23:49
quelle

3 Antworten

3

Sphinx ist wirklich ein ausgezeichnetes Werkzeug, aber ich habe auch ein paar Probleme mit der Standard-PDF-Ausgabe des latexpdf-Ziels.

Speziell:

  • Einfache Anführungszeichen in Codeblöcken werden in akute Anführungszeichen umgewandelt, die im Quellcode nicht richtig aussehen.
  • Die Codeblöcke sind nicht vom Haupttext eingerückt. Das macht sie für mich weniger lesbar.
  • Ich bevorzuge andere Schriftarten und Segmente, aber das ist nur eine persönliche Entscheidung und kann konfiguriert werden.

Ein Teil davon kann in dem LaTeX Pre-amble Abschnitt der conf.py Sphinx festgelegt werden, aber die Zitate werden von Sphinx, um benutzerdefinierten LaTeX Einheiten geändert, so dass die upquote LaTeX-Paket kann nicht verwendet werden, um sie zu korrigieren.

Nachdem ich ein wenig mit den verschiedenen Konfigurationsoptionen experimentiert hatte, schrieb ich ein kleines Skript, um die LaTeX-Quelle zu modifizieren, bevor das PDF erstellt wurde. Das Skript ist hier und die Ausgabe, die ich wollte erzeugen hier . (Zum Vergleich: hier ist die Standard-Ausgabe für das gleiche Dokument).

Wenn jemand eine sauberere Lösung hat, zum Beispiel eine, die vollständig durch Sphinx conf.py getan werden könnte, so würden die Änderungen durch abgeholt werden ReadTheDocs dann wäre ich interessiert.

Auch das Problem mit der Vertiefung verliert beim Kopieren und Einfügen von PDF ist wahrscheinlich nicht eine Sphinx / LaTeX Ausgabe.

    
jmcnamara 23.04.2013 08:36
quelle
2

Dies ist nur eine Teilantwort, die zu einer ultimativen Lösung führen kann. Um Typographer-Anführungszeichen (auch als lockige oder intelligente Anführungszeichen bezeichnet) für die HTML-Ausgabe in Sphinx zu deaktivieren, ändern Sie die Standardeinstellung in conf.py für SmartyPants von Wahr zu Falsch .

Ich nehme an, dass man die Funktion in Sphinx finden kann, die Anführungszeichen transformiert und dieselbe Logik aus der HTML-Ausgabe verwendet und sie für die PDF-Ausgabe anwendet.

    
Steve Piercy 04.10.2013 06:57
quelle
0

Die von Steve Piercy vorgeschlagene Option funktioniert jetzt nicht mehr (seit Sphinx 1.6):

%Vor%

Was mir nicht klar war, war, wie man diese Einstellung anwendet. Sie müssen eine docutils.conf -Datei erstellen und sie in einen dieser Standorte einfügen:

  • /etc/docutils.conf
  • ./ docutils.conf
  • ~ / .docutils

Die einfachste Möglichkeit besteht darin, es dort zu platzieren, wo Sie die Dokumente erstellen - YMMV. Es sollte mindestens folgendes enthalten:

%Vor%     
johndodo 13.06.2017 10:26
quelle

Tags und Links