Módulo Pylatex en Python

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

Latex llamado "Lay-tech" es un sistema de documentación para documentación de alta calidad. Se utiliza principalmente para la preparación de artículos técnicos o científicos, pero se puede utilizar para casi todas las formas de publicación. Latex no es un procesador de texto como MS Word o LibreOffice Writer. En cambio, Latex alienta a los autores a no preocuparse por la apariencia de sus documentos, sino a enfocarse en obtener el contenido correcto. Por ejemplo, considere el siguiente documento:

Este artículo explica el uso del módulo pylatex Python. Ingeniería Octubre de 2018 

Para crear esto en la mayoría de los procesadores de texto, el autor tendría que decidir qué diseño a usar, entonces elegiría (digamos) 18pt Helvetica para el título, 12pt Times Roman para el nombre, y así sucesivamente. Como resultado, el autor dedica tiempo a desarrollar el documento. Latex se basa en la idea de que permite a los autores comenzar a escribir un documento y dejar que los diseñadores del documento lo desarrollen. Entonces, en Latex, podría ingresar el documento anterior como:

documentclass {article} itle {Este artículo explica el uso del módulo pylatex} author {GeeksforGeeks} date {October 2018} egin {document} maketitle Continuar leyendo end { documento} 

Diseño de documento Latex:
Hay dos partes principales de un documento Latex:
Preámbulo:

  • Preámbulo — esta es la primera parte del archivo latex.
  • Contiene información detallada sobre el documento, como clase de documento, nombre del autor, título, etc.

Cuerpo:

  • Se pueden incluir secciones, tablas, ecuaciones matemáticas, gráficos, etc. en el cuerpo de un documento de látex.
  • Todo el contenido del documento está dentro de ' / comenzar {documento} ' y ' / final {documento} '

Algunas características del látex:

  1. Elaboración de artículos de revistas, informes técnicos, libros técnicos o no técnicos, diapositivas presentaciones
  2. Esto proporciona un mejor control sobre documentos grandes que contienen secciones, enlaces, tablas y figuras.
  3. Esto también puede ser útil para preparar documentos que contengan fórmulas matemáticas complejas.
  4. La generación de bibliografías e índices es automática en LaTeX.
  5. También proporciona soporte de escritura multilingüe.
  6. Al documento látex también podemos añadir gráficos, ilustración y cuatricromía o tinta plana.
  7. Las fuentes PostScript o Metaphone también son posibles en LaTeX.

Documento LaTeX de muestra:
Ejemplo 1: En este ejemplo, estamos dando forma a un látex simple para que a partir del látex usemos el formato de entrada simple que usamos en látex.

documentclass {article } %

usepackage [T1] { fontenc} %

usepackage [utf8] {inputenc} %

usepackage {lmodern } %

usepackage {textcomp} < /código> %

paquete de uso {última página} %

usepackage [tmargin = 1cm, lmargin = 10cm] {geometría} %

usepackage {amsm ath} %

paquete de uso {tikz} %

paquete de uso {pgfplots} %

pgfplotsset {compat = más reciente} %

paquete de uso {graphicx} %

< clase de código = "comentarios">%
%
%

inicio {documento} %

tamaño normal %

sección {Las cosas normales} %

etiqueta {sec: Las cosas normales} %

Algo de texto y algo de %

extit < /código> {texto en cursiva. } %

ewline %

También algunos símbolos locos: $ < clase de código = "palabra clave"> & amp; # { } %

< clase de código = "palabra clave"> subsección {Matemáticas incorrectas} %

etiqueta {subsección: matemáticas incorrectas} %

< clase de código = "palabra clave"> [ %

2 * 3 = 22 %

]


%

end {document}

Salida :

Ejemplo 2: En este ejemplo, usamos la etiqueta de subsección para formar látex.


clase de documento {artículo} % < /código>

paquete de uso [T1] {fontenc} %

usepackage [utf8] {inputenc} %

usepackage {lmodern} %

usepackage {textcomp} %

paquete de uso {última página} %

paquete de uso < clase de código = "simple"> [tmargin = 1 cm, lmargin = 10 cm] {geometría} %

usepackage {amsmath} %

usepackage {tikz} %

paquete de uso {pgfplots} %

pgfplotsset {compat = más nuevo} %

usepackage {graphicx} %

%
%
%
%

subsección {Tabla} %

label {subsec: Table} < clase de código = "comentarios">%

egin {tabular} {rc | cl} %

hline %

a & amp; b & c & d %

< código clase = "palabra clave"> cline { 1 %

- %

2} %

& amp; &erio; &erio; %

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

< clase de código = "palabra clave"> fin {tabular}


%

sección {Características especiales} %

etiqueta {sec: Características especiales} %

subsección {Ecuaciones matriciales correctas} %

etiqueta {subsección: Ecuaciones matriciales correctas} %

[ %

inicio {pmatrix} %

1 & amp; 4 y amplificador; 4 %

< clase de código = "simple"> 2 & amp; 3 y amplificador; 4 %

< clase de código = "simple"> 2 & amp; 2 y amplificador; 5 %

end {pmatrix} < /código> egin {pmatrix} %

800 %

30 %

30 %

end {pmatrix } = egin {pmatrix } %

810 %

60 %

50 %

end {pmatrix} < /código> %

]


%

end { documento}

Salida: < br>

Qué es Pylatex:
PyLaTeX — es una biblioteca de Python para crear y compilar documentos de látex. El objetivo de esta biblioteca es ser simple, pero también proporcionar una interfaz extensible entre Python y LaTeX.

