Communitygithub.com

Paper → Beamer Slides 管線

自動化管線:將學術論文(PDF 或 TeX 原始碼)轉換為 SUSTech Beamer 投影片(11 節「論文分享」結構)並編譯成 PDF。當 TeX 原始碼可用時,跳過 MinerU 直接從 LaTeX 提取內容。

Paper → Beamer Slides 管線 是什麼?

此技能提供一條完整自動化管線,將學術論文(PDF 或 TeX 原始碼)轉換為 SUSTech 主題的 Beamer 投影片簡報,並遵循 11 節「論文分享」結構。它可接受多種輸入格式,包括 PDF、.tar.gz TeX 壓縮檔、.tex 檔案或 arXiv URL/ID(自動下載 TeX 原始碼)。若有 TeX 原始碼可用,管線會跳過 MinerU 以保留表格結構;否則針對純 PDF 輸入使用 MinerU 進行內容提取。輸出的簡報會放入 `論文分享/<VENUE> - <SHORT_TITLE>/` 目錄下。此技能嚴格要求所有幻燈片在編譯時不得出現 `Overfull \hbox` 或 `Overfull \vbox` 警告,僅使用單欄佈局、最多 3 個區塊加 1 個 callout、表格不超過 5 欄。作者介紹章節會強制執行線上查核,以取得正確的中文姓名、現任職位及實驗室背景。整個管線會直接修改從本地模板複製的 `main.tex`,填補 `\ph{…}` 佔位符,並取代 `\phfig` 佔位圖形。此技能與支援 bash 與文件編輯能力的 AI 代理環境(如 Claude Code、Codex)高度相容。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-to-beamer

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

預覽

來自技能 README

Paper → Beamer Slides 管線 preview

說明文件

Paper → Beamer Slides 管線 是做什麼的?

給定一份論文(PDF 或 TeX 原始碼),在 論文分享/<VENUE> - <SHORT_TITLE>/ 下製作一份編譯完成的 SUSTech 主題 Beamer 簡報。

主題變體:\usetheme{sustech}(小寫,變體 A),來自 https://github.com/yhbcode000/sustech-slides-template.git。不要使用 \usetheme{SUSTech}(變體 B,用於 MT3)——它有不同的巨集且沒有章節分隔頁。

預設長寬比:aspectratio=1610(16:10)。不要使用 169(16:9)——1610 是筆電/投影機相容性的首選,並為密集內容提供稍多的垂直空間。

Bash 執行環境:所有 shell 指令都在 session 的 bash 工具下執行,在 Windows 上即為 Git Bash。可使用 Unix 風格的 rm -rf、cp -r、mkdir -p。工作目錄透過 cwd 按區塊設定。

需求(強制)

每份投影片都必須滿足這些規則。除非特別註明,否則沒有例外。

  1. 無幻燈片溢位(嚴格)——所有幻燈片必須在編譯時不產生 Overfull \hbox 或 Overfull \vbox 警告。遵循 skill://sustech-beamer-overflow:僅使用單欄、最多 3 個區塊 + 1 個 callout、表格 ≤5 欄並使用 \footnotesize、不使用 \resizebox。唯一例外是索引/TOC 頁(\twopane 佈局)——TOC 幀上的輕微垂直溢位(Overfull \vbox)是可容忍的。

