4.0 KiB
name, description
| name | description |
|---|---|
| book-pdf | Generar o regenerar los PDF de los capítulos del libro de C en dist/, con diseño consistente (resaltado de sintaxis, fuente mono para código, notas con fondo de color). Trigger - pdf, generar pdf, exportar capítulo, dist, md-to-pdf, print.css, "convertir a pdf", "rehacer pdf". |
Skill: book-pdf — Generación de PDF de los capítulos
Todos los PDF del libro se generan siempre con este procedimiento, para que mantengan
exactamente el mismo diseño. Fuente de diseño única: assets/pdf/print.css.
Herramienta
Usar el MCP md-to-pdf → herramienta md-to-pdf_markdown_to_pdf.
(NO escribir un pipeline propio con Node/Puppeteer ni instalar pandoc/LaTeX: ya existe este MCP.)
Pasos
-
Leer
assets/pdf/print.css(con la toolread). -
Invocar
md-to-pdf_markdown_to_pdfcon estos parámetros fijos:Parámetro Valor inputPathruta absoluta del capítulo, p. ej. book\12-arenas.mdoutputPathdist\<mismo-nombre>.pdf, p. ej.dist\12-arenas.pdfcssel contenido completo de assets/pdf/print.cssformatA4printBackgroundtrue(obligatorio: pinta los fondos de código y notas)pageNumberstrueheaderTextProgramación en C — Libro de ejerciciosfooterTextel capítulo, p. ej. 12 — Arenas -
Comprobar que la respuesta diga
PDF generated: ... (<n> KB). -
Verificar que ningún título quede huérfano (sin sus tres líneas de contenido al pie). Si aparece uno, forzar el salto de página descrito en "Reglas de diseño" y regenerar.
Reglas de diseño (no romper)
- Fuente del cuerpo: serif (
Georgia/Palatino/Times). Definida enprint.css. - Fuente de código: mono distinta de la del cuerpo (
Cascadia Code/JetBrains Mono/Consolas). Todo bloque de código debe declarar su lenguaje en el fence (```c,```bash,```text). Sin lenguaje,highlight.jslo trata comoplaintexty no hay resaltado. Para trazas de consola usar```text. - Notas / advertencias: se escriben como blockquote (
>). En el PDF se dibujan todas igual: caja con fondo azul claro (#eef4fb) y borde izquierdo acentuado. No inventar estilos distintos de nota. - Resaltado:
md-to-pdfusahighlight.jsy emite clases.hljs-*; los colores están enprint.css. No cambiar colores fuera deprint.css. - Títulos sin huérfanos: un título (
h1–h4) nunca puede quedar al pie de página: siempre tiene que arrastrar al menos tres líneas de contenido debajo, en la misma hoja. Lo garantizaprint.css(break-after: avoidenh1–h4y en el primer párrafo que los sigue, másorphans/widows: 3). Si aun así un título cae solo al final de una página, forzar un salto de página antes de ese título con un bloque HTML<div style="break-before: page;"></div>, y no dejar el título huérfano.
Cambiar el diseño
Si hay que cambiar fuentes, colores o el estilo de las notas, editar solo
assets/pdf/print.css (es la fuente única) y regenerar todos los capítulos para que no
queden PDF con diseños distintos.
Regenerar todo
Generar cada book\*.md a dist\<nombre>.pdf con los parámetros de arriba, uno por uno.
Notas de compatibilidad
- Verificado en esta máquina:
md-to-pdf5.2.5 conmarked4.3.0 yhighlight.js11.12.0; el highlighter demd-to-pdfsí resalta (emite.hljs-keyword/string/comment). - El MCP corre headless Chromium vía
md-to-pdf; no requiere instalación adicional.