Ich finde die Standardcodebeispielschrift in der von sphinx erzeugten PDF viel zu groß.
Ich habe versucht, meine Hände in der erzeugten .tex-Datei schmutzig zu machen, indem ich Schriftgrößenbefehle wie \tiny
über den Codeblöcken einfüge, aber es macht nur die Zeile über dem Codeblock winzig, nicht den Codeblock selbst.
Ich bin nicht sicher, was ich noch tun soll - ich bin ein absoluter Anfänger mit LaTeX.
Ich habe es ausgearbeitet. Segments verwendet einen \begin{Verbatim}
-Block, um Code-Snippets zu bezeichnen, der das fancyvrb
-Paket verwendet. Die Dokumentation, die ich gefunden habe (Warnung: PDF) erwähnt eine Option formatcom
für der Verbatim-Block.
Die Latex-Schreiber-Quelle gibt eine Instanzvariable an, verboptions
, wird an das Ende jedes Wortblocks geklammert und lässt Sphinx 'Latexbrücke' spenden Sie ersetzen die LatexFormatter
.
Am Anfang meiner conf.py
-Datei habe ich Folgendes hinzugefügt:
\footnotesize
war meine Präferenz, aber eine Liste von Größen ist hier
Um die Optionen für die Latexausgabe in sphinx zu ändern, setzen Sie den entsprechenden Schlüssel latex_elements
in der Build-Konfigurationsdatei. Die Dokumentation dazu finden Sie hier .
Um die Schriftgröße für alle Schriftarten zu ändern, verwenden Sie pointsize
.
z.
%Vor% Um andere Latex-Einstellungen zu ändern, die in der Dokumentation aufgelistet sind, verwenden Sie preamble
oder verwenden Sie eine benutzerdefinierte Dokumentklasse in latex_documents
.
z.
%Vor% Wenn Sie den Sphinx-Quellcode standardmäßig lesen, legt der Code in LatexWriter Code-Snippets fest zum \code
latex Primitiv.
Was Sie also tun möchten, ist das Ersetzen der \code
durch einen geeigneten Ersatz.
Dies geschieht durch Einfügen eines Latex-Befehls wie \newcommand{\code}[1]{\texttt{\tiny{#1}}}
entweder als Teil der Präambel oder als Teil einer benutzerdefinierten Dokumentklasse für sphinx, die in latex_documents
als Dokumentklassenschlüssel gesetzt wird. Eine Beispielsklasse für Sphinx-Dokumente ist hier verfügbar .
Anders als nur kleiner machen mit \tiny
können Sie die latex_documents
Dokumentklasse oder die latex_elements
Präambel ändern, um die Latex Paketlisten für eine ausgefallenere Code Formatierung zu verwenden, wie in der StackOverflow Frage hier .
Das Package-Material aus dem verlinkten Post würde als benutzerdefinierte Dokumentklasse verwendet und die Neudefinition ähnlich wie \newcommand{\code}[1]{\begin{lstlisting} #1 \end{lstlisting}}
wäre Teil der Präambel.
Alternativ könntest du eine Sphinx-Erweiterung schreiben, die den Standard-Latex-Schreiber mit einem benutzerdefinierten Latex-Schreiber deiner Wahl erweitert, obwohl das erheblich mehr Aufwand bedeutet.
Andere relevante StackOverflow-Fragen beinhalten
Sie können einen modifizierten Verbatim-Befehl in Ihren PREAMBLE einfügen (Beachten Sie, dass in diesem Fall die Schriftgröße in "winzig" geändert wird)
%Vor%Tags und Links python python-sphinx latex documentation