第 1 階段——設定目錄

  1. 接受 $ARGUMENTS——PDF 路徑、.tar.gz TeX 壓縮檔或 .tex 檔案(相對於 session cwd 的絕對或相對路徑),或 arXiv URL / 純 arXiv ID。

  2. 如果輸入是 arXiv URL 或純 ID(符合 ^\d{4}\.\d{4,5}(v\d+)?$ 或包含 arxiv.org/(abs|pdf|e-print)/),先下載 TeX 原始碼:

    uv run --no-project python \
      "<SKILLS_DIR>/paper-download-arxiv-paper-source/scripts/download_source.py" \
      "<arxiv-ref>"        # default output = session cwd
    
    • 如果 stdout 以 TEX_SOURCES: 結尾:推導 DIR_NAME——從提取的 paper_src/ TeX 中的 \setsource{Venue}{Year} 取得場地(備用 \markboth,然後 arXiv <year>);短標題 = \title{...} 的前 1-3 個顯著詞(備用:詢問使用者,現有規則)。然後執行 mkdir -p "論文分享/<DIR_NAME>" 和 mv arXiv-<id>.tar.gz paper_src "論文分享/<DIR_NAME>/"。
    • 如果 stdout 以 PDF_ONLY: <path> 結尾:該論文在 arXiv 上沒有 TeX 原始碼——將該 PDF 複製到 論文分享/<DIR_NAME>/,依照下面的 .pdf 分支處理(第 2 階段決策閘門不變)。
    • 如果指令以非零退出:停止並向使用者報告 stderr 訊息。
  3. 推導一個簡短的目錄名稱 <VENUE> - <SHORT_TITLE>(arXiv 輸入已在步驟 2 中推導):

    • 去除 .pdf / .tar.gz / .tgz / .tex,將空格/連字號/特殊字元替換。
    • 如果無法從檔名推斷場地或標題,請向使用者詢問名稱。
    • 慣例:現有範例為 SCIENCE ROBOTICS - HIL SERL、SCIENCE ROBOTICS - MT3。
  4. 建立 論文分享/<DIR_NAME>/ 並將原始碼提取/複製到那裡(arXiv 輸入已在步驟 2 中移動了壓縮檔 + paper_src/):

    • .tar.gz / .tgz:使用 tar -xzf 提取到 paper_src/。
    • .pdf:直接複製到論文目錄根目錄。
    • .tex:將原始檔案複製到 paper_src/。

第 2 階段——內容提取

決策閘門:如果 TeX 原始碼可用(包含 .tex 的 .tar.gz 壓縮檔,或直接 .tex 檔案),完全跳過 MinerU。使用 read 直接從 TeX 原始碼讀取所有內容(標題、作者、摘要、章節、表格、參考文獻)——它比 MinerU 輸出更準確,並能精確保留表格結構。

僅在輸入為 PDF 且無 TeX 原始碼可用時才執行 MinerU:

"$MINERU_PYTHON" \
  "<SKILLS_DIR>/pdf-to-markdown/convert.py" \
  "論文分享/<DIR_NAME>/<pdf_filename>.pdf" \
  "論文分享/<DIR_NAME>/md_output" \
  --lang en
  • 英文論文:--lang en。中文/混合:--lang ch。
  • 包裝器成功時會輸出 DONE -> ...md。
  • 輸出位於 md_output/<name>/auto/<name>.md。

如果缺少 MinerU 環境,則停止並告知使用者按照 pdf-to-markdown 技能的預檢步驟安裝。



第 3 階段——安裝打包好的模板

提升後的 paper-to-beamer 套件是主要的離線模板來源:

uv run --project "<SKILLS_DIR>/paper-to-beamer" python \
  "<SKILLS_DIR>/paper-to-beamer/scripts/copy_template.py" \
  --output "論文分享/<DIR_NAME>/slides-template"

這會複製經過驗證的 main_template.tex、latexmkrc 和 sustech-theme/ 套件。絕不備用網路 clone。僅在使用者明確要求模板刷新時,才可將上游儲存庫 clone 到單獨的臨時目錄中,在套件發行前進行審查。


第 4 階段——建立工作目錄並複製必要檔案

# cwd: $PP_ROOT
mkdir -p "論文分享/<DIR_NAME>/slides-beamer"
cp -r "論文分享/<DIR_NAME>/slides-template/sustech-theme" \
  "論文分享/<DIR_NAME>/slides-beamer/"
cp "論文分享/<DIR_NAME>/slides-template/latexmkrc" \
  "論文分享/<DIR_NAME>/slides-beamer/"
cp "論文分享/<DIR_NAME>/slides-template/main_template.tex" \
  "論文分享/<DIR_NAME>/slides-beamer/main.tex"
mkdir -p "論文分享/<DIR_NAME>/slides-beamer/figures"

所有後續編輯僅針對 slides-beamer/。 slides-template/ 保持原始狀態作為參考。


第 5 階段——讀取並提取內容

