Moduł Pylatex w Pythonie

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

Lateks o nazwie „Lay-tech” to system dokumentacji zapewniający wysokiej jakości dokumentację. Stosowany jest głównie do przygotowania artykułów technicznych lub naukowych, ale może być stosowany do prawie wszystkich form publikacji. Lateks nie jest edytorem tekstu, takim jak MS Word czy LibreOffice Writer. Zamiast tego Latex zachęca autorów, aby nie martwili się o wygląd swoich dokumentów, ale skupili się na uzyskaniu odpowiedniej treści. Rozważmy na przykład następujący dokument:

Ten artykuł wyjaśnia użycie modułu pylatex Python.Engineering Październik 2018 

Aby stworzyć to w większości edytorów tekstu, autor musiałby zdecydować, który do użycia, więc wybrałbym (powiedzmy) 18pt Helvetica jako tytuł, 12pt Times Roman jako nazwę i tak dalej. W rezultacie autor poświęca czas na opracowanie dokumentu. Lateks opiera się na założeniu, że umożliwia autorom rozpoczęcie pisania dokumentu i pozostawienie go projektantom dokumentu, aby go rozwijali. Więc w Latex możesz wprowadzić powyższy dokument jako:

documentclass {artykuł} itle {Ten artykuł wyjaśnia użycie modułu pylatex} autor {GeeksforGeeks} data {październik 2018} egin {dokument} maketitle Kontynuuj czytanie koniec { document} 

Układ dokumentu lateksowego:
Istnieją dwie główne części dokumentu lateksowego:
Preambuła:

  • Preambuła — to jest pierwsza część pliku lateksowego.
  • Zawiera szczegółowe informacje o dokumencie, takie jak klasa dokumentu, nazwisko autora, tytuł itp.

Treść:

  • Sekcje, tabele, równania matematyczne, wykresy itp. mogą znajdować się w treści dokumentu lateksowego.
  • Cała zawartość dokumentu znajduje się wewnątrz ' / rozpocznij {dokument} ' i ' / koniec {dokument} '

Niektóre cechy lateksu:

  1. Przygotowywanie artykułów prasowych, raportów technicznych, książek technicznych lub nietechnicznych oraz slajdów prezentacje.
  2. Zapewnia to lepszą kontrolę nad dużymi dokumentami zawierającymi sekcje, łącza, tabele i rysunki.
  3. Może to być również przydatne do przygotowywania dokumentów zawierających złożone formuły matematyczne.
  4. Generowanie bibliografii i indeksów w LaTeX-ie odbywa się automatycznie.
  5. Zapewnia również obsługę pisania w wielu językach.
  6. Do dokumentu lateksowego możemy również dodać grafikę, ilustrację oraz kolor podstawowy lub dodatkowy.
  7. Czcionki PostScript lub metaphone są również możliwe w LaTeX-ie.

Przykładowy dokument LaTeX:
Przykład 1: W tym przykładzie kształtujemy zwykły lateks tak, że z lateksu używamy prosty format wejściowy, którego używaliśmy w lateksie.

documentclass {artykuł } %

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 = najnowsze} %

usepackage {graphicx} %

%
%
%

egin {document} %

ormalsize %

sekcja {Zwykłe rzeczy} %

label {sec: Zwykłe rzeczy} %

Trochę tekstu i trochę %

wyjście {tekst kursywy. } %

ewline %

Także kilka szalonych symboli: $ & amp; # { } %

podsekcja {Nieprawidłowa matematyka} %

label {subsec: Incorrect math} %

[ %

2 * 3 = 22 %

]


%

end {document}

Wyjście :

Przykład 2: W tym przykładzie użyliśmy etykiety podsekcji do utworzenia lateksu.


documentclass {artykuł} %

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 = najnowsze} %

usepackage {graphicx} %

%
%
%
%

podsekcja {Tabela} %

label {subsec: Table} %

egin {tabular} {rc | cl} %

hline %

a & amp; b & amp; obóz; d %

cline { 1 %

- %

2} %

& amp; & amp; & amp; %

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

end {tabular}


%

sekcja {Specjalne funkcje} %

etykieta {sec: Funkcje specjalne} %

podsekcja {Poprawne równania macierzowe} %

label {subsec: Popraw równania macierzowe} %

[ %

egin {pmatrix} %

1 & amp; 4 & amp; 4 %

< klasa kodu = "zwykły"> 2 & amp; 3 & amp; 4 %

< klasa kodu = "zwykły"> 2 & amp; 2 & amp; 5 %

end {pmatrix} egin {pmatrix} %

800 %

30 %

30 %

end {pmatrix } = egin {pmatrix } %

810 %

60 %

50 %

end {pmatrix} %

]


%

end { dokument}

Wyjście: < br>

Co to jest Pylatex:
PyLaTeX — jest to biblioteka Pythona do tworzenia i kompilowania dokumentów lateksowych. Celem tej biblioteki jest prostota, ale także zapewnienie rozszerzalnego interfejsu między Pythonem a lateksem.

