Modulo pylatex in Python

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Latex chiamato "Lay-tech" è un sistema di documentazione per documentazione di alta qualità. Viene utilizzato principalmente per la preparazione di articoli tecnici o scientifici, ma può essere utilizzato per quasi tutte le forme di pubblicazione. Latex non è un word processor come MS Word o LibreOffice Writer. Invece, Latex incoraggia gli autori a non preoccuparsi dell`aspetto dei loro documenti, ma a concentrarsi sull`ottenere il contenuto giusto. Ad esempio, considera il seguente documento:

Questo articolo spiega l`uso del modulo pylatex Python.Engineering ottobre 2018 

Per creare questo nella maggior parte dei word processor, l`autore dovrebbe decidere quale layout da usare, quindi sceglierei (diciamo) 18pt Helvetica per il titolo, 12pt Times Roman per il nome e così via. Di conseguenza, l`autore dedica tempo allo sviluppo del documento. Latex si basa sull`idea che consente agli autori di iniziare a scrivere un documento e lasciare che siano i progettisti del documento a svilupparlo. Quindi in Latex puoi inserire il documento sopra come:

documentclass {article} itle {Questo articolo spiega l`uso del modulo pylatex} autore {GeeksforGeeks} date {Ottobre 2018} egin {document} maketitle Continua a leggere end { document} 

Layout del documento in lattice:
Ci sono due parti principali di un documento in lattice:
Preambolo:

  • Preambolo — questa è la prima parte del file latex.
  • Contiene informazioni dettagliate sul documento come classe del documento, nome dell`autore, titolo, ecc.

Corpo:

  • Sezioni, tabelle, equazioni matematiche, grafici, ecc. possono essere inclusi nel corpo di un documento in lattice.
  • Tutto il contenuto del documento è all`interno di ' / inizio {documento} ' e ' / fine {documento} '

Alcune caratteristiche del lattice:

  1. Preparazione di articoli di riviste, rapporti tecnici, libri tecnici o non tecnici e diapositive presentazioni.
  2. Ciò fornisce un migliore controllo su documenti di grandi dimensioni contenenti sezioni, collegamenti, tabelle e figure.
  3. Questo può essere utile anche per preparare documenti contenenti formule matematiche complesse.
  4. La generazione di bibliografie e indici è automatica in LaTeX.
  5. Fornisce anche supporto per la digitazione multilingue.
  6. Al documento in lattice possiamo anche aggiungere elementi grafici, illustrazioni ed elaborare o tinte piatte.
  7. In LaTeX sono possibili anche font PostScript o metaphone.

Documento LaTeX di esempio:
Esempio 1: In questo esempio stiamo modellando un semplice lattice in modo che da latex usiamo il semplice formato di input che abbiamo usato in latex.

documentclass {article } %

usepackage [T1] { fontenc} %

usepackage [utf8] {inputenc} %

usepackage {lmodern } %

usepackage {textcomp} %

usepackage {lastpage} %

usepackage [tmargin = 1cm, lmargin = 10cm] {geometry} %

usepackage {amsm ath} %

usepackage {tikz} %

usepackage {pgfplots} %

pgfplotsset {compat = newest} %

usepackage {graphicx} %

%
%
%

egin {document} %

ormalsize %

sezione {La roba normale} %

label {sec: The regular stuff} %

Un po` di testo e un po` %

extit {testo corsivo. } %

ewline %

Anche alcuni simboli folli: $ & amp; # { } %

sottosezione {matematica errata} %

label {subsec: matematica errata} %

[ %

2 * 3 = 22 %

]


%

end {document}

Output :

Esempio 2: In questo esempio, abbiamo utilizzato l`etichetta della sottosezione per formare il lattice.


documentclass {article} %

usepackage [T1] {fontenc} %

usepackage [utf8] {inputenc} %

usepackage {lmodern} %

usepackage {textcomp} %

usepackage {lastpage} %

usepackage [tmargin = 1cm, lmargin = 10cm] {geometry} %

usepackage {amsmath} %

usepackage {tikz} %

usepackage {pgfplots} %

pgfplotsset {compat = newest} %

usepackage {graphicx} %

%
%
%
%

sottosezione {Tabella} %

label {subsec: Table} %

egin {tabular} {rc | cl} %

hline %

a & amp; b & amp; c & amp; d %

cline { 1 %

- %

2} %

& amp; & amp; & amp; %

e & amp; f & amp; g & amp; 7h %

end {tabular}


%

sezione {Caratteristiche speciali} %

label {sec: Funzioni speciali} %

sottosezione {Equazioni matrici corrette} %

label {subsec: equazioni matrici corrette} %

[ %

egin {pmatrix} %

1 & amp; 4 e amp; 4 %

< codice classe = "semplice"> 2 & amp; 3 e amp; 4 %

< codice classe = "semplice"> 2 & amp; 2 & amp; 5 %

end {pmatrix} egin {pmatrix} %

800 %

30 %

30 %

end {pmatrix } = egin {pmatrix } %

810 %

60 %

50 %

end {pmatrix} %

]


%

end { document}

Risultato: < br>

Cos`è Pylatex:
PyLaTeX — è una libreria Python per creare e compilare documenti in lattice. L`obiettivo di questa libreria è di essere semplice, ma anche di fornire un`interfaccia estensibile tra Python e latex.

Alcune funzionalità di pylatex:

  • Possiamo accedere a tutte le funzionalità di LaTeX in Python usando questo modulo
  • Possiamo creare documenti con meno righe di codice
  • Dato che python è un linguaggio di alto livello, è più facile scrivere codice per pylatex in python rispetto a LaTeX
  • Nel codice LaTeX sopra, devi aver visto che per ottenere equazioni dobbiamo calcolare i valori ‚Äã‚Äãe quindi inserirli nel documento LaTeX, ma con la funzionalità python aggiunta per fare aritmetica operazioni è molto più semplice preparare i documenti

Crea un documento Pylatex:

  • Installa MikTeX e il modulo pylatex sul tuo sistema e importarlo nel codice Python.
    Per installare MikTeX sul tuo sistema, segui il link:
    https://miktex.org/download 

    Per installare pylatex su un sistema operativo Windows, immettere il seguente comando in t a riga di comando:

    python -m pip install pylatex 
  • Crea un documento per importare una classe di documenti dal modulo pylatex. Esistono diversi tipi di documenti in latex: articolo, report, lettera, ecc. Per creare un documento di tipo articolo, crea un oggetto della classe Document da latex e passa ' articolo '
    doc = Document (documentclass = `article`) 
  • Per aggiungere le modifiche necessarie al documento, come lo stile o la formattazione, importa le classi richieste nel codice Python da pylatex. Per aggiungere varie utilità a un documento latex usando pylatex, è possibile nel modo seguente
    da pylatex import Document, Section, Subsection from pylatex.utils import italic, bold 
  • Per generare un PDF document, chiama il metodo generate_pdf della classe Document utilizzando un oggetto della classe Document e assicurati di passare il nome del documento pdf nel suo argomento in questo modo.
    doc.generate_pdf ("Demo_article") 

Esempio di Python:
Codice 1:


# Programma Python che genera
# piccolo documento usando pylatex


import numpy as np


# import from mod ulya pylatex

da pylatex import Documento, sezione, sottosezione, tabulare

da pylatex import Math, TikZ, Axis, Plot, Figure, Matrix, Alignat

da pylatex.utils import corsivo

impor t os


if __ nome__ = = `__main__` :

image_filename = os. path.join (os.path.dirname (__ file__), `kitten.jpg` )


opzioni_geometriche = { "tmargin" : "1cm" , "lmargin" : "10cm" }

doc = Documento (geometry_options = geometry_options)


# crea un PDF intitolato " roba semplice"

con doc.create (Sezione ( ` The simple stuff` )):

doc.append ( ` Alcuni testo normale e un po` )

doc.append (corsivo ( `testo in corsivo. ` ))

doc.append ( `Anche alcuni caratteri folli: $ {}` )

con doc.create (Sottosezione ( `Matematica non corretta` )):

doc.append (Math (data = [ `2 * 3` , ` = ` < codice classe ="plain">, 9 ]))


# crea una sottosezione pdf

con doc. create (Sottosezione ( `Tabella di qualcosa` )):

con doc.create (Tabular ( `rc | cl` )) come tabella:

table.add_hline ()

table.add_row (( < classe codice = "valore"> 1 , 2 , 3 , 4 ))

table.add_hline ( 1 , 2 )

table.add_empty_row ()

table.add_row (( 4 , 5 , 6 , 7 ))


# crea PDF using .generate_pdf

doc.generate_pdf ( `full` , clean_tex = False )

Risultato:

Codice 2:


import numpy come np


da pylatex sono port Documento, sezione, sottosezione, tabulare

from pylatex import Matematica, TikZ, Asse, Grafico, Figura, Matrice, Allinea

from pylatex.utils import corsivo

import os


< codice classe = "parola chiave"> if __ nome__ = = `__main__` :

image_filename = os. path.join (os.path.dirname (__ file__), `kitten.jpg` )


opzioni_geometriche = { "tmargin" : "1cm" , "lmargin" : "10c m " }

doc = Documento (geometry_options = geometry_options)


# crea una matrice usando il modulo numpy

a = np.array ([[ 100 , 10 , 20 ]]). T

M = np.matrix ([[ 2 , 3 , 4 ],

[ 0 , 0 , 1 ],

[ 0 , 0 , 2 ]])


# crea un`intestazione usando fashion

con doc.create (Sezione ( `The fancy stuff` )):

con doc.create (Sottosezione ( `Equazioni matrici corrette` )):

doc.append (Matematica (dati = [Matrice (M), Matrice (a), `=` , Matrix (M * a)]) )


# crea una sottosezione pdf

con doc.create (Sottosezione ( ` Allinea l`ambiente matematico` )):

con doc.create (Alignat (numerazione = False , escape = False )) as agn:

agn.append (r `frac {a} {b} & amp; = 0 ` )

agn.extend ([Matrice (M), Matrice (a), `& amp; =` , Matrix (M * a)])


con doc.create (Sottosezione ( `Bellissimi grafici` )):

con doc.create (TikZ () ):

plot_options = ` height = 4 cm, larghezza = 6 cm, griglia = maggiore`

con doc.create (Axis ( options = plot_options )) come trama:

plot.append (Plot (nome = `model` , func = `-x ^ 5 - 242` ))

< codice classe ="plain "> coordinate = [

( - 4.77778 , 2027.60977 ),

( - 3 .55556 , 347.84069 ),

( - 2.33333 , 22.58953 ),

( - 1.11111 , - 493.50066 ),

( 0.11111 , 46.66082 ),

( 1.33333 , - 205.5628 6 ),

( 2.55556 , - 341.40638 ),

( 3.77778 , - 1169.24780 ),

( 5.00000 , - 3269.56775 ),

]


plot.append (Plot (name = `stima` , coordinate = coordinate))


con doc.create (Sottosezione ( `Immagini di gattini carini` )):

con doc.create (Figura (posizione = `h!` )) come gattino_pic:

gattino_pic.add_image (nome_file_immagine, larghezza = `120px` )

( 2.55556 , - 341.40638 ), < /codice>