mcpField
A
arxiv-paper-translator

arxiv-paper-translator

github.com/yromドキュメント55462 回インストール35 週間前に更新
リポジトリ

arxiv-paper-translator について

arxiv-paper-translatorは、arXiv論文のLaTeXソースを中国語に翻訳し、PDFにコンパイルするスキルです。用語整理や翻訳レビューからXeLaTeXでの出力までを扱い、技術レポートも作成できます。

主な機能

  1. 01arXivのLaTeXソースを取得・展開
  2. 02構造を保って説明文を翻訳
  3. 03翻訳前に用語の背景を整理
  4. 04訳文の完全性とLaTeX構文を確認
  5. 05CJK対応を設定してPDFを生成
  6. 06技術レポートの作成にも対応

活用シーン

  1. 01arXiv論文の中国語PDFを作成
  2. 02訳文の完全性とLaTeXの問題を確認
  3. 03翻訳と併せて技術概要を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yrom/arxiv-paper-translator --skill arxiv-paper-translator

インストール後、Claude Code で/arxiv-paper-translatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
Makefile.template
report_template.md
references/
chinese_support.md
review_checklist.md
summary_prompt.md
translation_guidelines.md
translation_prompt.md

詳細

arXiv 論文翻訳ツール

arXiv から LaTeX ソースをダウンロードし、構造を維持しながら内容を翻訳して、技術レポートとともに翻訳済み PDF を生成します。

ワークフローの概要

  1. ダウンロードと展開 - arXiv から LaTeX ソースを取得します
  2. 翻訳 - LaTeX 固有のルールに従って、英語の文章を中国語に翻訳します
  3. レビュー段階 - コンパイル前に必ず完了してください
  4. CJK サポートと言語ラベルのローカライズ - xeCJK を追加し、ラベルをローカライズします
  5. .tex ファイルのコンパイル - XeLaTeX を使って翻訳済み PDF を生成します
  6. レポート - 技術的な概要ドキュメントを作成します

前提条件

ローカルの xelatex のインストール状況を確認します:

xelatex --version

インストールされていない場合は、Docker がインストールされ、使用可能であることを確認してください。

docker --version

このスキルでは、翻訳済み PDF のコンパイルに XeLaTeX が必要です。ローカルにインストールされていない場合は、代わりに Docker を使用します。

xu-cheng/latex-docker の Docker イメージの使用を推奨します。

例:Tex Live のフルディストリビューション(linux/amd64 のみ):

# NOTICE: ghcr.1ms.run is a mirror of ghcr.io.
docker pull ghcr.1ms.run/xu-cheng/texlive-debian:20260101 --platform linux/amd64
# => docker pull ghcr.io/xu-cheng/latex-debian:20260101 --platform linux/amd64

ローカルの XeLaTeX と Docker の両方がインストールされていない場合は、このスキルの実行を中止してください。 そして、ユーザーに「翻訳済み PDF のコンパイルには XeLaTeX または Docker が必要です。どちらを使用しますか?セットアップをお手伝いします。」と質問してください。

ステップ 1:LaTeX ソースのダウンロード

ユーザーの入力から ARXIV_ID を抽出します。

arXiv からソースコードをダウンロードして展開します:

# Download LaTeX source (replace ARXIV_ID with user-specified paper ID)
ARXIV_ID="2206.04655"
mkdir -p arXiv_${ARXIV_ID}
wget -q https://arxiv.org/e-print/${ARXIV_ID} -O arXiv_${ARXIV_ID}/paper_source.tar.gz
mkdir -p arXiv_${ARXIV_ID}/paper_source
tar -xzf arXiv_${ARXIV_ID}/paper_source.tar.gz -C arXiv_${ARXIV_ID}/paper_source

展開を確認します:

# List files to understand structure
tree arXiv_${ARXIV_ID}/paper_source

ステップ 2:LaTeX ファイルの翻訳

重要:翻訳を始める前に、詳細なルールを確認するため、references/translation_guidelines.md を読んでください。

翻訳のワークフロー

ステップ 2.1. paper_source/ のすべてのファイルを paper_cn/ にコピーします:

オプション 1 - cp を使用(標準):

