Communitygithub.com

Peytontalismanic424/paper-share-skills

学術論文(PDF または TeX ソース)から SUSTech スタイルの Beamer スライド(11 セクションの論文共有構成)を自動生成し、PDF にコンパイルするパイプラインです。TeX ソースが利用可能な場合は MinerU をスキップし、LaTeX から直接コンテンツを抽出します。

paper-share-skills とは?

このスキルは、学術論文(PDF、TeX アーカイブ、arXiv URL/ID)を入力として、SUSTech テーマの Beamer プレゼンテーション(中国語の「論文分享」形式、11 セクション)を自動生成し、コンパイル済み PDF として出力するエンドツーエンドのパイプラインです。主に Cursor、Claude Code、Codex などの AI コーディングエージェント向けに設計されており、ユーザーが「論文分享」や「make beamer from paper」と依頼した際に呼び出されます。内部では、Tex ソースが利用可能な場合は MinerU(PDF 解析)をバイパスして LaTeX から直接コンテンツを抽出するため、テーブル構造などを正確に保持します。また、オンライン検索を活用して著者の経歴情報をクロスチェックし、スライド内の「作者紹介」フレームを充実させます。最終的に、指定テンプレートからコピーした main.tex を編集し、各セクションのプレースホルダーを抽出した内容で置き換えて、コンパイル可能な Beamer ソースを生成します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-to-beamer

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

プレビュー

スキル README より

paper-share-skills preview

ドキュメント

論文 → Beamer スライド パイプライン

与えられた論文(PDF または TeX ソース)から、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 ランタイム: すべてのシェルコマンドはセッションの bash ツールで実行されます。 Windows では Git Bash です。rm -rf、cp -r、 mkdir -p といった Unix 形式のコマンドが使用可能です。作業ディレクトリはブロックごとに cwd で設定されます。

要件(必須)

すべてのスライドデッキは以下のルールを満たさなければなりません。特記がない限り例外はありません。

  1. スライドのオーバーフロー禁止(厳守) — すべてのスライドは Overfull \hbox または Overfull \vbox 警告なしでコンパイルされる必要があります。skill://sustech-beamer-overflow に従うこと:シングルカラムのみ、最大 3 ブロック + 1 コールアウト、テーブルは \footnotesize で 5 列以下、\resizebox は使用しないこと。唯一の例外はインデックス/TOC ページ(\twopane レイアウト)で、TOC フレームでのわずかな縦方向オーバーフロー(Overfull \vbox)は許容されます。

