5 Stimmen

Ist es möglich, in reStructuredText im zweispaltigen Stil zu schreiben?

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.

7voto

Roberto Alsina Punkte 752

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.

4voto

Matti Pastell Punkte 8915

Wenn Sie zwei Spalten Latex aus reST möchten, können Sie es mit folgendem Befehl erhalten:

rst2latex --documentoptions=twocolumn source.rst

4voto

zzart Punkte 10506

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

3voto

jmdeldin Punkte 5274

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.

0voto

user3313834 Punkte 6520

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

Sie haben nun einen zweispaltigen Artikel in pdflatex!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X