cd arXiv_${ARXIV_ID}
mkdir -p paper_cn
cp -r paper_source/* paper_cn/

オプション 2 - rsync を使用(差分同期に適しています):

cd arXiv_${ARXIV_ID}
mkdir -p paper_cn
rsync -av paper_source/ paper_cn/

paper_cn/ 内のすべての .tex ファイルは、後でその場で翻訳します。

ステップ 2.2. コンテキストの収集(必須):

翻訳を始める前に、必ず以下を抽出してください:

  1. 論文タイトル:メインファイルの \title{...} から取得します
  2. 要旨:メインファイルの \begin{abstract}...\end{abstract} または \abstract{...} から取得します
  3. 論文の構成:すべてのセクションと、それぞれを含む .tex ファイルを一覧にします
  4. 重要な用語:論文の内容から用語集を作成します

翻訳方法がわからない用語集の項目や用語については、定義をユーザーに質問できます。

この情報は翻訳作業に必須です。

プロンプトのテンプレートについては、references/translation_prompt.md を読んでください。

ステップ 2.3. 翻訳タスクの割り当て

翻訳するファイルを特定します:

  • メインファイルを探します(\documentclass{...} を含むファイル。通常は main.tex、paper.tex、template.tex などです)
  • 翻訳が必要な .tex ファイルを絞り込みます(マクロのみのファイルがあれば除外します。また、ユーザーが指定したファイルも考慮します)
  • 翻訳するファイルの一覧を作成します

翻訳方針:

  1. まずメインファイルを翻訳します(順次実行)

    • 共通の用語コンテキストを構築します
    • 他のファイルの翻訳との一貫性を確保します
  2. 他のファイルを翻訳します:

    • ファイルが 3 つ以上の場合:並列で割り当てます
    • ファイルが 1~2 つの場合:順次翻訳します

各翻訳タスク:

  • タスクの種類:汎用サブエージェント
  • 入力:paper_cn/ ディレクトリ内のファイルパス
  • 作業:ファイルを読み取る → 翻訳する → ファイルを編集する(翻訳文でファイルの内容を更新します)
  • references/translation_prompt.md に必ず従ってください
  • 収集したコンテキスト(タイトル、要旨、構成、用語)を必ず使用してください

メインの .tex ファイルを探すコマンド例:

find paper_cn/ -name "*.tex" -exec grep -l '\\documentclass' {} \; | head -1

ステップ 3:翻訳をレビューする

すべての翻訳タスクが完了したら、references/review_checklist.md に従って翻訳内容をレビューし、以下を確認する必要があります。

  1. ファイルの完全性チェック
  2. LaTeX コマンドのスペル
  3. CJK catcode の問題
  4. 翻訳品質チェック
  5. 内容の抜き取り確認

レビューで見つかった問題に応じて、必要な修正を行ってください。

重要:ステップ 4 に進む前に、以下を確認する必要があります。

  • すべてのレビュー項目を確認済み
  • 特定した問題を修正済み
  • 翻訳品質を確認済み

ステップ 4:中国語サポートを追加する

重要:CJK フォントを設定し、ラベルをローカライズするには、references/chinese_support.md に従ってください。

メインの .tex ファイルを変更して、xeCJK パッケージを追加し、CJK フォントを設定します。

例:TexLive Docker イメージに含まれている Fandol フォントを使用する場合:

\usepackage{xeCJK}
\setCJKmainfont{FandolSong}[ItalicFont=FandolKai]  % 宋体 - 正文,\emph 用楷体
\setCJKsansfont{FandolHei}    % 黑体 - 标题、\textsf
\setCJKmonofont{FandolFang}   % 仿宋 - 代码、\texttt

ローカルで実行する場合は、設定する前にユーザーに希望するフォントを確認してください。fc-list :lang=zh family で利用可能なフォントを確認します。

ステップ 5:翻訳済み PDF をコンパイルする

オプション 1:ローカルで XeLaTeX を使用する
# Basic compilation
xelatex main.tex

# If paper has bibliography (recommended approach)
xelatex main.tex
bibtex main
xelatex main.tex
xelatex main.tex

または、コンパイルを自動化するには latexmk を使用します。

latexmk -xelatex main.tex
オプション 2:TeX Live を Docker で使用する
# change working directory to arXiv_${ARXIV_ID}
cd /path/to/arXiv_${ARXIV_ID}
docker run --rm \
  -v "$(pwd)/paper_cn":/workspace \
  -w /workspace \
  ghcr.1ms.run/xu-cheng/texlive-debian:20260101 \
  latexmk -xelatex main.tex

ステップ 6:技術レポートを作成する

ユーザーが技術的な要約を依頼した場合は、references/summary_prompt.md に従ってサブエージェントを起動し、assets/report_template.md を使用して技術的な要約を作成します。

レポートの保存先:arXiv_${ARXIV_ID}/technical_report.md

最終成果物

  1. 翻訳済み PDF:paper_cn/<main-file>.pdf
  2. 技術レポート:arXiv_${ARXIV_ID}/technical_report.md
  3. TeX ソース:翻訳済みのすべての LaTeX ファイルを含む paper_cn/ ディレクトリ

よくある問題と解決策

問題解決策
ダウンロードしたファイルが .tar.gz ではなく単一の .tex ファイルmv paper_source.tar.gz paper_source.tex を実行し、ディレクトリを作成する
メインファイルの名前が main.tex ではないfind . -name "*.tex" -exec grep -l "\\documentclass" {} \;
エンコーディングエラーでコンパイルに失敗するfile *.tex で確認し、iconv -f ISO-8859-1 -t UTF-8 で変換する
コマンドのスペルミス(例:\footnotext)レビューチェックリストのステップ 2 を参照 — コマンドセットの差分を確認して誤記を見つける
未定義の制御シーケンス - \xmax概率xeCJK catcode の問題 — カスタムマクロと CJK テキストを区切るため {} を挿入する → \xmax{}概率
未定義の制御シーケンス - \chinese{弋}元の文書で CJK パッケージの \chinese マクロが使われています。catcode の問題を防ぐため、xeCJK の設定後に \newcommand{\chinese}[1]{#1} を追加する
カスタムの .sty/.cls ファイルpaper_cn/ にコピーし、ハードコードされた英語テキストがないか確認する
翻訳済みの表で Missing $ inserted が発生するCJK 文字とラテン文字の混在により xeCJK のフォント切り替えエラーが発生することがあります(例:(xyz) が数式モードとして扱われる)。表のセルの内容を元に戻す
未定義の参照(例:\ref{fig:joint-train})翻訳対象のファイルでない場合も含め、参照されるファイルがすべて paper_cn/ に存在することを確認する。

参考資料

コメント