mirror of
https://github.com/NeuroCogciaLab/tesis_typstLayout.git
synced 2026-11-08 06:10:47 -06:00
Layout para escribir Tesis e integrar codigo R o Python en el escrito
- Typst 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| analisis | ||
| bibliografia | ||
| contenido | ||
| datos | ||
| output | ||
| typst | ||
| .gitignore | ||
| main.typ | ||
| README.md | ||
| Taskfile.yml | ||
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ón02-metodos.typ- Metodología03-resultados.typ- Resultados04-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.pdffig-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
.typusan../output/desdecontenido/ - Un solo comando (
task) hace todo; los usuarios no necesitan saber más