當 TeX 原始碼可用時(首選——.tar.gz 壓縮檔或 .tex 檔案):使用 read 直接從 paper_src/ 讀取主要的 .tex。所有內容(標題、作者、摘要、章節、表格、參考文獻)都從結構化的 LaTeX 原始碼中提取。表格可直接從 tabular 環境重建——無需 MinerU。

當只有 Markdown 可用時(僅限 PDF 輸入):讀取 md_output/<name>/auto/<name>.md。提取以下資料點:


第 6 階段——填寫 slides-beamer/main.tex

這是核心創意階段。 讀取 main.tex(從模板複製),然後逐節編輯,將每個 \ph{…} 佔位符和 \phfig 替換為 Markdown 中的真實內容。

使用 HIL SERL 範例作為已填寫的樣式參考:論文分享/SCIENCE ROBOTICS - HIL SERL/slides-beamer/main.tex。

6.0 前文 metadata

  • \title[ACRONYM 論文分享]{中文描述性標題}——中文標題作為主標題;短標題必須包含「論文分享」後綴。遵循 HIL SERL:\title[HIL-SERL 論文分享]{...}。
  • \subtitle{英文原始論文標題}——英文原文作為副標題。
  • \author[short]{…}——論文的完整作者列表。
  • \institute[short]{…}——主要機構。
  • \setsource{Venue}{Year}——論文發表場地。
  • \setdomains{\domaintag{...}\domaintag{...}\domaintag{...}}——3-4 個研究領域標籤,顯示在標題頁上作為彩色膠囊。標籤必須使用中文(例如 多智能體RL、LLM Agent、RL後訓練)。絕不允許使用像 Multi-Agent RL、RL Post-Training 這樣的英文術語——它們與中文文字並列時看起來不一致,並破壞 SUSTech 主題的雙語簡報風格。
  • \setpresenter{$PRESENTER}(預設)或詢問使用者。
  • \setvenue{<venue location>}(預設:詢問使用者)。
  • 標題頁出處腳註 \creditline(預設顯示:嗶哩嗶哩 · 白拾的物理AI組會 · github.com/yhbcode000/sustech-slides-template)。公開分享/發布影片建議保留;彙報/答辯需要乾淨版式時在前言區加 \hidecredits 關閉,或 \setcreditline{} 置空、\setcreditline{...} 自訂文案。

刪除佔位輔助巨集 \ph 和 \phfig——它們不再需要。

6.1 首頁 (Title page)

\titlepage 幀保持不變。前文 metadata 驅動它。

6.2 📑 目錄頁(增強版 TOC)

模板現在使用雙面板 \twopane 佈局(來自主題)。左面板包含一個緊湊的 TOC,使用 {\tocdense\small\tableofcontents[hideallsubsections]}。右面板包含三個區塊:

  1. \block{核心觀察}——論文的 3-5 個關鍵指標/見解
  2. \block{附錄討論}——3-5 個附錄重點(Oral 訊號、比較、方法說明)
  3. \callout[一句話概括]——一句話的論文摘要

刪除單獨的論文資訊幀。標題/場地/作者已在前文中。一句話摘要位於 TOC callout 中。無需單獨的資訊幀。

TOC 間距:使用 {\tocdense\small\tableofcontents[hideallsubsections]}——\tocdense(來自主題)壓縮 beamer TOC 間距。在前面加上 \vspace{-0.6em} 以將內容向上拉近標題。

左邊距:主題的 \tocdense 會加入 \hskip2em 左邊距,以實現平衡的 TOC 佈局。

6.3 👤 作者介紹——在寫入前先進行線上交叉驗證

關鍵:在寫入此幀之前,您必須先線上搜尋作者簡歷。 論文 PDF 僅提供姓名和所屬機構——它們缺少中文姓名、現任職位、先前的著名工作、實驗室名稱和近期表彰。諸如「清華大學,第一作者」這類通用條目是不可接受的。

