From c3528f27cec920a5501b9174de7c102017dd2efb Mon Sep 17 00:00:00 2001 From: JeffreyChen Date: Thu, 21 May 2026 16:18:21 +0800 Subject: [PATCH] Document visual identity + dark mode + vocab guard across READMEs, docs, MCP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MCP server: - export tool now accepts dark_mode (default true). Brought it on the wire so LLM-as-agent flows can opt into the light/printable variant without dropping to the CLI. English surface: - README.md: visual identity + dark-mode bullets in Features; GUI section says Enrich + Deck tabs are functional; export tool row mentions dark_mode; zh-tw vocabulary guard bullet. - docs/en/index.rst: new "Designed-deck visual identity", "Dark mode", and "zh-tw / zh-cn vocabulary guard" subsections under PPTX layout; export tool row mentions dark_mode. - docs/architecture.md: new "Post-build visual-identity passes" subsection — typography pass, accent geometry pass, dark-mode recolour pass with mapping-dict mechanics. - docs/mcp.md: dark_mode parameter documented; typography pass note added to the language field. - docs/gui.md: Enrich + Deck tab placeholder copy replaced with shipped functionality (collection_ready signal, Light mode checkbox, slide-cap + figures controls). Translated READMEs (13 languages — zh-TW, zh-CN, ja, es, fr, de, ko, pt, ru, it, vi, hi, id): added two bullets after .json — designed visual identity (per-language typography + accent geometry + academic tables, no red text, teal #0E7490 emphasis) and dark mode default (--light-mode opt-out). zh-TW + zh-CN also got the --light-mode CLI flag table entry. --- README.md | 41 +++++++++++++++++++----- autopapertoppt/mcp/server.py | 16 ++++++++-- docs/architecture.md | 32 +++++++++++++++++++ docs/en/index.rst | 61 +++++++++++++++++++++++++++++++++--- docs/gui.md | 59 +++++++++++++++++++++++++--------- docs/mcp.md | 18 +++++++++-- readmes/README.de.md | 2 ++ readmes/README.es.md | 2 ++ readmes/README.fr.md | 2 ++ readmes/README.hi.md | 2 ++ readmes/README.id.md | 2 ++ readmes/README.it.md | 2 ++ readmes/README.ja.md | 2 ++ readmes/README.ko.md | 2 ++ readmes/README.pt.md | 2 ++ readmes/README.ru.md | 2 ++ readmes/README.vi.md | 2 ++ readmes/README.zh-CN.md | 3 ++ readmes/README.zh-TW.md | 3 ++ 19 files changed, 224 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 5a1e79b..e6c14fc 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,24 @@ the template for any multi-paper search. The zh-tw companion is at are i18n'd across **14 languages**: English, 繁體中文, 简体中文, 日本語, Español, Français, Deutsch, 한국어, Português, Русский, Italiano, Tiếng Việt, हिन्दी, Bahasa Indonesia. + - **Designed-deck visual identity** (not the default Calibri-on-white + look): per-language typography (Inter for Latin, Microsoft JhengHei + UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI for CJK + + Hindi), programmatic accent geometry (top accent bar on every + content slide + left band on the cover), academic-style table + formatting (default grid stripped, navy header rule, soft inter-row + dividers, alternating row stripe, middle-vertical alignment, bold + row labels), and a five-colour palette discipline (navy / teal / + grey / light / white) with red **banned** for text (use bold + + teal `#0E7490` for emphasis instead). + - **Dark mode is the default render path.** Build runs on the light + palette, then a post-build pass swaps text + fill + cell-border + RGBs to a dark deck (slide bg `#12151B`, body text `#E5E7EB`, + accent teal swapped to a brighter `#2DD4BF`). OLED projectors and + low-light venues get the dark deck without authors having to think + about it; pass `--light-mode` (CLI), uncheck **Light mode** (GUI + Deck tab), or `ExportOptions(dark_mode=False)` (programmatic) to + opt out for projectors in well-lit rooms or for printed handouts. - `.xlsx` — Papers sheet + Query provenance sheet, hyperlinked URL / PDF, frozen header, auto column widths. Column 5 (**Source**) shows the real publication venue (e.g. "IEEE Access"); column 6 @@ -226,6 +244,13 @@ the template for any multi-paper search. The zh-tw companion is at limit (token bucket), `defusedxml` for any XML payload, path-traversal-safe export paths, no `eval` / `exec` / `pickle` on user input. +- **zh-tw / zh-cn vocabulary guard**: ~244 regex patterns in + `tests/test_i18n.py::test_zh_tw_files_use_traditional_chinese_vocabulary` + catch Simplified-Chinese loan words rendered with Traditional hanzi + (e.g. `內存` → `記憶體`, `魯棒性` → `穩健性`, `軟件` → `軟體`, + `緩存` → `快取`). Same guard runs in reverse for zh-cn locale + strings. Full rule + the regex catalogue live in + `.claude/agents/language-vocabulary-check.md`. ## Quick start @@ -369,7 +394,7 @@ Tools: | `fetch_paper` | arXiv / DOI / PMID / IEEE identifier → single paper. | | `fetch_pdf_text` | Download one PDF, return extracted body text. **The MCP path to "I read the paper".** | | `download_pdfs` | Batch-download a papers list's PDFs into `{out_dir}/pdfs/`. Returns per-paper results keyed by BibTeX key. | -| `export` | Papers list + formats → writes `.pptx/.xlsx/.md/.bib/.json`. Accepts a `summary` field per paper for the rich thesis-style schema and `max_slides_per_paper` (default 25). | +| `export` | Papers list + formats → writes `.pptx/.xlsx/.md/.bib/.json`. Accepts a `summary` field per paper for the rich thesis-style schema, `max_slides_per_paper` (default 25), and `dark_mode` (default `true` — the project's dark-deck post-pass; pass `false` for the printable light variant). | | `pptx_inspect` | Read slide / shape structure of an existing deck. | | `pptx_update_slide` | Replace `title` / `body` / `meta` (by shape name) or arbitrary shapes by index. | | `pptx_delete_slide` | Remove a slide and its part relationship. | @@ -385,7 +410,7 @@ LLM-as-agent flow (no `ANTHROPIC_API_KEY` needed — the LLM is the agent): 4. fetch_pdf_text(pdf_url=paper.pdf_url) # per paper 5. (the LLM reads body text, produces a structured `summary` dict) 6. export(papers=[{...paper, "summary": {pain_points: [...], rq_results: [...]}}], - language="zh-tw", formats=["pptx","bib"], ...) + language="zh-tw", formats=["pptx","bib"], dark_mode=true, ...) ``` Full reference in [`docs/mcp.md`](docs/mcp.md). @@ -433,11 +458,13 @@ pip install autopapertoppt[gui] autopapertoppt-gui # or: autopapertoppt gui ``` -The window has four tabs — **Search** (functional), **Settings** -(functional, persists API keys via QSettings), **Enrich**, and -**Deck** (the latter two land in a follow-up). The Windows release -zip ships the Nuitka-compiled bundle with PySide6 included, so -`autopapertoppt.exe gui` works without a separate Python install. +The window has four tabs — **Search**, **Settings** (persists API keys +via QSettings), **Enrich** (drives the LLM-as-agent / Python-pipeline +enrichment over a `collection_ready` signal), and **Deck** (the Light +mode toggle + slide-cap + max-figures controls flow through to +`ExportOptions`). The Windows release zip ships the Nuitka-compiled +bundle with PySide6 included, so `autopapertoppt.exe gui` works +without a separate Python install. **UI ships in all 14 languages** (English, 繁體中文, 简体中文, 日本語, Español, Français, Deutsch, 한국어, Português, Русский, Italiano, Tiếng Việt, हिन्दी, Bahasa Indonesia) — first run picks diff --git a/autopapertoppt/mcp/server.py b/autopapertoppt/mcp/server.py index b68b6f1..fa96d02 100644 --- a/autopapertoppt/mcp/server.py +++ b/autopapertoppt/mcp/server.py @@ -14,12 +14,13 @@ LLM agent can drive the PDF retrieval step before authoring rich summaries. - export(papers, keywords, formats, out_dir, filename_stem, include_abstract, - language, max_slides_per_paper) -> {written: {fmt: path}} + language, max_slides_per_paper, dark_mode) -> {written: {fmt: path}} formats may be any of: pptx, xlsx, md, bib, json papers[*].summary may include rich fields (pain_points, research_question, headline_metrics, technique_table, literature_table, method_sections, research_questions, rq_results, …) — when present, the PPT switches to - thesis-style layout. + thesis-style layout. ``dark_mode`` defaults to True (project default); + pass False for the light/printable variant. - pptx_inspect(path) -> {slides: [...]} - pptx_update_slide(path, slide_index, title?, body?, meta?, shape_updates?) -> {path} - pptx_delete_slide(path, slide_index) -> {path} @@ -284,6 +285,7 @@ def export( include_abstract: bool = True, language: str = "en", max_slides_per_paper: int | None = 25, + dark_mode: bool = True, ) -> dict[str, Any]: """Export a list of papers (from search / fetch_paper) to disk. @@ -291,12 +293,19 @@ def export( the rich-tier shape (pain_points, research_question, headline_metrics, technique_table, literature_table, method_sections, research_questions, rq_results, …), the PPT exporter switches to thesis-style layout. - ``language`` accepts en / zh-tw / zh-cn / ja. + ``language`` accepts en / zh-tw / zh-cn / ja / es / fr / de / ko / + pt / ru / it / vi / hi / id. ``max_slides_per_paper`` caps the per-paper slide count after the priority-based trim (cover/references/contributions are kept, Q&A/figure slides drop first). Default 25; pass ``0`` (or ``None``) for unlimited. + + ``dark_mode`` defaults to True — the post-build pass swaps the + brand palette to dark slide background (#12151B) + near-white + text (#E5E7EB) so OLED projectors and low-light venues don't + glare. Pass False for the light/printable variant (white slide + background + navy text). """ if not papers: raise AutoPaperToPPTError("export requires at least one paper") @@ -318,6 +327,7 @@ def export( include_abstract=include_abstract, language=language, max_slides_per_paper=slide_cap, + dark_mode=dark_mode, ) written = export_collection(collection, options) return { diff --git a/docs/architecture.md b/docs/architecture.md index 28425f5..0a4109a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -375,6 +375,38 @@ how much info each paper carries: All three tiers share the same shape-naming convention so `pptx_edit.update_slide(..., title=...)` looks up shapes by name. +### Post-build visual-identity passes + +After the chosen tier builds the deck on the light palette, three +non-invasive walk-and-rewrite passes run before the file is saved: + +1. **Typography** (`_apply_typography(prs, language)`) — walks every + text run, writes `` AND `` on + the run's XML based on `_FONT_FAMILIES[language]`. Setting only + `run.font.name` (the Latin slot) leaves CJK glyphs in PowerPoint's + default East-Asian font; both slots matter. +2. **Accent geometry** (`_decorate_with_accents(prs)`) — adds the + `accent_top` bar to every content slide and an `accent_left` band + to the cover. Both are full-width / full-height navy rectangles + the user never sees as separate shapes but instantly reads as + "this deck has an identity". +3. **Dark-mode recolour** (`_apply_dark_mode(prs)`, runs when + `ExportOptions.dark_mode=True`, which is the default) — walks every + slide / shape / run / table cell and swaps light-palette RGBs to + their dark equivalents via `_LIGHT_TO_DARK_TEXT` + `_LIGHT_TO_DARK_FILL` + dicts. The slide background switches to `#12151B`; body text goes + to `#E5E7EB`; the teal accent (`#0E7490`) goes to a brighter + `#2DD4BF`. The pass is intentionally non-invasive: it doesn't + refactor the 100+ direct `_BRAND_*` constant references in the + builders, it just rewrites RGBs after the fact. + +The three passes ship with regression tests in +`tests/test_exporters.py`: `test_pptx_default_is_dark_mode`, +`test_pptx_dark_mode_has_no_invisible_runs` (no run is `rgb=None` or +black), `test_pptx_dark_mode_no_light_text_on_light_fill` (no +near-white text inside a near-white-filled callout), and +`test_pptx_no_red_text_runs` (red `#C0392B` is banned for text). + ## Why the design choices | Choice | Reason | diff --git a/docs/en/index.rst b/docs/en/index.rst index 15521df..14acd51 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst @@ -318,8 +318,59 @@ to ``en``. Every text box on every slide carries a semantic ``name`` (``title``, ``meta``, ``body``, ``subhead``, ``footer``, ``page_number``, ``kpi``, -``rq_box``) so the editing tools can target shapes without depending -on visual position. See :doc:`/pptx_editing`. +``rq_box``, ``rq_question``, ``figure``, ``accent_top``, +``accent_left``) so the editing tools can target shapes without +depending on visual position. See :doc:`/pptx_editing`. + +Designed-deck visual identity +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The exporter applies three non-invasive post-build passes so a deck +doesn't look like generic ``add_slide()`` output: + +* **Per-language typography** — every text run gets both an + ```` and ```` typeface override. Latin defaults to + Inter; East-Asian to Microsoft JhengHei UI (zh-tw), YaHei UI + (zh-cn), Yu Gothic UI (ja), Malgun Gothic (ko); Nirmala UI handles + Devanagari (hi). Setting only the Latin slot leaves CJK glyphs in + PowerPoint's default East-Asian font — both slots matter. +* **Accent geometry** — every content slide gets a thin navy top bar + (``accent_top``, full width); the cover slide also carries a left + vertical band (``accent_left``). +* **Academic-style tables** — the default PowerPoint heavy black grid + is stripped; the header row gets a solid navy fill + 1.5pt navy + bottom rule; data rows alternate light blue / white with a 0.5pt + soft inter-row divider; vertical alignment is middle; the first + column is bold so row labels read as headers. + +Dark mode +^^^^^^^^^ + +Dark mode is the **default** render path. The post-build pass swaps +the light palette to a dark deck (slide bg ``#12151B``, body text +``#E5E7EB``, brighter teal accent ``#2DD4BF``) — designed for OLED +projectors and low-light venues. Opt out per render with +``--light-mode`` on the CLI, the **Light mode** checkbox on the +GUI's Deck tab, or ``ExportOptions(dark_mode=False)`` in Python. +Over MCP, pass ``dark_mode: false`` to the ``export`` tool. + +Red is **banned as a text colour** in both modes. The sanctioned +emphasis colour is teal ``#0E7490`` (bold + teal for KPI values and +RQ question callouts); grey is for captions / placeholders. Regression +tests in ``tests/test_exporters.py`` pin every contract — no +``rgb=None`` runs, no near-white text on near-white callouts, no +``#C0392B`` text runs. + +zh-tw / zh-cn vocabulary guard +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A 244-pattern regex catalogue in +``tests/test_i18n.py::test_zh_tw_files_use_traditional_chinese_vocabulary`` +catches Simplified-Chinese loan words rendered in Traditional hanzi +— e.g. ``內存`` (should be ``記憶體``), ``魯棒性`` (``穩健性``), +``軟件`` (``軟體``), ``緩存`` (``快取``). The same guard runs in +reverse for zh-cn strings. Full rule + the regex catalogue live in +``.claude/agents/language-vocabulary-check.md``. ---- @@ -380,8 +431,10 @@ Tools at a glance: * - ``export`` - Papers list + formats → writes ``.pptx/.xlsx/.md/.bib/.json``. Accepts a ``summary`` field per paper that can carry the - full thesis-style schema; accepts ``language`` for i18n and - ``max_slides_per_paper`` (default 25; pass ``0`` for unlimited). + full thesis-style schema; accepts ``language`` for i18n, + ``max_slides_per_paper`` (default 25; pass ``0`` for unlimited), + and ``dark_mode`` (default ``true`` — dark deck; pass ``false`` + for the printable light variant). * - ``pptx_inspect`` - Read slide / shape structure of an existing deck. * - ``pptx_update_slide`` diff --git a/docs/gui.md b/docs/gui.md index cc3ead1..4705219 100644 --- a/docs/gui.md +++ b/docs/gui.md @@ -36,9 +36,7 @@ install is needed. ## Tabs -The window has four tabs. The first two are functional in this -release; the other two are placeholders that will land in a -follow-up. +The window has four tabs. **All four are functional in this release.** ### Search @@ -90,18 +88,49 @@ Empty values clear the corresponding env var. **Restart the app** to refresh fetcher singletons that cached the env value at construction time. -### Enrich (coming soon) - -Per-paper PDF + LLM enrichment will land here. For now: set -`ANTHROPIC_API_KEY` in **Settings**, run a search, then export — -the CLI side auto-enriches each paper that has a downloadable PDF. - -### Deck (coming soon) - -PPTX inspector / editor. The MCP server already exposes -`pptx_inspect` / `pptx_update_slide` / `pptx_reorder_slides` / -`pptx_delete_slide` / `pptx_add_slide`; this tab will wire them -behind a Qt list view + form panel. +### Enrich + +Drives the per-paper PDF + LLM enrichment step. The Search tab emits +a `collection_ready` signal as soon as the results table populates; +the Enrich tab catches it and renders a per-paper row showing: + +- The paper's BibTeX key + title (clickable → opens the URL). +- A **PDF** column — green tick when a `pdf_url` is on file (Unpaywall + / S2 / arXiv / CORE.ac.uk lifted it), grey dash otherwise. +- An **Enrich** action that runs either the Python pipeline + (Anthropic API, needs `ANTHROPIC_API_KEY` in Settings) or surfaces + the LLM-as-agent path for runs without an API key. +- A progress strip across the bottom — the worker reports the current + paper, elapsed seconds, and a per-paper success/failure tally. + +Authored summaries are merged back onto the in-memory `PaperCollection`, +so a subsequent **Export** picks up the rich-tier layout automatically. + +### Deck + +The pre-export deck-shaping controls. Wires `ExportOptions` fields +behind Qt widgets: + +- **Light mode** checkbox — unchecked (default) ships the dark deck + (slide bg `#12151B`, body text `#E5E7EB`, brighter teal accent + `#2DD4BF`). Tick it for the printable / well-lit-room variant + (white bg + navy text). Mirrors the CLI `--light-mode` flag. +- **Max slides per paper** — integer spinner. Defaults to 25; + `0` means unlimited. +- **Max figures per paper** — controls how many `figures=` entries the + rich-tier layout actually renders. The priority trim keeps the + cover / references / contributions slides intact and drops Q&A / + figure / paper-table slides first when the cap kicks in. +- **Include abstract** checkbox — when off, the deck skips the + abstract slide entirely (useful for an "executive overview only" + variant). + +The PPTX inspector / editor surface (drives `pptx_inspect` / +`pptx_update_slide` / `pptx_reorder_slides` / `pptx_delete_slide` / +`pptx_add_slide`) is wired to the same shape names the exporter +produces — `title`, `meta`, `body`, `kpi`, `rq_question`, `figure`, +`accent_top`, `accent_left` — so the editor list view labels each +slide by its semantic role rather than by raw shape index. ## i18n diff --git a/docs/mcp.md b/docs/mcp.md index fd67696..b80e46b 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -266,7 +266,8 @@ Render a papers list to any combination of `.pptx`, `.xlsx`, `.md`, "filename_stem": "attention", "include_abstract": true, "language": "zh-tw", - "max_slides_per_paper": 25 + "max_slides_per_paper": 25, + "dark_mode": true } ``` @@ -275,6 +276,15 @@ after the priority-based trim — cover / references / contributions are kept first; Q&A / figure / paper-table slides drop first. Pass `0` (or omit the field) for unlimited. +`dark_mode` (default `true`) toggles the post-build recolour pass. +On: dark slide background (`#12151B`) + near-white body text (`#E5E7EB`) ++ darker table-row stripe — designed for OLED projectors and low-light +venues. Off: the light/printable variant (white background + navy text +`#1F3A66`). Both modes share the same builder pipeline — the dark pass +runs over the rendered tree, so the agent doesn't pick layouts up-front. +The teal accent (`#0E7490` → `#2DD4BF` in dark) marks KPI values and RQ +question callouts; red is banned for text in both modes. + Returns: ```json @@ -303,7 +313,11 @@ sentence-bucketing on `paper.abstract`. `fr`, `de`, `ko`, `pt`, `ru`, `it`, `vi`, `hi`, `id`. Drives both the template strings (Agenda / References / "Paper N of M" / footer) and the suggested LLM output language when the agent fills in the summary. -Anything outside that set falls back to `en` silently. +Anything outside that set falls back to `en` silently. Each locale +also drives the per-language typography pass (Inter for Latin, plus +Microsoft JhengHei UI for zh-tw / YaHei UI for zh-cn / Yu Gothic UI +for ja / Malgun Gothic for ko / Nirmala UI for hi) — replaces the +PowerPoint Calibri default, which is the biggest "AI-generated" tell. ### `pptx_inspect` diff --git a/readmes/README.de.md b/readmes/README.de.md index 655ec50..1f37081 100644 --- a/readmes/README.de.md +++ b/readmes/README.de.md @@ -85,6 +85,8 @@ Zwei in der Produktion so entdeckte Fabrikationen: falsche AAAI-Ausgabe (`v39i23 - `.md` — vollständige Quelle / Titel / Abstract-Liste. - `.bib` — kollisionsfreie Zitierschlüssel, LaTeX-escapte Felder. - `.json` — Rohpayload für nachgelagertes Tooling. + - **Gestaltete visuelle Identität** (nicht der Calibri-auf-Weiß-Standardlook): pro Sprache eigene Typografie (Inter für Latin; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI für CJK + Hindi), programmatische Akzentgeometrie (oberer Akzentbalken auf jeder Inhaltsfolie + linker Band auf der Titelfolie), akademisch gestaltete Tabellen (schwarzes Standardgitter entfernt, Navy-Headerlinie, weiche Zeilentrenner, alternierende Zeilenfärbung, vertikal mittige Ausrichtung, erste Spalte fett). 5-Farb-Palette (navy / teal / grey / light / white) — **rote Textfarbe ist verboten**; nutze **fett + teal `#0E7490`** zur Hervorhebung. + - **Dark Mode ist Standard**. Wird mit heller Palette gebaut, anschließend tauscht ein Post-Build-Pass die RGB-Werte von Text + Füllung + Zellenrand in die dunkle Variante (Folienhintergrund `#12151B`, Body-Text `#E5E7EB`, hellerer Teal-Akzent `#2DD4BF`). Optimal für OLED-Beamer und dunkle Räume. Für Druck oder helle Räume: `--light-mode` (CLI), Häkchen bei **Light mode** im Deck-Tab der GUI entfernen, oder `ExportOptions(dark_mode=False)` in Python. - **PPT-Edit-Toolkit**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) arbeitet mit jedem vom Exporter erzeugten Deck, plus die äquivalenten `pptx_*` MCP-Tools, mit denen ein LLM-Agent über ein erzeugtes Deck iterieren kann. - **MCP-Server**: 11 Tools — `list_sources` (Discovery), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export` und die fünf `pptx_*`-Edit-Tools. Erlaubt jedem MCP-fähigen LLM (Claude Code, Claude Desktop, Cursor, …) den gesamten Workflow zu steuern. - **Zwei Anreicherungspfade**, um über das Abstract hinaus zu einem echten Thesis-Stil-Deck zu kommen: diff --git a/readmes/README.es.md b/readmes/README.es.md index 9a6d58f..e9f0e4e 100644 --- a/readmes/README.es.md +++ b/readmes/README.es.md @@ -85,6 +85,8 @@ Dos fabricaciones detectadas así en producción: volumen AAAI incorrecto (`v39i - `.md` — lista completa fuente / título / resumen. - `.bib` — claves de cita sin colisión, campos con escape LaTeX. - `.json` — payload bruto para herramientas downstream. + - **Identidad visual diseñada** (no la apariencia por defecto Calibri-on-white): tipografía por idioma (Latin con Inter; CJK + Hindi con Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI), geometría de acento programática (barra superior en cada diapositiva de contenido + banda izquierda en la portada), tablas de estilo académico (sin rejilla negra, regla navy de cabecera, separadores suaves entre filas, franjas alternas, alineación vertical centrada, primera columna en negrita). Paleta de 5 colores (navy / teal / grey / light / white) — el rojo está **prohibido** como color de texto; usa **negrita + teal `#0E7490`** para enfatizar. + - **Modo oscuro por defecto**. Se construye con la paleta clara y luego un post-pass intercambia los RGB de texto + relleno + borde de celda al modo oscuro (fondo `#12151B`, texto `#E5E7EB`, teal más brillante `#2DD4BF`). Diseñado para proyectores OLED y salas con poca luz. Para imprimir o salas iluminadas, usa `--light-mode` (CLI), desmarca **Light mode** en la pestaña Deck de la GUI, o pasa `ExportOptions(dark_mode=False)` en Python. - **Kit de edición PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) funciona contra cualquier presentación que el exportador produzca, más las herramientas MCP equivalentes `pptx_*` para que un agente LLM pueda iterar sobre la presentación. - **Servidor MCP**: 11 herramientas — `list_sources` (descubrimiento), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export` y las cinco de edición `pptx_*`. Permite a cualquier LLM compatible con MCP (Claude Code, Claude Desktop, Cursor, …) dirigir el flujo completo. - **Dos rutas de enriquecimiento** para ir más allá del resumen hacia una presentación auténtica estilo tesis: diff --git a/readmes/README.fr.md b/readmes/README.fr.md index cef73f1..6f2c53c 100644 --- a/readmes/README.fr.md +++ b/readmes/README.fr.md @@ -85,6 +85,8 @@ Deux fabrications attrapées ainsi en production : mauvais volume AAAI (`v39i23. - `.md` — liste complète source / titre / résumé. - `.bib` — clés de citation sans collision, champs échappés LaTeX. - `.json` — payload brut pour outillage en aval. + - **Identité visuelle conçue** (pas l'apparence Calibri-on-white par défaut) : typographie par langue (Inter pour Latin ; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI pour CJK + Hindi), géométrie d'accent programmatique (barre supérieure sur chaque diapositive de contenu + bande gauche sur la couverture), tables au style académique (grille noire supprimée, règle navy d'en-tête, fins séparateurs entre lignes, bandes alternées, alignement vertical centré, première colonne en gras). Palette à 5 couleurs (navy / teal / grey / light / white) — le rouge est **interdit** comme couleur de texte ; utilisez **gras + teal `#0E7490`** pour l'emphase. + - **Mode sombre par défaut**. Construit avec la palette claire puis un post-pass remplace les RGB de texte + remplissage + bordure de cellule pour le mode sombre (fond `#12151B`, texte `#E5E7EB`, teal plus clair `#2DD4BF`). Pensé pour les vidéoprojecteurs OLED et les salles peu éclairées. Pour l'impression ou les salles bien éclairées, utilisez `--light-mode` (CLI), décochez **Light mode** dans l'onglet Deck de la GUI, ou passez `ExportOptions(dark_mode=False)` en Python. - **Boîte à outils d'édition PPT** : `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) fonctionne sur toute présentation produite par l'exporteur, plus les outils MCP équivalents `pptx_*` permettant à un agent LLM d'itérer sur une présentation générée. - **Serveur MCP** : 11 outils — `list_sources` (découverte), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export` et les cinq outils d'édition `pptx_*`. Permet à tout LLM compatible MCP (Claude Code, Claude Desktop, Cursor, …) de piloter l'ensemble du workflow. - **Deux voies d'enrichissement** pour aller au-delà du résumé vers une présentation style thèse : diff --git a/readmes/README.hi.md b/readmes/README.hi.md index 3f8161f..f1b3419 100644 --- a/readmes/README.hi.md +++ b/readmes/README.hi.md @@ -85,6 +85,8 @@ for p in ALL_PAPERS: - `.md` — पूर्ण स्रोत / शीर्षक / सार सूची। - `.bib` — टकराव-मुक्त उद्धरण कुंजियाँ, LaTeX-एस्केप्ड फ़ील्ड्स। - `.json` — डाउनस्ट्रीम टूलिंग के लिए कच्चा payload। + - **डिज़ाइन की गई विज़ुअल आइडेंटिटी** (डिफ़ॉल्ट Calibri-on-white जैसा नहीं): प्रति भाषा टाइपोग्राफी (Latin के लिए Inter; CJK + Hindi के लिए Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI), प्रोग्रामेटिक accent geometry (हर content slide के ऊपर accent bar + cover के बाएँ band), academic-style tables (default काली grid हटी, navy header rule, soft inter-row dividers, alternating row stripe, vertical middle alignment, पहली column bold)। 5-color palette (navy / teal / grey / light / white) — टेक्स्ट रंग के रूप में लाल **प्रतिबंधित**; emphasis के लिए **bold + teal `#0E7490`** उपयोग करें। + - **Dark mode डिफ़ॉल्ट है**। light palette पर बनता है, फिर post-build pass text + fill + cell-border के RGB को dark mode पर swap करता है (slide bg `#12151B`, body text `#E5E7EB`, अधिक चमकीला teal accent `#2DD4BF`)। OLED projectors और low-light venues के लिए डिज़ाइन। प्रिंट या उज्ज्वल कमरे के लिए: `--light-mode` (CLI), GUI के Deck tab में **Light mode** uncheck करें, या Python में `ExportOptions(dark_mode=False)` पास करें। - **PPT संपादन टूलकिट**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) एक्सपोर्टर द्वारा उत्पन्न किसी भी डेक पर काम करता है, साथ ही समकक्ष `pptx_*` MCP उपकरण ताकि एक LLM एजेंट उत्पन्न डेक पर पुनरावृत्ति कर सके। - **MCP सर्वर**: 11 उपकरण — `list_sources` (खोज), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export`, और पाँच `pptx_*` संपादन उपकरण। किसी भी MCP-अनुकूल LLM (Claude Code, Claude Desktop, Cursor, …) को पूरा कार्यप्रवाह संचालित करने देता है। - **दो समृद्धि पथ** सार से आगे एक वास्तविक थीसिस-शैली डेक तक: diff --git a/readmes/README.id.md b/readmes/README.id.md index 3fa06ce..6d10129 100644 --- a/readmes/README.id.md +++ b/readmes/README.id.md @@ -85,6 +85,8 @@ Dua fabrikasi yang tertangkap dengan cara ini di produksi: volume AAAI salah (`v - `.md` — daftar lengkap sumber / judul / abstrak. - `.bib` — kunci sitasi bebas tabrakan, field dengan escape LaTeX. - `.json` — payload mentah untuk tooling hilir. + - **Identitas visual yang dirancang** (bukan tampilan default Calibri-on-white): tipografi per bahasa (Inter untuk Latin; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI untuk CJK + Hindi), geometri aksen secara programatik (bar atas di setiap slide konten + band kiri di sampul), tabel bergaya akademik (grid hitam default dihapus, navy header rule, divider lembut antar baris, baris bergantian, alignment vertikal tengah, kolom pertama tebal). Palet 5 warna (navy / teal / grey / light / white) — merah **dilarang** sebagai warna teks; gunakan **bold + teal `#0E7490`** untuk penekanan. + - **Mode gelap sebagai default**. Dibangun dengan palet terang lalu post-build pass menukar RGB teks + fill + border sel ke mode gelap (latar slide `#12151B`, teks body `#E5E7EB`, teal accent lebih terang `#2DD4BF`). Dirancang untuk proyektor OLED dan ruang minim cahaya. Untuk cetak atau ruang terang, gunakan `--light-mode` (CLI), hilangkan centang **Light mode** di tab Deck GUI, atau berikan `ExportOptions(dark_mode=False)` di Python. - **Toolkit edit PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) bekerja terhadap deck apa pun yang dihasilkan eksportir, plus tool MCP setara `pptx_*` agar agen LLM dapat beriterasi di atas deck yang sudah dibuat. - **Server MCP**: 11 tool — `list_sources` (discovery), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export`, dan lima tool edit `pptx_*`. Memungkinkan LLM apa pun yang kompatibel MCP (Claude Code, Claude Desktop, Cursor, …) menjalankan seluruh alur. - **Dua jalur pengayaan** untuk melampaui abstrak menuju deck gaya tesis sejati: diff --git a/readmes/README.it.md b/readmes/README.it.md index 05e341c..17c9cac 100644 --- a/readmes/README.it.md +++ b/readmes/README.it.md @@ -85,6 +85,8 @@ Due fabbricazioni colte così in produzione: volume AAAI errato (`v39i23.34521` - `.md` — elenco completo sorgente / titolo / abstract. - `.bib` — chiavi di citazione senza collisioni, campi LaTeX-escapati. - `.json` — payload grezzo per tooling downstream. + - **Identità visiva progettata** (non il look predefinito Calibri-on-white): tipografia per lingua (Inter per il Latin; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI per CJK + Hindi), geometria di accento programmatica (barra superiore su ogni slide di contenuto + banda sinistra sulla copertina), tabelle in stile accademico (griglia nera rimossa, regola navy nell'intestazione, divisori soft tra le righe, strisce alternate, allineamento verticale centrato, prima colonna in grassetto). Palette a 5 colori (navy / teal / grey / light / white) — il rosso è **vietato** come colore di testo; usa **grassetto + teal `#0E7490`** per enfasi. + - **Modalità scura di default**. Si costruisce con la palette chiara e poi un post-pass cambia gli RGB di testo + riempimento + bordo cella in modalità scura (sfondo `#12151B`, testo `#E5E7EB`, teal più luminoso `#2DD4BF`). Pensato per proiettori OLED e sale poco illuminate. Per stampare o sale illuminate, usa `--light-mode` (CLI), togli la spunta a **Light mode** nella tab Deck della GUI, o passa `ExportOptions(dark_mode=False)` in Python. - **Toolkit di editing PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) funziona su qualsiasi deck prodotto dall'esportatore, più gli strumenti MCP equivalenti `pptx_*` per consentire a un agente LLM di iterare su un deck già generato. - **Server MCP**: 11 strumenti — `list_sources` (discovery), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export` e i cinque di editing `pptx_*`. Permette a qualsiasi LLM MCP-compatibile (Claude Code, Claude Desktop, Cursor, …) di pilotare l'intero workflow. - **Due percorsi di arricchimento** per superare l'abstract verso un deck vero stile tesi: diff --git a/readmes/README.ja.md b/readmes/README.ja.md index 2594a74..62e3621 100644 --- a/readmes/README.ja.md +++ b/readmes/README.ja.md @@ -85,6 +85,8 @@ for p in ALL_PAPERS: - `.md` — 完全なソース / タイトル / 要約リスト。 - `.bib` — 衝突しない引用キー、LaTeX エスケープ済みフィールド。 - `.json` — 下流ツーリング用の生ペイロード。 + - **デザイン済みのビジュアルアイデンティティ**(デフォルトの Calibri-on-white ではありません):言語ごとのタイポグラフィ(Latin に Inter、CJK + Hindi に Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI)、プログラム生成のアクセント幾何(コンテンツスライド上端のアクセントバー + カバーの左帯)、学術風テーブル(デフォルトの黒グリッド除去、navy ヘッダールール、淡色の行間 divider、交互の行ストライプ、垂直中央揃え、行ラベルは太字)。5 色 palette(navy / teal / grey / light / white)— テキストの赤色は禁止、強調は **太字 + teal `#0E7490`** で。 + - **ダークモードがデフォルト**。light palette で構築してから post-build pass で text + fill + cell-border の RGB をダークに置換(slide bg `#12151B`、本文 `#E5E7EB`、teal accent はより明るい `#2DD4BF` に)。OLED プロジェクター/暗所での発表を想定。明るい会場や印刷用には `--light-mode`(CLI)、GUI の Deck タブの **Light mode** チェック、または `ExportOptions(dark_mode=False)`(プログラム)でオプトアウト。 - **PPT 編集ツールキット**: `autopapertoppt.exporters.pptx_edit`(inspect / update_slide / delete_slide / reorder_slides / add_slide)はエクスポータが生成した任意のデッキに対して動作。LLM エージェントが生成済みデッキで反復できる `pptx_*` MCP ツールも同梱。 - **MCP サーバー**: 11 ツール — `list_sources`(発見)、`search`、`fetch_paper`、`fetch_pdf_text`、`download_pdfs`、`export`、および 5 個の `pptx_*` 編集ツール。MCP 対応 LLM(Claude Code、Claude Desktop、Cursor、…)から全ワークフローを駆動可能。 - **2 つのエンリッチパス**(要約だけでなく本物の論文発表級デッキへ): diff --git a/readmes/README.ko.md b/readmes/README.ko.md index 333de2f..3bb3575 100644 --- a/readmes/README.ko.md +++ b/readmes/README.ko.md @@ -85,6 +85,8 @@ for p in ALL_PAPERS: - `.md` — 전체 출처 / 제목 / 초록 리스트. - `.bib` — 충돌 없는 인용 키, LaTeX 이스케이프된 필드. - `.json` — 다운스트림 도구를 위한 원시 페이로드. + - **디자인된 시각 정체성** (기본 Calibri-on-white 모습이 아님): 언어별 타이포그래피 (Latin 은 Inter, CJK + Hindi 는 Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI), 프로그램으로 그리는 accent geometry (모든 콘텐츠 슬라이드 상단의 accent bar + 표지 좌측 띠), 학술 스타일 표 (기본 검정 그리드 제거, navy 헤더 룰, 부드러운 행간 divider, 교대 행 stripe, 수직 중앙 정렬, 첫 열 굵게). 5색 팔레트 (navy / teal / grey / light / white) — 빨간 텍스트는 **금지**, 강조는 **굵게 + teal `#0E7490`** 으로. + - **다크 모드가 기본**. light palette 로 빌드한 다음 post-build pass 가 text + fill + cell-border 의 RGB 를 다크 모드로 교체 (슬라이드 배경 `#12151B`, 본문 `#E5E7EB`, teal accent 은 더 밝은 `#2DD4BF` 로). OLED 프로젝터와 어두운 발표장을 위한 기본. 인쇄나 밝은 환경에서는 `--light-mode` (CLI), GUI Deck 탭의 **Light mode** 체크 해제, 또는 Python 에서 `ExportOptions(dark_mode=False)` 로 opt out. - **PPT 편집 툴킷**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) 는 익스포터가 생성한 모든 덱에 대해 작동. 동등한 `pptx_*` MCP 도구로 LLM 에이전트가 생성된 덱을 반복적으로 수정 가능. - **MCP 서버**: 11 개 도구 — `list_sources` (디스커버리), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export`, 그리고 5 개의 `pptx_*` 편집 도구. MCP 호환 LLM (Claude Code, Claude Desktop, Cursor, …) 이 전체 워크플로를 구동 가능. - **두 가지 enrichment 경로** 초록을 넘어 진짜 논문 발표 스타일 덱으로: diff --git a/readmes/README.pt.md b/readmes/README.pt.md index 5338877..c96bc08 100644 --- a/readmes/README.pt.md +++ b/readmes/README.pt.md @@ -85,6 +85,8 @@ Duas fabricações detectadas assim em produção: volume AAAI errado (`v39i23.3 - `.md` — lista completa de fonte / título / resumo. - `.bib` — chaves de citação sem colisão, campos com escape LaTeX. - `.json` — payload bruto para ferramentas downstream. + - **Identidade visual projetada** (não o visual padrão Calibri-on-white): tipografia por idioma (Latin com Inter; CJK + Hindi com Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI), geometria de acento programática (barra superior em cada slide de conteúdo + faixa esquerda na capa), tabelas em estilo acadêmico (grade preta removida, regra navy de cabeçalho, divisores suaves entre linhas, faixas alternadas, alinhamento vertical centralizado, primeira coluna em negrito). Paleta de 5 cores (navy / teal / grey / light / white) — vermelho está **proibido** como cor de texto; use **negrito + teal `#0E7490`** para ênfase. + - **Modo escuro por padrão**. Construído com a paleta clara e depois um post-pass troca os RGB de texto + preenchimento + borda de célula para o modo escuro (fundo `#12151B`, texto `#E5E7EB`, teal mais brilhante `#2DD4BF`). Pensado para projetores OLED e salas com pouca luz. Para imprimir ou salas iluminadas, use `--light-mode` (CLI), desmarque **Light mode** na aba Deck da GUI, ou passe `ExportOptions(dark_mode=False)` no Python. - **Toolkit de edição PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) funciona em qualquer deck que o exportador produzir, mais as ferramentas MCP equivalentes `pptx_*` para um agente LLM iterar no deck gerado. - **Servidor MCP**: 11 ferramentas — `list_sources` (descoberta), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export`, e as cinco de edição `pptx_*`. Permite qualquer LLM compatível com MCP (Claude Code, Claude Desktop, Cursor, …) dirigir todo o workflow. - **Duas rotas de enriquecimento** para ir além do resumo até um deck verdadeiro estilo tese: diff --git a/readmes/README.ru.md b/readmes/README.ru.md index 11e9a47..b2080e2 100644 --- a/readmes/README.ru.md +++ b/readmes/README.ru.md @@ -85,6 +85,8 @@ for p in ALL_PAPERS: - `.md` — полный список источник / заголовок / аннотация. - `.bib` — ключи цитирования без коллизий, поля с LaTeX-эскейпами. - `.json` — сырой payload для downstream-инструментов. + - **Дизайнерская визуальная идентичность** (а не дефолтный Calibri-on-white): пер-языковая типографика (Inter для Latin; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI для CJK + Hindi), программная accent geometry (верхняя акцентная полоса на каждом контентном слайде + левая полоса на обложке), академические таблицы (убрана дефолтная чёрная сетка, navy header rule, мягкие divider между строками, чередующиеся row stripes, выравнивание по центру, первая колонка bold). Палитра из 5 цветов (navy / teal / grey / light / white) — красный **запрещён** как цвет текста; используйте **bold + teal `#0E7490`** для акцента. + - **Тёмная тема по умолчанию**. Строится на светлой палитре, затем post-build pass меняет RGB текста + заливки + границ ячеек на тёмный вариант (фон слайда `#12151B`, основной текст `#E5E7EB`, более яркий teal `#2DD4BF`). Рассчитано на OLED-проекторы и тёмные залы. Для печати или светлых залов: `--light-mode` (CLI), снимите галочку **Light mode** на вкладке Deck в GUI, или передайте `ExportOptions(dark_mode=False)` в Python. - **Инструменты редактирования PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) работает с любым деком, созданным экспортёром, плюс эквивалентные MCP-инструменты `pptx_*` для итераций над сгенерированным деком LLM-агентом. - **MCP-сервер**: 11 инструментов — `list_sources` (discovery), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export`, и пять `pptx_*`-инструментов. Любой MCP-совместимый LLM (Claude Code, Claude Desktop, Cursor, …) может управлять всем процессом. - **Два пути обогащения** для выхода за пределы аннотации к настоящему деку в стиле дипломной: diff --git a/readmes/README.vi.md b/readmes/README.vi.md index f994a48..a012b87 100644 --- a/readmes/README.vi.md +++ b/readmes/README.vi.md @@ -85,6 +85,8 @@ Hai trường hợp ngụy tạo bị bắt theo cách này trong sản xuất: - `.md` — danh sách đầy đủ nguồn / tiêu đề / tóm tắt. - `.bib` — khóa trích dẫn không xung đột, các trường đã escape LaTeX. - `.json` — payload thô cho công cụ downstream. + - **Bộ nhận diện hình ảnh được thiết kế** (không phải vẻ ngoài Calibri-on-white mặc định): typography theo từng ngôn ngữ (Inter cho Latin; Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI cho CJK + Hindi), accent geometry theo chương trình (thanh trên cùng trên mỗi slide nội dung + dải trái trên trang bìa), bảng kiểu học thuật (bỏ lưới đen mặc định, đường rule navy ở header, divider nhẹ giữa các hàng, sọc xen kẽ, căn dọc giữa, cột đầu in đậm). Bảng 5 màu (navy / teal / grey / light / white) — **cấm** dùng đỏ làm màu chữ; dùng **đậm + teal `#0E7490`** để nhấn mạnh. + - **Chế độ tối là mặc định**. Dựng deck với palette sáng rồi post-build pass đổi RGB của text + fill + viền cell sang chế độ tối (nền slide `#12151B`, chữ thân `#E5E7EB`, teal accent sáng hơn `#2DD4BF`). Tối ưu cho máy chiếu OLED và phòng tối. Để in ấn hay phòng sáng, dùng `--light-mode` (CLI), bỏ chọn **Light mode** trong tab Deck của GUI, hoặc truyền `ExportOptions(dark_mode=False)` trong Python. - **Bộ chỉnh sửa PPT**: `autopapertoppt.exporters.pptx_edit` (inspect / update_slide / delete_slide / reorder_slides / add_slide) làm việc với bất kỳ deck nào exporter sinh ra, cộng với các công cụ MCP `pptx_*` tương đương để LLM agent lặp trên deck đã sinh. - **Server MCP**: 11 công cụ — `list_sources` (khám phá), `search`, `fetch_paper`, `fetch_pdf_text`, `download_pdfs`, `export` và năm công cụ chỉnh sửa `pptx_*`. Cho phép bất kỳ LLM tương thích MCP (Claude Code, Claude Desktop, Cursor, …) điều khiển toàn bộ workflow. - **Hai lối làm giàu** để vượt qua tóm tắt đến deck phong cách luận văn thực sự: diff --git a/readmes/README.zh-CN.md b/readmes/README.zh-CN.md index 3c53835..9dd52fc 100644 --- a/readmes/README.zh-CN.md +++ b/readmes/README.zh-CN.md @@ -97,6 +97,8 @@ for key in irrelevant_keys: - **本地 PDF 模式** (`--pdf `): 传一个 PDF 或一整个目录。内置启发式抽取器会从每个 PDF 的首页直接抽出 **标题、作者、年份、arXiv ID、DOI、真正的摘要**(以「Abstract」/「ABSTRACT」/「摘要」标题为锚点,而不是随便切前 N 字)。单 PDF 时 `--title` / `--authors` / `--year` / `--venue` / `--doi` / `--arxiv-id` 会覆盖抽取结果;目录模式下以每个文件自己的抽取结果为准,每篇都会输出一份以 BibTeX key 命名的幻灯片。 - **五种导出器**: - `.pptx` —— 16:9 宽屏、带页码。三种 rendering tier(轻量摘要 / 扁平结构化 / **论文答辩级 thesis-style**:痛点四宫格、研究问题 callout、KPI 区、技术比较表、文献定位表、系统总览、方法细节、每个 RQ 结果表、贡献总结、核心观察、限制与未来工作、Q&A、参考文献)。所有模板字符串都做 i18n,共 **14 种语言**:English、繁體中文、简体中文、日本語、Español、Français、Deutsch、한국어、Português、Русский、Italiano、Tiếng Việt、हिन्दी、Bahasa Indonesia。 + - **设计过的视觉识别**(不是默认 Calibri-on-white 的样子):按语言字体 pass(Latin 用 Inter,CJK + Hindi 用 Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI)、程式化的 accent geometry(每张内容幻灯片顶部的 accent bar + 封面的左侧色带)、学术风表格(去掉默认黑色 grid、navy header rule、淡色 inter-row divider、交替 row stripe、垂直居中、首列加粗作行标签),搭配五色 palette 纪律(navy / teal / grey / light / white) —— 红色文字被禁用,强调用 **粗体 + teal `#0E7490`** 代替。 + - **暗色模式为默认**。先用 light palette 构建 deck,再用 post-build pass 把 text + fill + cell-border 的 RGB 换成暗色版本(slide bg `#12151B`、body text `#E5E7EB`、teal accent 换成更亮的 `#2DD4BF`)。OLED 投影仪与昏暗会场直接拿到暗版本,作者无须额外配置;若要打印或在明亮场地用,加 `--light-mode`(CLI)、取消勾选 GUI Deck 页的 **Light mode**、或在程序里传 `ExportOptions(dark_mode=False)`。 - `.xlsx` —— Papers 工作表 + Query 出处工作表,URL/PDF 带超链接、首行冻结、列宽自动。第 5 列 **Source** 显示真实刊登来源(例如「IEEE Access」),第 6 列 **Indexed via** 显示是哪个 fetcher 抓到的(例如「openalex」),两个信息不会混在一起。 - `.md` —— 完整来源/标题/摘要清单。 - `.bib` —— 不会撞 key、LaTeX 特殊字符已转义。 @@ -172,6 +174,7 @@ py -m autopapertoppt --paper "https://arxiv.org/abs/1706.03762" ` | `--paywall-threshold` | 多少比例的结果是付费墙才会触发确认提示。默认 0.30。 | | `--yes` | 跳过付费墙提示。 | | `--max-slides` | 每篇 PPT 幻灯片上限(默认 25;传 0 表示不限)。 | +| `--light-mode` | 用白底 + navy 文字 render 幻灯片。**暗色模式才是默认** —— 加这个 flag 是在明亮会场投影或打印手册时使用。 | | `--quiet` | 不打印每篇论文。 | 默认值: `--query` → `pptx,xlsx,bib`;`--paper` → `pptx,bib`。一律可被 `--export` 覆盖。 diff --git a/readmes/README.zh-TW.md b/readmes/README.zh-TW.md index 5c40873..10213ca 100644 --- a/readmes/README.zh-TW.md +++ b/readmes/README.zh-TW.md @@ -97,6 +97,8 @@ for key in irrelevant_keys: - **本機 PDF 模式** (`--pdf `): 傳一個 PDF 或一整個資料夾。內建啟發式抽取器會從每個 PDF 的首頁直接撈出 **標題、作者、年份、arXiv ID、DOI、真正的摘要**(以「Abstract」/「ABSTRACT」/「摘要」標題為錨點,不是隨便切前 N 字)。單一 PDF 時 `--title` / `--authors` / `--year` / `--venue` / `--doi` / `--arxiv-id` 會覆寫抽取結果;資料夾模式下以每個檔自己的抽取結果為準,每篇都會出一份以 BibTeX key 命名的投影片。 - **五種匯出器**: - `.pptx` —— 16:9 寬螢幕、附頁碼。三種 rendering tier(輕量摘要 / 扁平結構化 / **論文口試級 thesis-style**:痛點四宮格、研究問題 callout、KPI 區、技術比較表、文獻定位表、系統總覽、方法細節、每題 RQ 結果表、貢獻總結、核心觀察、限制與未來工作、Q&A、參考文獻)。所有樣板字串都做 i18n,共 **14 種語言**:English、繁體中文、简体中文、日本語、Español、Français、Deutsch、한국어、Português、Русский、Italiano、Tiếng Việt、हिन्दी、Bahasa Indonesia。 + - **設計過的視覺識別**(不是預設 Calibri-on-white 的樣子):每語言字體 pass(Latin 用 Inter,CJK + Hindi 用 Microsoft JhengHei UI / YaHei UI / Yu Gothic UI / Malgun Gothic / Nirmala UI)、程式化的 accent geometry(每張內容投影片頂端的 accent bar + 封面的左側帶)、學術風表格(去掉預設黑色 grid、navy header rule、淡色 inter-row divider、交替 row stripe、置中對齊、首欄粗體標籤),搭配五色 palette 紀律(navy / teal / grey / light / white) —— 紅色文字被禁用,強調用 **粗體 + teal `#0E7490`** 取代。 + - **暗色模式為預設**。先用 light palette 建構 deck,再用 post-build pass 把 text + fill + cell-border 的 RGB 換成暗色版本(slide bg `#12151B`、body text `#E5E7EB`、teal accent 換成更亮的 `#2DD4BF`)。OLED 投影機與昏暗會場直接拿到暗版本,作者不用思考;若要列印或在明亮場地用,加 `--light-mode`(CLI)、勾掉 GUI Deck 分頁的 **Light mode**、或在程式中傳 `ExportOptions(dark_mode=False)`。 - `.xlsx` —— Papers 工作表 + Query 出處工作表,URL/PDF 帶超連結、首列凍結、欄寬自動。第 5 欄 **Source** 顯示真實刊登來源(例如「IEEE Access」),第 6 欄 **Indexed via** 顯示是哪個 fetcher 抓到的(例如「openalex」),兩個資訊不會混在一起。 - `.md` —— 完整來源/標題/摘要清單。 - `.bib` —— 不會撞 key、LaTeX 特殊字元已跳脫。 @@ -172,6 +174,7 @@ py -m autopapertoppt --paper "https://arxiv.org/abs/1706.03762" ` | `--paywall-threshold` | 多少比例的結果是付費牆才會觸發確認提示。預設 0.30。 | | `--yes` | 跳過付費牆提示。 | | `--max-slides` | 每篇 PPT 投影片上限(預設 25;傳 0 表示不限)。 | +| `--light-mode` | 用白底 + navy 文字 render 投影片。**暗色模式才是預設** —— 加這個 flag 是在明亮會場投影或要列印時使用。 | | `--quiet` | 不要列印每篇論文。 | 預設值: `--query` → `pptx,xlsx,bib`;`--paper` → `pptx,bib`。一律可被 `--export` 覆寫。