Algunas funciones de pylatex:

  • Podemos acceder a todas las funciones de LaTeX en Python usando este módulo
  • Podemos crear documentos con menos líneas de código
  • Dado que Python es un lenguaje de alto nivel, es más fácil escribir código para Pylatex en Python en comparación con LaTeX
  • En el código LaTeX anterior, debe haber visto que para obtener ecuaciones necesitamos calcular los valores ‚Äã‚Äãy luego ingresarlos en el documento LaTeX, pero con la funcionalidad añadida de python para hacer aritmética operaciones es mucho más fácil preparar los documentos

Cree un documento Pylatex:

  • Instale MikTeX y el módulo pylatex en su e impórtelo al código Python.
    Para instalar MikTeX en su sistema, siga el enlace:
    https://miktex.org/download

    Para instalar pylatex en un sistema operativo Windows, ingrese el siguiente comando en t La línea de comando:

    python -m pip install pylatex 
  • Cree un documento para importar una clase de documento desde el módulo pylatex. Hay diferentes tipos de documentos en latex: artículo, informe, carta, etc. Para crear un documento de tipo artículo, cree un objeto de la clase Documento de latex y pase ' artículo '
    doc = Documento (documentclass = ’article’) 
  • Para agregar los cambios necesarios al documento, como estilo o formato, importe las clases requeridas en el código python desde pylatex. Para agregar varias utilidades a un documento de látex usando pylatex, es posible de la siguiente manera
    desde pylatex importar Documento, Sección, Subsección de pylatex.utils importar cursiva, negrita 
  • Para generar un PDF archivo de documento, llame al método generar_pdf de la clase Documento usando un objeto de la clase Documento, y asegúrese de pasar el nombre del documento pdf en su argumento de esta manera.
    doc.generate_pdf ("Demo_article") 

Ejemplo de Pylatex:
Código 1:


# Generación de programas en Python
# documento pequeño usando pylatex


import numpy as np


# import from mod ulya pylatex

de pylatex importar Documento, Sección, Subsección, Tabular

from pylatex importar Matemáticas, TikZ, Eje, Gráfico, Figura, Matriz, Alinear

de pylatex.utils importar cursiva

importar t os


if __ nombre__ = = ’__principal__’ :

image_filename = so. path.join (os.path.dirname (__ archivo__), ’gatito.jpg’ )


opciones de geometría = { "tmargin" : "1cm" , "lmargin" : "10cm" }

doc = Documento (geometry_options < código clase = "palabra clave"> = geometría_opciones)


# crear un PDF titulado " cosas simples"

< /código> con doc.create (Sección ( ’ Las cosas simples’ )):

doc.append ( ’ Algunos texto regular y algo’ )

doc.append (cursiva ( ’texto en cursiva. ’ ))

doc.append ( ’También algunos caracteres locos: $ {}’ )

con doc.create (Subsección ( ’Matemáticas incorrectas’ )):

doc.append (Math (data = [ ’2 * 3’ , ’ = ’ < clase de código ="simple ">, 9 ]))


# crear una subsección de pdf

con doc. crear (Subsección ( ’Tabla de algo’ )):

con doc.create (Tabular ( ’rc | cl’ )) como tabla:

table.add_hline ()

table.add_row (( < código clase = "valor"> 1 , 2 , 3 , 4 ))

table.add_hline ( 1 , < /código> 2 )

table.add_empty_row () < /código>

tabla.añadir_fila (( 4 , 5 , 6 , 7 ))


# crear PDF usando .generate_pdf

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

Salida:

Código 2:


import numpy como np


from pylatex Yo soy port Documento, Sección, Subsección, Tabular

from pylatex importar Matemáticas, TikZ, Axis, Plot, Figure, Matrix, Alignat

de pylatex.utils importar cursiva

import os


< clase de código ="palabra clave"> si __ nombre__ = = ’__principal__’ :

nombre_archivo_imagen = os. path.join (os.path.dirname (__ archivo__), ’gatito.jpg’ )


opciones de geometría = { "tmargin" : "1cm" , "lmargin" : "10c m " }

doc = Documento (geometry_options = opciones_de_geometría)


# crear una matriz usando el módulo numpy

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

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

[ 0 , 0 , 1 ],

[ 0 , 0 , 2 ]])


# crear un encabezado usando moda

con doc.create (Section ( ’Las cosas elegantes’ )):

con doc.create (Subsección ( ’Corregir ecuaciones matriciales’ )):

doc.append (Matemáticas (datos = [Matriz (M), Matriz (a), ’=’ , Matriz (M * a)]) )


# crear una subsección de pdf

con doc.create (Subsección ( ’ Alignat math environment’ )):

con doc.create (Alinear (numeración = Falso , escape = Falso )) as agn:

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

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


con doc.create (Subsección ( ’Hermosos gráficos’ )):

with doc.create (TikZ() ):

plot_options = ’ height = 4 cm, ancho = 6 cm, cuadrícula = mayor’

with doc.create (Axis ( opciones = plot_options )) as plot:

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

< código clase ="simple "> coordenadas = [

( - 4.77778 , 2027.60977 ),

( - 3 .55556 , 347.84069 ),

( - 2,33333 , 22,58953 ), < /código>

( - 1.11111 < clase de código = "simple">, - 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 = ’estimación’ , coordenadas = coordenadas))


con doc.create (Subsección ( ’Imágenes de lindos gatitos’ )):

con doc.create (Figura (posición = ’¡h!’ )) as kitten_pic:

imagen_gatito.add_image (nombre_archivo_imagen, ancho = ’120px’ )

( 2.55556 , -