搜尋程序(在寫入幀之前執行):

  1. 向 xd://web_search 寫入 {"query": "<first author> <institution> <paper domain>", "limit": 5}——獲取中文姓名、目前角色、先前工作、實驗室。
  2. 向 xd://web_search 寫入 {"query": "<corr author 1> <institution>", "limit": 5}——對每位通訊作者重複。
  3. 每位作者至少交叉引用 2 個來源。偏好個人首頁或 Google Scholar。
  4. 也可透過 xd://web_search 搜尋 {"query": "<institution> <lab/prof> <domain>", "limit": 5} 以獲取實驗室脈絡。

從搜尋結果中提取的內容:

  • 中文姓名(論文 PDF 通常缺少中文字元)
  • 目前職位(助理教授?博士生?業界?論文所屬機構可能已過時)
  • 著名的先前工作(此人以什麼著稱?例如 MAPPO、RLinf、GRPO)
  • 實驗室/團隊名稱(例如 EDI Lab、NICS-EFC、RAIL)
  • 近期表彰(在頂級場地發表的論文、獎項、領導角色)

填入帶有附註的簡歷:

\begin{frame}{作者介紹}
  \begin{block}{核心作者}
    \begin{itemize}
      \item \shl{<first author>}(<Chinese>):<dept>, <role>。以 \keyword{<prior work>} 著稱。在本文中<role>。
      \item 合作者來自 <institutions>,構成<description>團隊。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{block}{通訊作者}
    \begin{itemize}
      \item \shl{<corr 1>}(<Chinese>):<position> @ <inst>,<lab> PI。研究方向為 \keyword{<f1>}、\keyword{<f2>}。<notable work>。本文<role>。
      \item \shl{<corr 2>}(<Chinese>):<position> @ <inst>,<lab>。<notable>。本文<role>。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{callout}[研究脈絡]
    <team trajectory leading to this paper>。
  \end{callout}
\end{frame}

6.4 📋 背景與動機

對應模板中的 研究背景與動機 章節:

  • 在 \section 之前設定 \renewcommand{\secblurb}{…}(一句話摘要)。
  • 使用從摘要/引言中提取的簡潔動機填寫項目符號佔位符。
  • 將圖形移動到此內容幻燈片之後的專用 [plain,c] 幻燈片:\fitfigure{fig1_overview.jpg} + \figcap{1}{caption}。移除 \begin{columns} 包裝器——此幻燈片僅保留文字。
  • 使用最多 3 個來自論文的關鍵數字填充 \metric{…}{…}。

6.5 相關工作

對應 相關工作 章節:

  • 從論文的 Related Work 章節填寫研究領域。
  • 列出實際的基線方法及其關係。
  • 在 callout 中說明關鍵區別。

如果論文有明確的「Related Work」章節,請使用它。否則從引言中分散的參考文獻進行濃縮。

6.6 🔧 方法

對應 方法 章節(2 幀:概述 + 核心設計)。

幀 1(概述):

  • 從論文的方法章節列出系統元件。
  • 將圖形移動到此內容幻燈片之後的專用 [plain,c] 幻燈片:\fitfigure{fig2_system.jpg} + \figcap{2}{caption}。移除 \begin{columns} 包裝器。

幀 2(核心設計):

  • 列出最多 4 個關鍵設計元素。
  • 在 callout 中新增一行總結。

6.7 🧪 實驗設計

對應 實驗設計 章節:

  • 列出任務類別/資料集。
  • 說明評估協議和基線。
  • 將圖形移動到此內容幻燈片之後的專用 [plain,c] 幻燈片:\fitfigure{fig3_tasks.jpg} + \figcap{3}{caption}。移除 \begin{columns} 包裝器。

6.8 📈 結果與分析

對應 實驗結果 章節(2 幀:主要表格 + 分析)。

幀 1(主要表格):

  • 使用論文中的真實資料重建表格。
  • 保持 ≤5 欄,≤6 行。
  • 使用 \shl{…} 突顯最佳結果。
  • 使用 \theadrow、\altrow、\thc{…} 搭配 booktabs。
  • 在 callout 中給出一行結論。

幀 2(分析):

  • 要點分析(3-4 個觀察)。
  • 分析圖形放在分析要點之後的專用 [plain,c] 幻燈片上。

6.9 💡 要點總結

