Some checks failed
build_docker / essential (push) Successful in 0s
build_docker / build_paddle_ocr (push) Successful in 4m57s
build_docker / build_raytune (push) Has been cancelled
build_docker / build_easyocr_gpu (push) Has been cancelled
build_docker / build_doctr (push) Has been cancelled
build_docker / build_doctr_gpu (push) Has been cancelled
build_docker / build_paddle_ocr_gpu (push) Has been cancelled
build_docker / build_easyocr (push) Has been cancelled
88 lines
3.4 KiB
Markdown
88 lines
3.4 KiB
Markdown
Generate the Word document for this Master's Thesis project.
|
|
|
|
## Instructions
|
|
|
|
Execute the TFM document generation pipeline in order:
|
|
|
|
### Step 0: Clean Up Previous Output
|
|
|
|
Remove the entire thesis_output folder to ensure a fresh build:
|
|
```bash
|
|
rm -rf thesis_output && mkdir -p thesis_output/figures
|
|
```
|
|
|
|
### Step 1: Generate Figures from Mermaid Diagrams
|
|
|
|
Run the figure generation script using the virtual environment:
|
|
```bash
|
|
source .venv/bin/activate && python3 generate_mermaid_figures.py
|
|
```
|
|
|
|
**Input:** Mermaid code blocks from `docs/*.md`
|
|
**Output:** `thesis_output/figures/figura_*.png` and `figures_manifest.json`
|
|
|
|
**Notes:**
|
|
- Bar charts (`xychart-beta`) are automatically post-processed to use light blue (`#0098CD`) bars
|
|
- The script generates SVG first, replaces default colors, then converts to PNG via `cairosvg`
|
|
- Other diagram types (flowchart, sequence, pie) use direct PNG generation via `mmdc`
|
|
|
|
### Step 2: Apply Content to UNIR Template
|
|
|
|
Run the content application script using the virtual environment:
|
|
```bash
|
|
source .venv/bin/activate && python3 apply_content.py
|
|
```
|
|
|
|
**Input:**
|
|
- `instructions/plantilla_individual.htm` (UNIR template)
|
|
- `instructions/plantilla_individual_files/` (template support files)
|
|
- `docs/*.md` (chapter content)
|
|
- `thesis_output/figures/*.png` (generated figures)
|
|
|
|
**Output:** `thesis_output/` (htm + support files + figures)
|
|
|
|
### Step 3: Report Results
|
|
|
|
After successful execution, provide:
|
|
1. Number of figures generated
|
|
2. Number of tables formatted
|
|
3. Path to output file
|
|
4. Instructions for Word finalization:
|
|
- Open `thesis_output/plantilla_individual.htm` in Microsoft Word
|
|
- Press Ctrl+A then F9 to update all indices (contents, figures, tables)
|
|
- Adjust image sizes if needed (select image → right-click → Size and Position)
|
|
- Save as `.docx`
|
|
|
|
### Prerequisites
|
|
|
|
If scripts fail, check that dependencies are installed:
|
|
```bash
|
|
# Python dependencies (in .venv)
|
|
source .venv/bin/activate && pip install beautifulsoup4 cairosvg
|
|
|
|
# Mermaid CLI for figure generation
|
|
npm install @mermaid-js/mermaid-cli
|
|
```
|
|
|
|
### Notes
|
|
|
|
- **Bar chart colors**: The `generate_mermaid_figures.py` script automatically converts xychart-beta bar colors to UNIR light blue (`#0098CD`). This is done via SVG post-processing since Mermaid's xychart theming doesn't work reliably via config files.
|
|
- **Color replacement**: Both `fill` and `stroke` attributes are replaced for colors `#ECECFF` and `#FFF4DD` (default Mermaid bar colors).
|
|
- **Config file**: `mermaid.config.json` in root directory sets the base theme for all diagrams.
|
|
|
|
### Error Handling
|
|
|
|
- If `generate_mermaid_figures.py` fails: Check mmdc (mermaid-cli) is installed
|
|
- If `apply_content.py` fails: Check beautifulsoup4 is installed
|
|
- Report any errors with the specific step that failed
|
|
|
|
### Observed Issues (Local)
|
|
|
|
- `generate_mermaid_figures.py` may fail on macOS with errors like:
|
|
- `Running as root without --no-sandbox is not supported`
|
|
- `Failed to launch the browser process` / `MachPortRendezvousServer` permission errors
|
|
- If that happens, verify the Puppeteer config in `tem/scripts/puppeteer_config.json` is picked up by `generate_mermaid_figures.py` and includes:
|
|
- `"args": ["--no-sandbox", "--disable-setuid-sandbox"]`
|
|
- `"executablePath"` pointing to the local Chrome binary, e.g. `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`
|
|
- If the error persists, rerun Step 1 with escalated permissions.
|