latex

- 把 PDF 转为 AEA/经济研究/NAU/SCU 模板的 LaTeX/Beamer,并编译成 PDF

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "latex" with this command: npx skills add canyangliunian/agent-skills/canyangliunian-agent-skills-latex

LaTeX

触发条件(满足其一)

  • 把 PDF 转为 AEA/经济研究/NAU/SCU 模板的 LaTeX/Beamer,并编译成 PDF

  • 需要从 PDF 抽取结构化内容(摘要/引言/文献综述/数据/方法/结果/结论)并写入模板

  • 需要完整流水线:marker_extract.py → 复制模板 → latex-server 写入 → compile.py

  • 只需要单点功能:marker_extract.py / 复制模板 / latex-server / compile.py

核心原则

  • 先抽取再写模板:有 PDF 时,必须先跑 marker_extract.py

  • 只改内容,不改样式:禁止修改 .cls/.sty/.bst

  • 路径一律绝对路径

资源导航(必须先看)

  • 脚本:/Users/lingguiwang/.codex/skills/latex/scripts/

  • marker_extract.py (PDF → 中间产物)

  • compile.py (编译 LaTeX)

  • 说明:/Users/lingguiwang/.codex/skills/latex/references/

  • marker_extract.md (参数与排错)

  • compile.md (编译参数与排错)

  • 模板:/Users/lingguiwang/.codex/skills/latex/assets/

  • AEA:/Users/lingguiwang/.codex/skills/latex/assets/AEA/

  • 经济研究:/Users/lingguiwang/.codex/skills/latex/assets/经济研究/

  • NAU:/Users/lingguiwang/.codex/skills/latex/assets/NAU/

  • SCU:/Users/lingguiwang/.codex/skills/latex/assets/SCU/

端到端流程(推荐主流程)

  • 复制模板到工作目录(绝对路径)

  • 运行 marker_extract.py :PDF → 中间产物

  • 优先使用 --use_llm

  • 若不使用 LLM,默认使用 --torch_device mps

  • 一般不使用 --no_tables ,如需使用必须先征询用户

  • 默认超时 40 分钟

  • 若出现 PermissionError(1, 'Operation not permitted') ,必须输出两套完整可运行命令(含 LLM 与不含 LLM),供用户本地直接运行

  • 整理结构内容:从 document.md / equations.tex / references.bib 提取并改写

  • 用 latex-server 写入模板 .tex (仅改内容)

  • 运行 compile.py 编译 PDF

公式处理策略(更新规则)

允许 尽可能插入 equations.tex 中的全部公式,并与 document.md 叙述对应,要求:

  • 可整段插入 equations.tex (或分段插入到对应章节)

  • 公式需与对应段落/章节一致(必要时加过渡说明)

  • 写入后需人工快速检查(符号与上下文一致)

单点功能(可独立使用)

A) 只做 PDF 抽取(marker_extract.py)

  • 脚本:/Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py

  • 说明:/Users/lingguiwang/.codex/skills/latex/references/marker_extract.md

重要说明:仅支持单个 PDF 文件输入,不支持目录批量。

本地深度学习管线(不加 --use_llm ):

python /Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py
"/abs/path/to/your.pdf"
-o "/abs/path/to/marker_out"

LLM 管线(优先使用 chatanywhere):

python /Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py
"/abs/path/to/your.pdf"
-o "/abs/path/to/marker_out"
--use_llm --provider chatanywhere

权限错误兜底(新增规则)

当遇到 PermissionError(1, 'Operation not permitted') 且无法通过常规权限设置解决时,必须输出 两套完整可运行命令(一套启用 LLM,一套不启用 LLM),示例:

不使用 LLM:

python /Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py
"/abs/path/to/your.pdf"
-o "/abs/path/to/marker_out"
--torch_device mps

使用 LLM:

python /Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py
"/abs/path/to/your.pdf"
-o "/abs/path/to/marker_out"
--use_llm --provider chatanywhere

LLM provider 支持:openai / deepseek / chatanywhere / ollama / openrouter

输出结构(每个 PDF 一个子目录):

  • document.md (正文)

  • equations.tex (公式)

  • images/ (图片)

  • references.txt / references.bib

  • manifest.json

完整参数、模型选择与 API Key 说明见 marker_extract.md 。

B) 只复制模板

cp -R /Users/lingguiwang/.codex/skills/latex/assets/AEA /abs/path/AEA cp -R /Users/lingguiwang/.codex/skills/latex/assets/经济研究 /abs/path/erj cp -R /Users/lingguiwang/.codex/skills/latex/assets/NAU /abs/path/NAU cp -R /Users/lingguiwang/.codex/skills/latex/assets/SCU /abs/path/SCU

C) 只用 latex-server 写入模板

  • list_latex_files :列出入口 .tex

  • read_latex_file :读取全文定位

  • get_latex_structure :查看章节结构

  • edit_latex_file :精准插入/替换(仅改内容)

  • validate_latex :基础语法校验

替换摘要(示例):

{ "file_path": "/abs/path/to/main.tex", "operation": "replace", "search_text": "\begin{abstract}", "new_text": "\begin{abstract}\n这里替换为你的摘要内容。\n\end{abstract}" }

在某章节后插入“实证结果”小节(示例):

