Build et compilation

Aperçu du système de build

TeX64 utilise le moteur latexmk pour compiler vos documents LaTeX. latexmk gère automatiquement les passes intermédiaires nécessaires pour construire des documents complexes avec bibliographies, index et références croisées.

Tous les builds s'exécutent localement sur votre machine — aucune connexion Internet requise. TeX64 fonctionne entièrement hors ligne, protégeant votre sécurité et votre vie privée. Le processus de compilation est rapide et transparent.

Note sur les plateformes : TeX64 est actuellement distribué pour macOS (Apple Silicon et Intel), et la gestion de la distribution TeX s'y effectue. Les versions Windows et Linux sont prévues mais pas encore disponibles. Les raccourcis et étapes de configuration macOS ci-dessous constituent la voie prise en charge aujourd'hui ; les éventuels équivalents Windows/Linux s'appliqueront dès la sortie de ces versions.

Comment compiler

Démarrer un build est simple. Vous avez plusieurs options :

  • Bouton de la barre d'outilsCliquez sur le bouton de build (icône lecture) dans la barre d'outils. Cmd+B est réservé à l'insertion de \textbf{} dans l'éditeur.
  • Build propreOuvrez Settings > Build Profile puis cliquez sur Clean. Utilisez Clean -C si vous voulez aussi supprimer les fichiers de sortie générés.

Une fois le build terminé avec succès, l'aperçu PDF se met à jour automatiquement.

Processus de build

Pendant un build, latexmk gère automatiquement :

  • Plusieurs passes de compilationLaTeX s'exécute généralement 2 à 3 fois pour résoudre les références croisées
  • BibTeX/BiberTraite automatiquement les entrées bibliographiques
  • Génération d'indexExécute makeindex ou xindy pour les entrées d'index
  • Références croiséesGarantit que \ref, \cite, \pageref et commandes similaires s'évaluent correctement
  • Détection des changementsÉvite de recompiler si les fichiers n'ont pas changé, ce qui fait gagner du temps

La sortie du build apparaît dans le panneau de logs pendant la compilation. Vous pouvez voir la progression en temps réel et savoir exactement ce que fait latexmk.

Sélection du fichier racine

Pour les projets comportant plusieurs fichiers .tex, TeX64 identifie quel fichier est votre document racine (principal). Il le fait en cherchant la commande \documentclass, qui n'apparaît que dans le fichier racine.

Dans la plupart des cas, la détection automatique fonctionne parfaitement. Toutefois, si vous avez une structure de projet complexe avec plusieurs déclarations \documentclass, vous pouvez forcer manuellement le fichier racine dans les paramètres du projet.

TeX64 compile toujours à partir du fichier racine. Tous les autres fichiers doivent être inclus via les commandes \input ou \include dans le fichier racine.

Astuce : En cas d'erreurs « file not found », vérifiez que le bon fichier racine est sélectionné. TeX64 affiche le fichier racine actuel dans la barre d'état en bas.

Profils de build

TeX64 vous permet de configurer plusieurs profils de build, chacun avec son propre moteur LaTeX et ses paramètres personnalisés. Utile lorsque vous devez tester votre document avec différents moteurs.

Les profils sont créés et gérés dans les paramètres de votre projet. Chaque profil a un nom, une sélection de moteur et des options personnalisées facultatives.

Les profils sont utiles dans des cas comme :

  • Tester un document avec différents moteurs (par ex. pdflatex vs xelatex)
  • Maintenir des configurations de build distinctes pour les modes production et brouillon
  • Utiliser des options de moteur personnalisées pour des présentations ou formats spéciaux

Moteurs pris en charge

TeX64 prend en charge ces principaux moteurs LaTeX :

pdflatex

pdflatex est le moteur le plus établi et le plus largement utilisé. Il est compatible avec presque tous les paquets et modèles LaTeX, ce qui le rend idéal pour les documents standards. Il génère directement une sortie PDF et est rapide.

Idéal pour : articles académiques, rapports techniques, livres et la plupart des documents standards. Si vous ne savez pas quel moteur utiliser, pdflatex est le choix sûr.

xelatex

