\usepackage{claude}
Combinez le SDK Python d'Anthropic avec FormaTeX pour générer des PDF professionnels entièrement grâce à l'IA. Claude écrit le LaTeX ; FormaTeX le compile : deux appels API, un PDF.
\section{Pourquoi Claude}
Claude écrit du LaTeX valide
Claude excelle à produire du LaTeX syntaxiquement correct, avec les bonnes classes de document, les bons paquets et la bonne notation mathématique.
FormaTeX compile de façon fiable
FormaTeX exécute une distribution TeX Live complète côté serveur. pdflatex et xelatex sont disponibles sur toutes les offres, lualatex et latexmk à partir de Pro, le tout via un seul appel REST.
Aucune installation TeX locale
Aucune installation de TeX Live sur votre machine ou votre serveur. La compilation est entièrement gérée, dans des environnements isolés et éphémères pour chaque requête.
Résultat de qualité production
Obtenez des PDF au pixel près, avec une césure, un crénage et un rendu des polices corrects, avec la même qualité qu'une installation LaTeX locale.
\section{Étape 1}
Donnez à Claude un message système lui demandant de répondre uniquement avec du code source LaTeX brut. Le prompt system est essentiel : sans lui, Claude peut entourer la sortie de blocs markdown ou ajouter du texte explicatif.
import anthropic
client = anthropic.Anthropic(api_key="your-anthropic-key")
SYSTEM_PROMPT = """You are a LaTeX expert. When asked to create a document,
respond ONLY with valid LaTeX source code — no markdown fences, no explanation.
Always include \\documentclass, preamble, and \\begin{document}...\\end{document}."""
def generate_latex(prompt: str) -> str:
"""Ask Claude to write a complete LaTeX document."""
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
system=SYSTEM_PROMPT,
messages=[{"role": "user", "content": prompt}],
)
return message.content[0].text\section{Étape 2}
Transmettez directement la chaîne LaTeX renvoyée par Claude au point de terminaison de compilation de FormaTeX. La réponse contient les octets bruts du PDF : enregistrez-les sur disque ou diffusez-les au client.
import requests
FORMATEX_API_KEY = "your-formatex-key"
FORMATEX_URL = "https://api.formatex.io/api/v1/compile"
def compile_to_pdf(latex_source: str, engine: str = "pdflatex") -> bytes:
"""Send LaTeX source to FormaTeX and return PDF bytes."""
response = requests.post(
FORMATEX_URL,
headers={
"X-API-Key": FORMATEX_API_KEY,
"Content-Type": "application/json",
},
json={"latex": latex_source, "engine": engine},
timeout=30,
)
response.raise_for_status()
return response.content\section{Exemple complet}
Le script complet de bout en bout combine les deux étapes. Appelez generate_and_compile avec n'importe quel prompt en langage naturel et obtenez un fichier PDF sur disque.
import anthropic
import requests
anthropic_client = anthropic.Anthropic(api_key="your-anthropic-key")
FORMATEX_URL = "https://api.formatex.io/api/v1/compile"
FORMATEX_API_KEY = "your-formatex-key"
SYSTEM_PROMPT = """You are a LaTeX expert. Respond ONLY with valid LaTeX source.
Always include \\documentclass, full preamble, and \\begin{document}...\\end{document}."""
def generate_and_compile(prompt: str, engine: str = "pdflatex") -> bytes:
# Step 1: Claude writes the LaTeX
message = anthropic_client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
system=SYSTEM_PROMPT,
messages=[{"role": "user", "content": prompt}],
)
latex_source = message.content[0].text
# Step 2: FormaTeX compiles to PDF
response = requests.post(
FORMATEX_URL,
headers={
"X-API-Key": FORMATEX_API_KEY,
"Content-Type": "application/json",
},
json={"latex": latex_source, "engine": engine},
timeout=30,
)
response.raise_for_status()
return response.content
# Generate a research summary PDF
pdf_bytes = generate_and_compile(
"Write a 2-page LaTeX article summarising transformer architecture, "
"including the self-attention equation and a simple diagram using TikZ."
)
with open("transformer_summary.pdf", "wb") as f:
f.write(pdf_bytes)
print("PDF saved to transformer_summary.pdf")\section{Related}
\end{claude}
Obtenez une clé API FormaTeX, copiez l'exemple complet ci-dessus et livrez des PDF générés par IA en quelques minutes.