フェーズ 1 — ディレクトリのセットアップ

  1. $ARGUMENTS を受け入れます — PDF パス、.tar.gz TeX アーカイブ、または .tex ファイル(セッションの 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>"        # デフォルト出力 = セッション cwd
    
    • stdout が TEX_SOURCES: で終わる場合:DIR_NAME を導出 — 会議名は抽出された paper_src/ TeX 内の \setsource{会議名}{年} から(フォールバック \markboth、次に arXiv <年>);短縮タイトル = \title{...} の最初の 1~3 の重要な単語(フォールバック:ユーザーに問い合わせ、既存のルール)。その後 mkdir -p "論文分享/<DIR_NAME>" を実行し、arXiv-<id>.tar.gz と paper_src を 論文分享/<DIR_NAME>/ に移動します。
    • stdout が PDF_ONLY: <path> で終わる場合:論文に arXiv 上に TeX ソースがありません — その PDF を .pdf ブランチ(以下)に従って 論文分享/<DIR_NAME>/ にコピーします(フェーズ 2 の決定ゲートは変更なし)。
    • コマンドが 0 以外の終了コードで終了した場合:処理を停止し、stderr のメッセージをユーザーに報告します。
  3. 短いディレクトリ名 <会議名> - <短縮タイトル> を導出します(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:PDF をペーパーディレクトリのルートに直接コピー。
    • .tex:ソースファイルを paper_src/ にコピー。

フェーズ 2 — コンテンツ抽出

決定ゲート: TeX ソースが利用可能な場合(.tex を含む .tar.gz アーカイブ、または直接の .tex ファイル)、 MinerU を完全にスキップします。すべてのコンテンツ(タイトル、著者、アブストラクト、セクション、テーブル、参考文献) を read を使用して TeX ソースから直接読み取ります — MinerU 出力よりも正確で、 テーブル構造を正確に保持します。

MinerU は、TeX ソースが利用できない PDF が入力の場合にのみ実行します:

"$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/ バンドルがコピーされます。ネットワーククローンはフォールバックとしては使用しません。ユーザーが明示的にテンプレートのリフレッシュを要求した場合のみ、上流リポジトリをパッケージリリース前にレビュー用に別の一時ディレクトリにクローンすることがあります。


フェーズ 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 ファイル): paper_src/ からメインの .tex を read を使用して直接読み取ります。すべてのコンテンツ (タイトル、著者、アブストラクト、セクション、テーブル、参考文献)は構造化された 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 プリアンブルメタデータ

  • \title[ACRONYM 论文分享]{中国語の説明タイトル} — メインタイトルは中国語;短縮タイトルには「论文分享」サフィックスを必ず含めます。HIL SERL に従う:\title[HIL-SERL 论文分享]{...}。
  • \subtitle{英語の原著論文タイトル} — サブタイトルは英語の原著論文タイトル。
  • \author[短縮]{…} — 論文の全著者リスト。
  • \institute[短縮]{…} — 主要所属機関。
  • \setsource{会議名}{年} — 論文の発表会議・ジャーナル。
  • \setdomains{\domaintag{...}\domaintag{...}\domaintag{...}} — タイトルページにカラフルなピルとして表示される 3~4 つの研究ドメインタグ。タグは必ず中国語で記述します(例:多智能体RL、LLM Agent、RL后训练)。Multi-Agent RL、RL Post-Training のような英語の用語は決して使用しないでください — 中国語テキストの隣で一貫性がなく、SUSTech テーマのバイリンガルプレゼンテーションスタイルを損なうためです。
  • \setpresenter{$PRESENTER}(デフォルト)またはユーザーに問い合わせ。
  • \setvenue{<会議の場所>}(デフォルト:ユーザーに問い合わせ)。
  • タイトルページの出典フッター \creditline(デフォルト表示:哔哩哔哩 · 白拾的物理AI组会 · github.com/yhbcode000/sustech-slides-template)。公開共有/動画公開を目的とする場合はそのまま残すことを推奨;発表/弁護でクリーンなレイアウトが必要な場合は、プリアンブルに \hidecredits を追加して非表示にするか、\setcreditline{} で空にする、\setcreditline{...} でカスタムテキストに設定します。

プレースホルダーヘルパーマクロ \ph と \phfig は削除します — これらはもう必要ありません。

6.1 首页(タイトルページ)

\titlepage フレームはそのままにします。プリアンブルメタデータが駆動します。

6.2 📑 目录页(拡張 TOC)

テンプレートは現在、テーマからの \twopane レイアウトを2ペインで使用しています。左ペインには {\tocdense\small\tableofcontents[hideallsubsections]} によるコンパクトな TOC が含まれています。右ペインには3つのブロックが含まれています:

  1. \block{核心观察} — 論文からの 3~5 の主要メトリクス/洞察
  2. \block{附录讨论} — 3~5 の付録ハイライト(Oral シグナル、比較、手法の説明)
  3. \callout[一句话概括] — 論文の一言要約

個別の 论文信息 フレームは削除されました。タイトル/会議名/著者はプリアンブルに既にあります。一言要約は TOC コールアウトに配置します。個別の情報フレームは不要です。

TOC の間隔: {\tocdense\small\tableofcontents[hideallsubsections]} を使用 — \tocdense(テーマから)は Beamer の TOC 間隔をコンパクトにします。\vspace{-0.6em} を先頭に付けて、コンテンツをタイトルに近づけます。

左マージン: テーマの \tocdense は、バランスの取れた TOC レイアウトのために \hskip2em の左マージンを追加します。

6.3 👤 作者介绍 — 記述前にオンラインでクロス検証

重要:このフレームを記述する前に、必ずオンラインで著者の経歴を検索する必要があります。 論文 PDF は名前と所属機関のみを提供します — 中国語名、 現在のポジション、以前の注目すべき業績、研究室名、最近の受賞歴が不足しています。 「清華大学、筆頭著者」のような一般的なエントリは許容されません。

検索手順(フレームを記述する前に実行):

  1. xd://web_search に {"query": "<筆頭著者> <所属機関> <論文ドメイン>", "limit": 5} を書き込む — 中国語名、現在の役割、以前の業績、研究室を取得。
  2. xd://web_search に {"query": "<責任著者1> <所属機関>", "limit": 5} を書き込む — 各責任著者について同様に行う。
  3. 著者ごとに少なくとも2つの情報源をクロスリファレンスする。個人のホームページまたは Google Scholar を優先する。
  4. 研究室のコンテキストのために、xd://web_search に {"query": "<所属機関> <研究室/教授> <ドメイン>", "limit": 5} でも検索する。

検索結果から抽出するもの:

  • 中国語名(論文 PDF には中国語の文字が欠落していることが多い)
  • 現在のポジション(助教授?博士課程学生?産業界?論文の所属は古い可能性あり)
  • 注目すべき以前の業績(この人は何で知られているか?例:MAPPO、RLinf、GRPO)
  • 研究室 / グループ名(例:EDI Lab、NICS-EFC、RAIL)
  • 最近の受賞歴(トップ会議への論文掲載、賞、リーダーシップの役割)

電報的な経歴でフレームを記入します:

\begin{frame}{作者介绍}
  \begin{block}{核心作者}
    \begin{itemize}
      \item \shl{<筆頭著者>}(<中国語>):<学科>, <役割>。\keyword{<以前の業績>} で知られる。本論文では<役割>。
      \item 合作者来自 <所属機関>,構成<説明>团队。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{block}{通讯作者}
    \begin{itemize}
      \item \shl{<責任著者1>}(<中国語>):<ポジション> @ <機関>,<研究室> PI。研究方向为 \keyword{<分野1>}、\keyword{<分野2>}。<注目すべき業績>。本論文<役割>。
      \item \shl{<責任著者2>}(<中国語>):<ポジション> @ <機関>,<研究室>。<注目すべき業績>。本論文<役割>。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{callout}[研究脉络]
    <本論文に至る研究チームの軌跡>。
  \end{callout}
\end{frame}

6.4 📋 背景与动机

テンプレートの 研究背景与动机 セクションにマッピングします:

  • \section の前に \renewcommand{\secblurb}{…}(一言要約)を設定します。
  • 箇条書きプレースホルダーをアブストラクト/イントロからの電報的な動機で埋めます。
  • 図は、このコンテンツスライドの後に専用の [plain,c] スライドに移動します:\fitfigure{fig1_overview.jpg} + \figcap{1}{キャプション}。\begin{columns} ラッパーは削除します — このスライドはテキストのみにします。
  • \metric{…}{…} に論文からの最大3つの主要な数値を記入します。

6.5 相关工作

相关工作 セクションにマッピングします:

  • 論文の Related Work セクションから研究分野を埋めます。
  • 実際のベースラインメソッドとその関係をリストします。
  • コールアウトで主要な差別化要因を述べます。

論文に明確な「Related Work」セクションがある場合はそれを使用します。そうでない場合は、 イントロダクションの散在する参考文献から凝縮します。

6.6 🔧 方法

方法 セクション(2 フレーム:概要 + コアデザイン)にマッピングします。

フレーム 1(概要):

  • 論文の方法セクションからシステムコンポーネントをリストします。
  • 図は、このコンテンツスライドの後に専用の [plain,c] スライドに移動します:\fitfigure{fig2_system.jpg} + \figcap{2}{キャプション}。\begin{columns} ラッパーは削除します。

フレーム 2(コアデザイン):

  • 最大4つの主要な設計要素をリストします。
  • コールアウトに一行の要点を追加します。

6.7 🧪 实验设计

实验设计 セクションにマッピングします:

  • タスクカテゴリ/データセットをリストします。
  • 評価プロトコルとベースラインを記載します。
  • 図は、このコンテンツスライドの後に専用の [plain,c] スライドに移動します:\fitfigure{fig3_tasks.jpg} + \figcap{3}{キャプション}。\begin{columns} ラッパーは削除します。

6.8 📈 结果与分析

实验结果 セクション(2 フレーム:メインテーブル + 分析)にマッピングします。

フレーム 1(メインテーブル):

  • 論文の実際のデータでテーブルを再作成します。
  • 5 列以下、6 行以下に保ちます。
  • 最良の結果を \shl{…} で強調表示します。
  • \theadrow、\altrow、\thc{…} を booktabs とともに使用します。
  • コールアウトに一行の結論を記述します。

フレーム 2(分析):

  • 箇条書きの分析(3~4 の観察結果)。
  • 分析箇条書きの後に、分析図を専用の [plain,c] スライドに配置します。

6.9 💡 要点总结

要点总结 セクション(「核心贡献」に対応)にマッピングします:

  • 3 つの列挙された主要な takeaways。
  • コールアウトに一言要約。

6.10 ⚠️ 局限与讨论

局限性 セクションにマッピングします:

  • 3~4 の限界点。
  • コールアウトに著者が特定した将来の方向性。

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}{キャプションテキスト}
    \end{frame}
    

図が見つからない場合やキャプチャできない場合は、代わりにプレースホルダーコールアウトを挿入します (\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.

関連スキル