xelatex offre une prise en charge native d'Unicode et des polices système, ce qui en fait un choix idéal pour les écritures non latines comme le chinois, le japonais, l'arabe et autres. Vous pouvez utiliser n'importe quelle police système installée sur votre machine.

Idéal pour : documents multilingues, écritures non latines et tout projet nécessitant des polices système. Si vous travaillez avec le japonais, le chinois ou d'autres systèmes d'écriture complexes, xelatex est le bon choix.

lualatex

lualatex est un moteur moderne qui intègre des capacités de script Lua et un traitement avancé des polices. Il prend en charge nativement les polices OpenType et permet un contrôle typographique sophistiqué.

Idéal pour : projets nécessitant un script avancé, une typographie complexe ou des technologies de polices modernes. Il combine les avantages de xelatex avec l'extensibilité de Lua.

Options latexmk personnalisées

Les utilisateurs avancés peuvent ajouter des options latexmk personnalisées pour affiner le comportement du build. Ces options sont configurées dans les paramètres de votre projet.

Options courantes :

  • -shell-escapeActive \write18 pour exécuter des programmes externes depuis LaTeX (requis pour des paquets comme Minted)
  • -interaction=nonstopmodePoursuit la compilation même en cas d'erreurs (utile pour vérifier plusieurs problèmes à la fois)
  • -output-directory=Spécifie un répertoire de sortie personnalisé pour le PDF et les fichiers intermédiaires
  • -pdfForce le mode de sortie PDF
Avertissement : Les options personnalisées sont une fonctionnalité avancée. Consultez toujours le manuel de latexmk ou la documentation TeX avant de les utiliser, car des réglages incorrects peuvent provoquer des échecs de build.

Journal de compilation

Le journal de compilation affiche la sortie complète du compilateur LaTeX et de latexmk. TeX64 analyse cette sortie et met en évidence les erreurs et avertissements avec un codage couleur.

  • ErreursSurlignées en rouge. Elles empêchent une compilation réussie.
  • AvertissementsSurlignés en jaune ou orange. Ils n'empêchent pas la compilation mais peuvent affecter la qualité de sortie.
  • MessagesAffichés en gris. Ce sont des informations sur le processus de build.

Cliquez sur une erreur ou un avertissement dans le journal pour passer directement à la ligne problématique dans votre code source. Le fichier et le numéro de ligne sont mis en évidence, ce qui rend le débogage rapide.

Analyse des erreurs

TeX64 analyse automatiquement les erreurs LaTeX pour identifier le bon fichier et le bon numéro de ligne.

Schémas d'erreur courants :

  • Undefined control sequenceUne commande n'est pas définie ou contient une faute de frappe
  • Missing \endcsname insertedGénéralement causé par des accolades ou parenthèses non appariées
  • File not foundUn fichier référencé via \input ou \include n'existe pas
  • Package not foundUn paquet spécifié avec \usepackage n'est pas installé
  • Runaway argumentGénéralement causé par une accolade non fermée dans un argument de commande

LaTeX produit souvent des erreurs en cascade ; il est donc essentiel de trouver la première erreur. Corriger la première erreur du journal résout souvent de nombreuses erreurs suivantes.

Débogage assisté par l'IA

L'assistant IA de TeX64 peut analyser votre journal de compilation et suggérer des corrections d'erreurs. C'est particulièrement utile pour les messages d'erreur LaTeX cryptiques.

Pour utiliser le débogage IA après un échec de build :

  1. Cliquez sur le bouton « Ask AI » dans le panneau du journal de compilation
  2. TeX64 envoie le contexte d'erreur complet à l'IA
  3. L'IA suggère des causes possibles et des méthodes de correction

Les suggestions de l'IA sont un point de départ utile, même si elles ne sont pas toujours correctes. Elles sont particulièrement utiles si vous n'avez pas d'expertise approfondie en TeX.

Diagnostics de l'environnement

Au démarrage, TeX64 vérifie que tous les outils requis sont disponibles sur votre système. Il vérifie :

  • latexmkLe moteur d'automatisation des builds LaTeX (requis)
  • TeX distributionTeX Live, MacTeX, MiKTeX ou une autre distribution TeX (requise)
  • latexindentOutil de formatage de code (optionnel mais recommandé)
  • synctexSynchronisation source-vers-PDF (optionnel mais recommandé)