對應 要點總結 章節(對應「核心貢獻」):

  • 3 個列舉的關鍵要點。
  • 在 callout 中給出一句話摘要。

6.10 ⚠️ 局限與討論

對應 局限性 章節:

  • 3-4 個局限性。
  • 在 callout 中給出作者指出的未來方向。

6.11 📚 參考文獻

對應 參考文獻 幀:

  • 使用論文中的實際參考文獻填寫 bibitem 條目。
  • 第一個 bibitem 應該是論文本身(標記為 (本文))。
  • 包含 3-5 個關鍵基線。

6.12 💬 Q&A

將 Q&A 幀中的佔位文字替換為:

  • 報告人姓名、機構、聯絡資訊。
  • 保留 Q&A 樣式(\fontsize{40}{44} 等)。

6.13 圖形處理

對於每個需要圖形的佔位符:

  1. TeX 原始碼可用(首選):將 paper_src/figures/ 中的圖形複製到 slides-beamer/figures/,並使用語義化名稱:fig1_overview.pdf、fig2_system.pdf 等。TeX 原始碼使用向量 .pdf 圖形——品質卓越。
  2. Markdown 可用:列出 md_output/<name>/auto/images/ 中的圖片。每個都是雜湊命名的 .jpg。透過 inspect_image 檢查或從 markdown 的 ![](images/...) 引用中選取相關圖形。 僅限於內容幀中圖形與文字共享空間的情況。
  3. 將圖形放在其專用幻燈片上——絕不放在 \begin{columns} 區塊內:
    \begin{frame}[plain,c]
      \centering
      \includegraphics[height=0.92\textheight,width=\textwidth,keepaspectratio]{filename}
      \figcap{N}{caption text}
    \end{frame}
    

如果圖形缺失或無法擷取,請改為插入一個佔位 callout(\phfig 輔助巨集已在 6.0 中刪除,因此請不要引用它

…

[為翻譯截斷]

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Peytontalismanic424/paper-share-skills

Validate and upload narrated paper videos to Bilibili with biliup. Handles required landscape-first/portrait-second submissions, series uploads, CST scheduling, diagnostics, dry-run validation, and durable upload receipts. Trigger on: "upload to bilibili", "bilibili upload", "发布到B站", "上传到B站".

Peytontalismanic424/paper-share-skills

Download the TeX source (e-print tar.gz) of an arXiv paper from an arXiv URL or bare ID, and unpack it into paper_src/. Use FIRST whenever a pipeline input is an arXiv link and the TeX source is preferred over the PDF (paper-to-beamer, paper-to-bilibili, paper-venue-discovery). Invoke with an arXiv URL (abs/pdf/e-print, arxiv.org or export.arxiv.org) or a bare ID like 2509.07996v4.

Peytontalismanic424/paper-share-skills

Convert Beamer PDF slides into a fail-closed narrated MP4 with page-aligned narration, TTS audio, cover, and upload metadata. Trigger on narrated slides, slide video, or paper video requests.

Peytontalismanic424/paper-share-skills

Orchestrate a paper PDF through MinerU, SUSTech Beamer slides, complete Chinese narration, landscape and portrait video, metadata gates, and Bilibili upload. Supports single-paper and batch slides, video, or bilibili phases. Trigger on full paper-to-Bilibili requests, PDF-to-video publication, and batch paper publishing.

Peytontalismanic424/paper-share-skills

Generate a deterministic 16:10 video-cover poster from a paper directory. Extracts paper metadata and figures and atomically produces poster.tex, poster.pdf, and poster.png. Use for paper-video covers, not conference posters.

Peytontalismanic424/paper-share-skills

Convert a PDF (especially academic papers) to clean Markdown using MinerU — preserves reading order, LaTeX equations, tables, and figures, and runs on the GPU. Use when the user asks to convert/extract a PDF to markdown/text. Invoke directly — no need for the user to type the skill name.

Peytontalismanic424/paper-share-skills

Fix for undefined \setsource/\setdomains/\setpresenter/\setvenue commands when compiling SUSTech Beamer slides from the standard template. Copy the extended beamerthemesustech.sty from the sustech-slides-template repository.

相關技能