Layout para escribir Tesis e integrar codigo R o Python en el escrito
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-01-08 12:37:31 -06:00
analisis Initial commit layout 2026-01-08 12:37:31 -06:00
bibliografia Initial commit layout 2026-01-08 12:37:31 -06:00
contenido Initial commit layout 2026-01-08 12:37:31 -06:00
datos Initial commit layout 2026-01-08 12:37:31 -06:00
output Initial commit layout 2026-01-08 12:37:31 -06:00
typst Initial commit layout 2026-01-08 12:37:31 -06:00
.gitignore Initial commit layout 2026-01-08 12:37:31 -06:00
main.typ Initial commit layout 2026-01-08 12:37:31 -06:00
README.md Initial commit layout 2026-01-08 12:37:31 -06:00
Taskfile.yml Initial commit layout 2026-01-08 12:37:31 -06:00

Proyecto Typst con Integración de Análisis

Layout para documentos Typst que integra resultados generados por código de análisis (R, Python o Marimo notebooks).

Estructura del proyecto

proyecto/
├── main.typ                    # Documento principal
├── Taskfile.yml                # Automatización
│
├── contenido/                  # USUARIOS EDITAN AQUÍ
│   ├── 01-introduccion.typ
│   ├── 02-metodos.typ
│   ├── 03-resultados.typ       # Usa figuras/tablas/valores de output/
│   └── 04-discusion.typ
│
├── typst/
│   ├── template/               # Template del documento
│   ├── meta.typ                # Título, autor, fecha, etc.
│   └── valores.typ             # Carga valores.yaml para contenido/
│
├── analisis/                   # CÓDIGO DE ANÁLISIS
│   └── notebooks/              # Notebooks interactivos (Marimo)
│
├── datos/                      # Datos fuente (CSV, Excel, etc.)
│
├── bibliografia/               # Archivos .bib
│
└── output/                     # GENERADO - NO EDITAR MANUALMENTE
    ├── cache/                  # Datos procesados (RDS, pickle, parquet)
    ├── figuras/                # PDFs para incluir en Typst
    ├── tablas/                 # Archivos .typ con tablas formateadas
    └── valores.yaml            # Valores numéricos para texto inline

Para usuarios (editar contenido)

Los archivos que puedes editar están en contenido/:

  • 01-introduccion.typ - Introducción
  • 02-metodos.typ - Metodología
  • 03-resultados.typ - Resultados
  • 04-discusion.typ - Discusión

Compilar el documento

task typst

El PDF se genera como documento.pdf.

Modo desarrollo (auto-recompila al guardar)

task watch

Usar valores del análisis en el texto

En archivos de contenido/ que necesiten valores del análisis, importar al inicio:

#import "../typst/valores.typ": v

Luego usar los valores en el texto:

La muestra incluyó #v.muestra.total participantes
(#v.muestra.hombres hombres y #v.muestra.mujeres mujeres).

El análisis mostró diferencias significativas (p = #v.resultados.p_valor).

Ver output/valores.yaml para todos los valores disponibles.

Insertar figuras generadas

#figure(
  image("../output/figuras/fig-nombre.pdf", width: 80%),
  caption: [Descripción de la figura],
) <fig-nombre>

Insertar tablas generadas

#include "../output/tablas/tbl-nombre.typ"

Para analistas (ejecutar código)

El código de análisis debe colocarse en analisis/ y generar archivos en output/.

Contrato de output/

El código de análisis DEBE generar estos archivos que Typst consume:

output/valores.yaml

muestra:
  total: 150
  hombres: 75
  mujeres: 75
resultados:
  media: 23.5
  desviacion: 4.2
  p_valor: 0.003

output/figuras/*.pdf

Figuras en formato PDF, nombradas descriptivamente:

  • fig-distribucion-edad.pdf
  • fig-correlacion-variables.pdf

output/tablas/*.typ

Tablas ya formateadas en sintaxis Typst:

#figure(
  table(
    columns: 3,
    [Variable], [Media], [DE],
    [Edad], [23.5], [4.2],
    [Peso], [68.3], [12.1],
  ),
  caption: [Estadísticos descriptivos],
) <tbl-descriptivos>

Herramientas recomendadas

Python

  • uv: Gestión de entornos y dependencias

    uv venv
    uv pip install pandas matplotlib pyyaml
    uv run python analisis/run.py
    
  • Marimo: Notebooks reactivos como alternativa a Jupyter

    uv pip install marimo
    marimo edit analisis/notebooks/exploratorio.py
    

R

  • RStudio: IDE recomendado para desarrollo
  • renv: Gestión de dependencias
    renv::init()
    renv::install(c("tidyverse", "yaml"))
    source("analisis/run.R")
    

Estructura sugerida para scripts

analisis/
├── config.R (o config.py)      # Rutas y funciones comunes
├── 01_procesar.R               # Procesa datos crudos
├── 02_figuras.R                # Genera PDFs
├── 03_tablas.R                 # Genera archivos .typ
├── 04_valores.R                # Genera valores.yaml
├── run.R                       # Ejecuta todo el pipeline
└── notebooks/
    └── exploratorio.py         # Análisis exploratorio (Marimo)

Ejecutar análisis completo

task analisis    # Ejecuta el pipeline
task             # Análisis + compilar documento

Comandos disponibles

Comando Descripción
task Ejecutar análisis + compilar documento
task analisis Solo ejecutar pipeline de análisis
task typst Solo compilar documento Typst
task watch Modo desarrollo (auto-recompila)
task clean Limpiar archivos generados
task notebook Abrir notebook Marimo

Notas

  • Los scripts numerados (01_, 02_, etc.) indican orden de ejecución
  • El cache en output/cache/ permite re-ejecutar solo partes del pipeline
  • Los paths en archivos .typ usan ../output/ desde contenido/
  • Un solo comando (task) hace todo; los usuarios no necesitan saber más