Ich würde gerne eine Forschungsarbeit mit restructuredtext schreiben, ist es möglich, den Zwei-Spalten-Stil, der dieser Art von Dokument inhärent ist, zu haben? Ich habe mir die Spezifikationen angesehen, aber abgesehen von der Verwendung einer Tabelle, die wirklich umständlich sein wird, konnte ich keine Alternative finden.
Antworten
Zu viele Anzeigen?Sie können in einem beliebigen der von docutils ausgegebenen Formate 2-Spalten ausgeben.
Wenn Sie eine 2-Spalten ReST-Quelle wünschen, ist dies viel schwieriger.
Da es keine Seiten gibt, ergibt es vielleicht nicht einmal einen Sinn (stellen Sie sich vor, die Spalten sind 5000 Zeilen lang ;-), also werde ich davon ausgehen, dass Sie die Ausgabe meinen, sei es HTML, PDF oder sonstiges.
Für PDF ist es mit rst2pdf trivial, Sie müssen nur die -s twocolumn Option verwenden.
Für HTML handelt es sich um eine CSS-Angelegenheit, und ich bin sicher, dass Google Ihnen helfen kann.
Es ist mit rst2pdf möglich, aber Ihr Layout muss innerhalb von PageBreak
bleiben. Mit anderen Worten, Sie können kein Layout mit 1 Spalte und ein Layout mit 2 Spalten auf einer Seite haben.
.. raw:: pdf
PageBreak twoColumn
etwas Text in zwei Spalten
.. raw:: pdf
PageBreak oneColumn
etwas Text in einer Spalte
Ich habe keinen Weg gefunden, dies mit ReST zu tun. Du solltest wirklich LaTeX für deine Forschungsarbeit in Betracht ziehen, besonders für Zitate (BibTex), wenn du sie im Klartext schreiben möchtest. Du kannst leicht zwischen einer und zwei Spalten wechseln:
% Entferne "twocolumn" für eine einzelne Spalte
\documentclass[twocolumn]{article}
\begin{document}
Text hier...
\end{document}
Siehe Wikibooks für eine gute Referenz.
Verwendung von Sphinx
$ python3 -m venv ~/venv ; . ~/venv/bin/activate
$ pip install sphinx
$ sphinx-quickstart # alle Fragen mit Standardwerten beantworten
$ tree
.
_build
conf.py
index.rst
Makefile
rapport.rst
README.rst
requirements.txt
_static
Um ein LaTeX A4-Dokument mit Kontrolle über die Ränder und 2 Spalten zu haben, fügen Sie dies zu conf.py
hinzu:
# -- Optionen für LaTeX-Ausgabe --------------------------------
latex_elements = {
'papersize': 'a4paper', # 'letterpaper' oder 'a4paper'
'pointsize': '10pt', # Schriftgröße (Standard ist 10pt)
'sphinxsetup': 'hmargin={1.5cm,1.5cm}, vmargin={2cm,2cm}',
'classoptions': ',twocolumn', # um zwei Spalten zu haben
}
latex_theme = 'howto' # 'manual' für ein Buch, 'howto' für einen Artikel
latex_logo = 'src/images/spqr_300px.png'
Erstelle einige rst
Dateien::
$ mkdir -p src
$ touch src/antiquite.rst src/biographie.rst src/moderne.rst
Dann müssen wir das Haupt-TOC-Inhaltsverzeichnis in der Hauptdatei index.rst
definieren, diese TOC-Datei wird auf rst-Dateien verweisen, die im Dokument enthalten sein sollen::
$ cat index.rst
Exposé
===============
.. toctree::
:maxdepth: 3
:caption: Table des Matieres:
/src/antiquite.rst
/src/biographie.rst
/src/moderne.rst
$
Aus dem Ordner, in dem sich die Makefile
befindet, führen Sie aus::
$ make html
um HTML zu erstellen und Firefox auf_build/html/index.html
zu verweisen$ make pdflatex
um ein PDF zu erstellen und evince auf_build/latex/*.pdf
zu verweisen