Niektóre funkcje pylateksu:

  • Możemy uzyskać dostęp do wszystkich funkcji LaTeX w Pythonie za pomocą tego modułu
  • Możemy tworzyć dokumenty z mniejszą liczbą linii kodu
  • Ponieważ Python jest językiem wysokiego poziomu, łatwiej jest pisać kod dla pylatex w Pythonie w porównaniu do LaTeX
  • W powyższym kodzie LaTeX-a musiałeś zauważyć, że aby uzyskać równania, musimy obliczyć wartości „Ę”, a następnie wprowadzić je do dokumentu LaTeX, ale z dodaną funkcjonalnością Pythona do wykonywania arytmetyki znacznie łatwiej jest przygotować dokumenty

Utwórz dokument Pylatex:

  • Zainstaluj MikTeX i moduł pylatex na swoim systemu i zaimportuj go do kodu Pythona.
    Aby zainstalować MikTeX w swoim systemie, kliknij link:
    https://miktex.org/download 

    Aby zainstalować pylatex w systemie operacyjnym Windows, wpisz następujące polecenie w t Linia poleceń:

    python -m pip install pylatex 
  • Utwórz dokument, aby zaimportować klasę dokumentu z modułu pylatex. W lateksie istnieją różne typy dokumentów: artykuł, raport, list itp. Aby utworzyć dokument typu artykuł, utwórz obiekt klasy Document z lateksu i przekaż ' artykuł '
    doc = Dokument (documentclass = ’article’) 
  • Aby dodać niezbędne zmiany do dokumentu, takie jak stylizacja lub formatowanie, zaimportuj klasy wymagane w kodzie Pythona z pylatex. Aby dodać różne narzędzia do dokumentu lateksowego za pomocą pylateksu, możliwy jest następujący sposób
    z pylatex importuj dokument, sekcję, podsekcję z pylatex.utils importuj kursywę, pogrubienie 
  • Aby wygenerować plik PDF pliku dokumentu, wywołaj metodę generate_pdf klasy Document przy użyciu obiektu klasy Document i pamiętaj, aby w ten sposób przekazać nazwę dokumentu pdf w jego argumencie.
    doc.generate_pdf ("Artykuł_demo") 

Przykład Pylateksu:
Kod 1:


# generowanie programu w Pythonie
# mały dokument przy użyciu pylateksu


import numpy as np


# import z mod ulya pylatex

z pylatex import Dokument, Sekcja, Podsekcja, Tabela

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

z pylatex.utils import kursywa

impor t os


if __ name__ = = ’__main__’ :

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


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

doc = Dokument (geometry_options = geometry_options)


# utwórz plik PDF zatytułowany " proste rzeczy"

z doc.create (Sekcja ( ’ The simple stuff’ )):

doc.append ( ’ Niektóre zwykły tekst i niektóre’ )

doc.append (kursywa ( ’tekst kursywa. ’ ))

doc.append ( ’Również niektóre szalone znaki: $ {}’ )

z doc.create (Podsekcja ( ’Niepoprawna matematyka’ )):

doc.append (Math (dane = [ ’2 * 3’ , ’ = ’ , 9 ]))


# utwórz podsekcję pdf

z doc. create (Subsection ( ’Tabela czegoś’ )):

z doc.create (Tabela ( ’rc | cl’ )) jako tabela:

table.add_hline ()

table.add_row (( 1 , 2 , 3 , 4 ))

table.add_hline ( 1 , 2 )

table.add_empty_row ()

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


# utwórz PDF using .generate_pdf

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

Wyjście:

Kod 2:


import numpy as np


z pylatex Jestem port Dokument, Sekcja, Podsekcja, Tabela

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

z pylatex.utils import kursywa

importuj system operacyjny


if __ name__ = = ’__main__’ :

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


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

doc = Dokumentem (geometry_options = geometry_options)


# utwórz macierz za pomocą moduł numpy

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

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

[ 0 , 0 , 1 ],

[ 0 , 0 , 2 ]])


# utwórz nagłówek używając mody

za pomocą doc.create (sekcja ( ’Fantazyjne rzeczy’ )):

z doc.create (Podsekcja ( ’Poprawne równania macierzowe’ )):

doc.append (Math (data = [Matrix (M), Matrix (a), ’=’ , Matrix (M * a)]) )


# utwórz podsekcję pdf

za pomocą doc.create (Podsekcja ( ’ Alignat math environment’ )):

z doc.create (Alignat (numbering = False , escape = False )) as agn:

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

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


z doc.create (Podsekcja ( ’Piękne wykresy’ )):

z doc.create (TikZ () ):

plot_options = ’ height = 4cm, width = 6cm, grid = major’

z doc.create (oś ( options = plot_options )) as plot:

plot.append (Plot (nazwa = ’model’ , func = ’-x ^ 5 - 242’ ))

współrzędne = [

( - 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 (nazwa = ’ oszacowanie’ , współrzędne = współrzędne))


z doc.create (Podsekcja ( ’Zdjęcia uroczych kotków’ )):

z doc.create (rysunek (pozycja = ’h!’ )) as kitten_pic:

kitten_pic.add_image (image_filename, width = ’120px’ )

( 2.55556 , - 341.40638 ),