Un fichier par chapitre
Bonjour,
Je souhaite écrire un document décomposé en chapitres.
J'ai disons quatre fichiers main.tex, chap1.tex, chap2.tex et chap3.tex.
La compilation des fichiers chap1.tex, chap2.tex et chap3.tex donnent respectivement le contenu des chapitres 1, 2 et 3. La compilation du fichier main.tex donne les trois chapitres écrits les uns à la suite des autres.
Il y a une solution assez simple que je connais (avec des \include), mais qui ne permet que de compiler main.tex et pas de compiler les fichiers chap1, chap2 et chap3. Or j'aimerais bien inspecter le contenu de par exemple chap2.tex sans avoir à compiler main.tex.
Auriez-vous une solution ?
Merci d'avance
Je souhaite écrire un document décomposé en chapitres.
J'ai disons quatre fichiers main.tex, chap1.tex, chap2.tex et chap3.tex.
La compilation des fichiers chap1.tex, chap2.tex et chap3.tex donnent respectivement le contenu des chapitres 1, 2 et 3. La compilation du fichier main.tex donne les trois chapitres écrits les uns à la suite des autres.
Il y a une solution assez simple que je connais (avec des \include), mais qui ne permet que de compiler main.tex et pas de compiler les fichiers chap1, chap2 et chap3. Or j'aimerais bien inspecter le contenu de par exemple chap2.tex sans avoir à compiler main.tex.
Auriez-vous une solution ?
Merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu peux mettre \includeonly{chap2} dans le préambule de main.tex et compiler main.tex (voir ici par exemple).
Le compilateur n'aime pas le préambule de chap2, car il y en a déjà un dans main. Pourtant le préambule est indipensable dans chap2 car je veux aussi pouvoir compiler chap2 et voir son rendu sans avoir à compiler main.
Dans main.tex : Dans chap2.tex :
main.tex : chap1.tex : chap2.tex : chap3.tex :
J'avais déjà vu ce package standalone que je n'arrive pas à faire fonctionner. Il semblerait qu'il se dispute avec d'autres packages mais je ne suis pas sûr.
Je préfère de loin la première solution, avec les conditions, pour plusieurs raisons :
1) je préfère avoir recours au moins de packages possible (pour éviter les collisions entre packages notamment)
2) ça me permettra de faire des choses un peu plus précises, par exemple changer le titre selon que chap2 est compilé par chap2.tex ou main.tex.
En revanche, j'ai un souci avec la première solution. Le code suivant ne fonctionne pas :
L'erreur suivante est indiquée :
Il faut donc cacher \ifMachinChapII si on le définit à l'intérieur d'un bloc conditionnel. Le code suivant fonctionne.
main.tex :
chap2.tex :
Merci beaucoup pour le temps consacré à la résolution de mon problème.