Web Analytics

beampy

⭐ 60 stars Spanish by hchauvet

Beampy Build Status codecov pypi python version pypi licence pypi download pypi beampy version

El desarrollo de la rama master está actualmente congelado, (solo se aplicarán correcciones urgentes de errores), la nueva versión de beampy se está desarrollando en la rama dev, que aún no es lo suficientemente estable para usar...

Beampy es una herramienta en python para crear presentaciones en svg que pueden mostrarse con HTML5 (probado en Firefox y Chromium) El tamaño de las diapositivas es fijo, como en un documento Latex Beamer.

La salida de la presentación Beampy es solo un archivo html con todos los contenidos incrustados.

Ver una presentación de pruebas de Beampy (el código fuente está en examples/beampy_tests_modules.py*)

Instalar:

Desde el Índice de Paquetes de Python:

pip install beampy-slideshow

See full installation documentation

A quick example :

from beampy import *

doc = document()

with slide(): maketitle('Beampy a tool to make simple presentation', ['H. Chauvet'])

with slide('Beampy test'): text(r'\href{#0}{Go to Title}') text(r'Use LaTeX to render text and $$\sqrt{10}$$', align='center')

with slide('Beampy test with animated layers'): text(r'\href{#0}{Go to Title}')[:] text(r'Use LaTeX to render text and $$\sqrt{10}$$', align='center')[1]

save('./simple_one.html')

#To save in pdf just change the above command to the following #save('./simple_one.pdf')

beampy_presentation.html

Registro de cambios:

0.5.5

(problema semilla #18 para toda la historia), que crea partes faltantes del contenido latex en el svg.

0.5.4

0.5.3

Algunas correcciones menores:

0.5.2

una opción para escribir el svg producido por dvisvgm). argumento "extra_packages". ``python

# 50% of the currentwidth a = rectangle(width='50%', height=10)

# width/height relative to the a element b = rectangle(width=a.width/2+'2cm', height=a.height/'10pt') `

`python

a = rectangle(width='50%', height=10)

b = rectangle(x=a.width+'2cm', y=a.height+5) `

operar sobre posición o longitud (es decir, cuando se realiza una operación sobre el ancho o alto de un elemento que es desconocido, el elemento será renderizado para obtener su tamaño y permitir la operación)
  • Añadir la operación "zorder" para módulos (arriba/abajo/último/primero) para cambiar
su orden de superposición:

`python

a = rectangle(x='center', y='center', width=50, height=50) b = rectangle(x='center', y='center', width=a.height+100, height=a.height+100, color='red')

# Make b appears below a b.below(a) # equivalent to a.above(b) or a.last() or b.first() `

0.5.1

0.5.0

  • Añadir función box para decorar grupos
  • Nueva forma experimental de escribir texto dentro de la presentación usando el gestor de contexto
`python with text(width=400): """ Any comment inside the context manager will be passed to the text function as input argument. This allows clearer source when writing long texts.

No more need to add an r before to protect the text passed to latex, it's now automatically added. """ `

0.4.9

cuadro delimitador del módulo para colocarlos.
  • Añadir utils.py para almacenar funciones que llaman a módulos beampy.
  • Añadir función bounding_box(module) a utils.py para dibujar el cuadro delimitador con
anclas alrededor de los módulos Beampy. Añadir también una función para dibujar ejes en la diapositiva, draw_axes()

0.4.8

  • Corregir parcialmente el problema #12.
  • Limpiar la sintaxis del código.

0.4.7

  • Introducir mecanismo de capas. Los elementos de la diapositiva pueden ser animados por capas permitiendo mecanismos como el "\only" de beamer.
Las capas se gestionan como rebanado python sobre los módulos Beampy.

`python with slide('Test layers'): text('First printed on layer 0') text('Secondly printed on layer 1')[1] text('Printed from layer 2 to 3')[2,3] text('Printed on all layers')[:] text('Printed on layer 4')[4] with group(width=300)[2:]: text('Printed inside group') text('for layers 2 to end') `

0.4.6

`python with group(): text('toto') with group(width=300): text('tata')

with group(width=200): figure('./niceplot.pdf') text('nice legend') `

`python with group(width=200): figure('./niceplot.pdf') text('nice legend') # Figure and text width will be automatically set to 200 px `

  • La colocación relativa ahora se puede realizar en elementos con posición automática
`python t0 = text('toto') text('tata', x=t0.center + center(0), t0.bottom + 0.1) `

Ahora el video puede usar enlaces externos (con embedded=True*) en lugar de estar incluido en el archivo html. El video se carga desde el disco (tener cuidado con la ruta del archivo) cuando la diapositiva se muestra en pantalla.

0.4.5

  • Todos los textos se preprocesan en un solo archivo latex (Latex se llama solo una vez: mejora el tiempo de compilación)
  • Corrección de error de caché: Video y svg ahora se almacenan en caché correctamente

0.4.4

  • Mejora de caché: un archivo por elemento almacenado en caché (¡no escribir la caché dos veces!)
  • Svg: Añadir comandos de línea y rectángulo para dibujar fácilmente líneas y rectángulos
  • Colocación relativa: añadir accesos directos center(shift), right(shift) y bottom(shift)
para cambiar el ancla del elemento actual.

`python e1 = text('Somthing', x=0.2, y=0.4) e2 = text('An other thing', x=e1.left + right(0.1), y=e1.center + center(0)) ``

0.4.3

Las figuras de Matplotlib ahora pueden pasarse directamente a figure() o una lista de figuras de matplotlib puede animarse con animatesvg()*

0.4.2

Añadir el comando svg* para incluir svg sin procesar en la diapositiva

0.4.1

a los módulos para crear su id de caché

Instalación

Ver página de instalación de la documentación de Beampy

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-05 ---