{ "file_path": "/abs/path/to/main.tex", "operation": "insert_after", "search_text": "\section{数据与方法}", "new_text": "\section{实证结果}\n这里写实证结果正文。\n" }

D) 只编译(compile.py)

  • 脚本:/Users/lingguiwang/.codex/skills/latex/scripts/compile.py

  • 说明:/Users/lingguiwang/.codex/skills/latex/references/compile.md

最稳妥方式:

python /Users/lingguiwang/.codex/skills/latex/scripts/compile.py
--path "/abs/path/to/main.tex"
--output "/abs/path/to/project"

macOS 常见:指定可写 tmpdir(避免 Ghostscript 写系统临时目录失败):

python /Users/lingguiwang/.codex/skills/latex/scripts/compile.py
--path "/abs/path/to/main.tex"
--output "/abs/path/to/project"
--tmpdir "/abs/path/to/project/.tmp"

编译输出:

  • PDF:<output>/build_pdf/

  • 日志:<output>/build_logs/

最小可运行示例工程(NAU Beamer + marker_extract 输出)

目标:在 NAU 模板目录内完成“抽取→写入→编译”。

  • 复制 NAU 模板

cp -R /Users/lingguiwang/.codex/skills/latex/assets/NAU /abs/path/to/NAU

  • 运行 marker_extract.py 生成中间产物(优先 LLM+chatanywhere)

python /Users/lingguiwang/.codex/skills/latex/scripts/marker_extract.py
"/abs/path/to/your.pdf"
-o "/abs/path/to/marker_out"
--use_llm --provider chatanywhere

  • 在 /abs/path/to/NAU/slide.tex 中写入内容

  • 正文来自:/abs/path/to/marker_out/<pdf_stem>/document.md

  • 公式来源:结合 document.md 的上下文,尽可能插入 equations.tex 中的全部公式,可整段或分段写入

  • 参考文献来自:/abs/path/to/marker_out/<pdf_stem>/references.bib

公式写入示例(从 equations.tex 选取后粘贴):

\begin{equation} Y_{it} = \alpha + \beta X_{it} + \gamma Z_{it} + \varepsilon_{it} \end{equation}

图片插入(示例):

% 直接插图 \includegraphics[width=0.8\textwidth]{/abs/path/to/marker_out/<pdf_stem>/images/fig1.png}

% figure 环境 \begin{figure}[htbp] \centering \includegraphics[width=0.7\textwidth]{/abs/path/to/marker_out/<pdf_stem>/images/fig1.png} \caption{样本文字或图注} \label{fig:sample} \end{figure}

参考文献最小引用示例:

文献回顾见 \cite{smith2020example}。

% 末尾 \bibliography{/abs/path/to/marker_out/<pdf_stem>/references.bib}

NAU 封面字段示例(中文):

\title{研究标题:产业组织理论应用} \author{凌贵旺} \institute{南京农业大学经济管理学院} \date{2025-12-31}

NAU 封面字段示例(英文):

\title{Industrial Organization: An Application} \author{Guiwang Ling} \institute{College of Economics and Management, Nanjing Agricultural University} \date{2025-12-31}

从 document.md 拆分为章节(模板片段):

\section{引言} % 从 document.md 抽取引言段落,整理为连贯文字

\section{文献综述} % 从 document.md 抽取相关段落,去除重复与噪声

\section{数据与方法} % 抽取数据来源、变量定义与识别策略

\section{实证结果} % 结合图表与回归结果,给出结构化叙述

\section{结论与启示} % 总结主要发现与政策含义

  • 编译

python /Users/lingguiwang/.codex/skills/latex/scripts/compile.py
--path "/abs/path/to/NAU/slide.tex"
--output "/abs/path/to/NAU"

FAQ 入口

  • 抽取与 LLM 相关问题:/Users/lingguiwang/.codex/skills/latex/references/marker_extract.md

  • 编译与日志排错:/Users/lingguiwang/.codex/skills/latex/references/compile.md

常见问题(快速定位)

  • 参考文献不出:确认 .bib 路径 + biber/bibtex 可用(见 compile.md )

  • 中文字体告警:优先 xelatex/lualatex ,检查字体

  • 图片/表格找不到:检查 \includegraphics{} 路径,isolated 模式注意 ../ 依赖

  • Ollama 502/超时:确保 NO_PROXY 包含 localhost,127.0.0.1 (见 marker_extract.md )

检查清单(交付前)

  • 已用 marker_extract.py 生成 document.md/equations.tex/references.bib

  • 仅修改 .tex 内容区,未改 .cls/.sty/.bst

  • 所有路径为绝对路径

  • compile.py 指定 --output ,必要时指定 --tmpdir

  • 查看 build_logs ,确认无致命错误

  • 若使用 LLM 自动写入公式,已人工核对符号与上下文一致

交付模板(YAML 附录)

project_root: /abs/path/to/project template: NAU pdf_input: /abs/path/to/your.pdf marker_out: /abs/path/to/marker_out/<pdf_stem> main_tex: /abs/path/to/main.tex compile_output: /abs/path/to/project compile_logs: /abs/path/to/project/build_logs notes: ""

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

abs-journal

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

stata-sep

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

script2animation

No summary provided by upstream source.

Repository SourceNeeds Review
Research

academic-translate

No summary provided by upstream source.

Repository SourceNeeds Review