# Arxiv2beamer
For a Chinese version of this README, see [README_CN.md](README_CN.md).
`Arxiv2beamer` is a skill repository for Agent/Codex-style workflows. It is designed to turn research papers into doctoral group-meeting style LaTeX Beamer presentations, or to structurally revise and extend an existing Beamer deck.
The goal of this skill is not just to generate a slide deck that compiles. It is designed so that an agent can:
- read LaTeX paper sources or Arxiv sources;
- extract the paper's original section outline first, then organize slides to follow the paper's structure as closely as possible;
- reuse equations, figures, tables, and experimental settings from the paper;
- compile with `xelatex`;
- use `mcp-pdf-vision` to visually audit the generated PDF, then keep fixing overflow, overlap, image cropping, and crowded layout issues.
## Dependencies
### 1. `xelatex`
Used to compile the final Beamer PDF.
### 2. A Beamer template
This skill assumes you already have a working Beamer template. The agent generates or edits content on top of that template. You can use a template such as:
- [RUC Beamer Template](https://github.com/Master-cai/RUC_beamer_template)
### 3. `mcp-pdf-vision`
This is a core dependency of the skill. It is used to:
- download Arxiv LaTeX sources;
- get the total page count of the generated PDF;
- visually inspect the PDF in small batches.
## Installation
### 3.1 Let an agent install it for you
If you want an agent to install everything automatically, send it a prompt like this:
```text
Please read this GitHub repository and install Arxiv2beamer by following the README instructions:
https://github.com/Master-cai/Arxiv2beamer
Requirements:
1. Install and configure mcp-pdf-vision first.
2. Then install this repository into my skills directory.
3. Finally, verify that the skill is available and tell me how to invoke it.
```
### 3.2 Manual installation
The manual setup has two core steps:
1. Install and configure `mcp-pdf-vision`.
2. Copy this repository into your skills directory, for example `~/.codex/skills`.
#### Step 1: Install and configure `mcp-pdf-vision`
`mcp-pdf-vision` must be configured as an MCP server in the agent client you use. Below are example configurations for several common clients.
##### Codex
Add this to `~/.codex/config.toml`:
```toml
[mcp_servers.pdf-vision]
command = "uvx"
args = ["mcp-pdf-vision"]
```
##### Claude
If you use Claude Code, you can add it with:
```bash
claude mcp add --transport stdio pdf-vision -- uvx mcp-pdf-vision
```
If you use Claude Desktop, add this to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"pdf-vision": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-pdf-vision"],
"env": {}
}
}
}
```
##### Gemini
Add this to `.gemini/settings.json` or `~/.gemini/settings.json`:
```json
{
"mcpServers": {
"pdf-vision": {
"command": "uvx",
"args": ["mcp-pdf-vision"]
}
}
}
```
If your config file already contains other fields or MCP servers, merge the `pdf-vision` entry into the existing file instead of overwriting everything.
#### Step 2: Install this skill repository
A typical directory setup looks like this:
```bash
mkdir -p ~/.codex/skills
cp -R /path/to/Arxiv2beamer ~/.codex/skills/arxiv2beamer
```
After copying, confirm that this file exists:
- `~/.codex/skills/arxiv2beamer/SKILL.md`
If you keep a personal Chinese reference copy locally, you may also keep `SKILL_CN.md`, but it is not required for the default published version.
## Usage
### 1. Generate a Beamer deck from an Arxiv paper
Give the agent an Arxiv link and explicitly ask it to use this skill to generate a group-meeting style Beamer deck. For example:
```text
Please use the arxiv2beamer skill to generate a doctoral group-meeting style Beamer presentation from this Arxiv paper, then compile it and run visual checks:
https://arxiv.org/abs/XXXX.XXXXX
```
### 2. Revise an existing Beamer deck
If you already have a Beamer template or an existing slide deck, you can also ask the agent to revise it directly. For example:
```text
Please use the arxiv2beamer skill to read the paper source and the Beamer main file in the current directory, then rewrite the slides starting from \section{Introduction}, organize the content to follow the paper structure as closely as possible, and complete compilation plus visual auditing.
```
## Acknowledgements
Thanks to [PenK1nG](https://github.com/PenK1nG) for the discussions and help.