Si un outil requis est manquant, TeX64 vous avertit et fournit des conseils sur la façon de l'installer.

Conseil de configuration : TeX64 fonctionne actuellement sur macOS, où il gère votre distribution TeX. Installez MacTeX avec Homebrew : brew install mactex, puis redémarrez TeX64 pour détecter tous les outils. L'installation complète prend quelques minutes. Les versions Windows et Linux sont prévues ; dès leur sortie, vous installerez TeX Live via le gestionnaire de paquets de votre système.

Build propre

Un build propre supprime tous les fichiers intermédiaires puis reconstruit le document entier depuis le début.

Un build propre supprime :

  • .auxFichiers auxiliaires (références croisées, etc.)
  • .logJournaux de build
  • .tocFichiers de table des matières
  • .lof, .lotListes des figures/tableaux
  • .bbl, .blgFichiers de bibliographie
  • .fdb_latexmkBase de données de dépendances de fichiers de latexmk

Utilisez un build propre quand :

  • Le build semble bloqué dans un état étrange et les builds normaux ne le corrigent pas
  • Après des changements structurels majeurs (par ex. ajout ou suppression de chapitres)
  • Quand vous suspectez des problèmes de cache avec les références croisées ou la numérotation
  • Après avoir modifié les paramètres du projet ou les options du moteur

Compilation incrémentale

Par défaut, TeX64 utilise la compilation incrémentale. latexmk suit quels fichiers ont changé et n'exécute que les passes de compilation nécessaires.

Cela accélère considérablement les builds après de petits changements. latexmk suit les dépendances en interne et n'effectue une reconstruction complète que lorsque c'est réellement nécessaire.

Si la compilation incrémentale semble manquer des modifications, utilisez un build propre pour forcer une reconstruction complète.

Dépannage du build

Si votre build échoue, vérifiez ces problèmes courants :

« Root File Not Found »

  • Vérifiez que le fichier racine est correct. Les projets multi-fichiers doivent être compilés à partir du fichier contenant \documentclass.
  • Assurez-vous que le fichier racine existe toujours et n'a pas été supprimé ou déplacé.

Messages d'erreur cryptiques

  • Consultez le journal de compilation pour voir les véritables messages d'erreur. Faites défiler jusqu'à la première erreur, pas la dernière : corriger le premier problème résout souvent les erreurs en cascade.
  • Utilisez le débogage IA de TeX64 pour analyser les messages d'erreur complexes.

Erreurs de paquets manquants

  • Vérifiez que tous les paquets requis sont chargés avec \usepackage.
  • TeX64 vous indiquera quel paquet est manquant. Suivez les instructions du message d'erreur pour l'installer.
  • Sur macOS avec MacTeX installé, la plupart des paquets sont disponibles automatiquement.

Problèmes de mémoire ou de ressources

  • Les documents contenant beaucoup de grandes images ou des graphiques complexes peuvent manquer de mémoire.
  • Essayez de compresser les images ou de réduire leur taille pour diminuer l'utilisation des ressources.
  • Alternativement, scindez les grands documents en parties plus petites et compilez-les séparément.

Builds lents

  • Vérifiez que la compilation incrémentale fonctionne. Après de grands changements, un build propre peut être nécessaire.
  • Les graphiques complexes et les mises en page avancées peuvent considérablement augmenter le temps de build.
Astuce : Si le problème persiste, copiez le journal de compilation et recherchez l'erreur sur TeX StackExchange ou dans les communautés LaTeX. Ces communautés sont très actives et peuvent généralement aider rapidement.

Conseils de performance

Voici des stratégies pour réduire le temps de build :

  • Mode brouillonAjoutez l'option draft à \documentclass pour ignorer le traitement des images et compiler uniquement la mise en page
  • Compilation sélectiveUtilisez \includeonly pour ne compiler que certains chapitres
  • Optimisation d'imagesConvertissez les grandes images bitmap en PDF ou réduisez leur taille
  • Choix des policesLes polices Computer Modern (par défaut) se compilent plus rapidement que les polices système complexes
  • Optimisation TikZ/PGFPlotsPrécompilez les schémas complexes en PDF et incluez-les comme images

La combinaison de ces techniques peut réduire considérablement le temps de build pour les grands projets.