v0.13: add Quarto/xelatex PDF engine and fix ReportLab wide-table rendering
build_report.py:
- add --engine quarto option: Quarto 1.9 + xelatex pipeline with
CJK font setup (Source Han Serif/Sans CN via fontspec),
automatic {.landscape} wrapping for wide tables (>=8 cols),
TOC/references placeholder replacement, sources.jsonl backfill
- prepare_qmd(): converts Markdown to .qmd with proper YAML front matter,
writes _preamble.tex for longtable/pdflscape/lscape packages
- _detect_wide_tables(), _build_references_block(): helper functions
- ReportLab path unchanged (remains default)
report-template.py:
- render_table(): force equal-width column distribution for tables
with >=4 cols or any cell >30 chars, preventing negative availWidth
crash on mixed CJK/English content
- render_table_blocks(): split long tables (>25 rows) into chunks to
avoid NoneType comparison crash in ReportLab splitByRow logic
.gitignore:
- add rules for LaTeX temp files (*.aux, xetest.*, *.qmd, _preamble.tex)
- add projects/ to gitignore (research data, not source code)
README.md:
- update status to v0.13
- rewrite PDF section as dual-engine guide with install steps,
comparison table, and landscape table chunking guidance
- add Quarto troubleshooting (font italic mapping, tlmgr path, param_size)
- add v0.13 to changelog
This commit is contained in:
+16
@@ -51,3 +51,19 @@ Thumbs.db
|
||||
# ============ 归档(不纳入版本控制)============
|
||||
archive/*
|
||||
!archive/.gitkeep
|
||||
|
||||
# ============ 临时 LaTeX / TeX 测试文件 ============
|
||||
xetest.*
|
||||
*.aux
|
||||
*.fls
|
||||
*.fdb_latexmk
|
||||
*.synctex.gz
|
||||
|
||||
# ============ Quarto 生成的中间文件 ============
|
||||
*_files/
|
||||
*.qmd
|
||||
_preamble.tex
|
||||
|
||||
# ============ 研究项目(实际数据,不纳入版本控制)============
|
||||
# 如需备份,请用独立的私有仓库
|
||||
projects/
|
||||
|
||||
Reference in New Issue
Block a user