diff --git a/bloque1/tema2.md b/bloque1/tema2.md index 76b0cf2..a34942b 100644 --- a/bloque1/tema2.md +++ b/bloque1/tema2.md @@ -269,12 +269,61 @@ Las leyes de bases no podrán en ningún caso: ## El Defensor del Pueblo -**Artículo 54.** Una ley orgánica regulará la institución del Defensor del Pueblo, como alto comisionado ****de las Cortes Generales, designado por éstas para la defensa de los derechos ****comprendidos en este Título, a cuyo efecto podrá supervisar la actividad de la ****Administración, dando cuenta a las Cortes Generales. +**Artículo 54 CE.** +Una ley orgánica regulará la institución del Defensor del Pueblo, como **alto comisionado de las Cortes Generales**, designado por éstas para la defensa de los derechos comprendidos en este Título, a cuyo efecto podrá supervisar la actividad de la Administración, dando cuenta a las Cortes Generales. - **Naturaleza:** Alto comisionado de las Cortes Generales. -- **Nombramiento:** Por las Cortes Generales mediante mayoría cualificada. -- **Funciones:** - - Defender los derechos comprendidos en el Título I de la Constitución. - - Supervisar la actividad de la Administración. - - Presentar informes anuales y extraordinarios a las Cortes Generales. - - Puede interponer recursos de inconstitucionalidad y amparo ante el Tribunal Constitucional. \ No newline at end of file +- **Norma reguladora:** Ley Orgánica 3/1981, de 6 de abril, del Defensor del Pueblo. + +### Requisitos para ser Defensor del Pueblo + +📌 **Artículo 3 de la LO 3/1981** + +Puede ser elegido Defensor del Pueblo: + +- Cualquier **español** +- **Mayor de edad** +- En **pleno disfrute de sus derechos civiles y políticos** + +👉 **Muy preguntado en examen**: +No se exige titulación específica ni pertenecer a ningún cuerpo o profesión concreta. + +### Nombramiento y mandato + +- Es elegido por las **Cortes Generales**. +- Requiere **mayoría cualificada**: + - 3/5 del Congreso de los Diputados. + - 3/5 del Senado. +- **Duración del mandato:** 5 años. + +### Funciones + +- Defender los **derechos comprendidos en el Título I de la Constitución**. +- **Supervisar la actividad de la Administración pública**. +- Investigar actuaciones administrativas, de oficio o a instancia de parte. +- Formular **recomendaciones, advertencias y recordatorios de deberes legales**. +- Presentar: + - Informe anual a las Cortes Generales. + - Informes extraordinarios cuando lo considere necesario. +- Puede interponer: + - Recurso de inconstitucionalidad. + - Recurso de amparo ante el Tribunal Constitucional. + +👉 **Importante**: +No puede anular actos administrativos ni sustituir a los tribunales. + +### Garantías + +- Actúa con **independencia**. +- No recibe instrucciones de ninguna autoridad. +- Es **inviolable** por las opiniones y actos realizados en el ejercicio de sus funciones. +- Todas las Administraciones están obligadas a **colaborar** con él. + +### Miniresumen + +- Defensor del Pueblo → Alto comisionado de las Cortes Generales. +- Regulación → LO 3/1981. +- Requisitos → Español mayor de edad con plenos derechos civiles y políticos. +- Nombramiento → 3/5 Congreso + 3/5 Senado. +- Mandato → 5 años. +- Función clave → Defensa de derechos del Título I y control de la Administración. diff --git a/convert_md.py b/convert_md.py index 7f9fed5..f7698dd 100644 --- a/convert_md.py +++ b/convert_md.py @@ -1,18 +1,9 @@ - #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Convierte Markdown a PDF y DOCX por bloques, concatenando bloque{i}/tema*.md. -Requisitos: -- Python 3.9+ -- Pandoc instalado (en PATH). Comprobar con: pandoc --version -- Para PDF (weasyprint): pip install weasyprint y librerías gráficas según SO. -- Opcional: plantilla DOCX para estilos (--reference-doc=plantilla.docx) - -Uso: - python convert_md.py --bloques 1 2 3 4 --css estilos.css --ref plantilla.docx --outdir-pdf pdfs --outdir-docx docx """ import argparse @@ -68,6 +59,14 @@ def concat_markdown(block_dir: Path, out_md: Path) -> int: f_out.write(f_in.read().rstrip() + "\n\n") return len(temas) +def convert_to_odt(input_md: Path, output_odt: Path, ref_odt: str | None): + args = build_pandoc_common_args(input_md, title=output_odt.stem) + args += ["--to", "odt", "-o", str(output_odt)] + if ref_odt: + args += ["--reference-doc", ref_odt] + args += ["--embed-resources", "--resource-path", f".;{input_md.parent}"] + run_cmd(args) + def main(): hoy = datetime.now().strftime("_%Y%m%d") # parser = argparse.ArgumentParser(description="Convertir Markdown a PDF y DOCX por bloques.") @@ -94,6 +93,7 @@ def main(): outdir_pdf = Path("pdfs") outdir_docx = Path("docx") fichero_plantilla = Path("plantilla.docx") + fichero_css=Path("scriptsLinux/estilos.css") outdir_pdf.mkdir(parents=True, exist_ok=True) outdir_docx.mkdir(parents=True, exist_ok=True) @@ -120,12 +120,17 @@ def main(): # PDF out_pdf = outdir_pdf / f"bloque{i}.pdf" if weasy_available: - css = args.css if args.css and Path(args.css).exists() else None + css = fichero_css if fichero_css and Path(fichero_css).exists() else None convert_to_pdf(out_md, out_pdf, css) print(f"📄 PDF generado: {out_pdf}") else: print("⚠️ WeasyPrint no está disponible. Instálalo para generar PDF, o usa otra ruta (MiKTeX).") + # Libre Office Writer (ODT) + out_odt = outdir_docx / f"bloque{i}.odt" + convert_to_odt(out_md, out_odt, "plantilla.odt") + print(f"📝 ODT generado: {out_odt}") + # Limpieza try: out_md.unlink() diff --git a/docx/bloque1.docx b/docx/bloque1.docx index cd19dba..c5d762f 100644 Binary files a/docx/bloque1.docx and b/docx/bloque1.docx differ diff --git a/docx/bloque1.odt b/docx/bloque1.odt new file mode 100644 index 0000000..ebd1da8 Binary files /dev/null and b/docx/bloque1.odt differ diff --git a/pdfs/bloque1.pdf b/pdfs/bloque1.pdf new file mode 100644 index 0000000..760467e Binary files /dev/null and b/pdfs/bloque1.pdf differ diff --git a/plantilla.odt b/plantilla.odt new file mode 100644 index 0000000..d83e255 Binary files /dev/null and b/plantilla.odt differ