Nous sommes le Ven 27 Juin, 2025 14:11
Supprimer les cookies

LaTeX: Modifier la mise en page si le fichier est inclus

Sur le logiciel libre en général ou un logiciel libre en particulier

Ven 13 Nov, 2009 18:14

Bonjour,
Je me suis lancé dans l'apprentissage de LaTeX il y a quelques semaines, et j'ai rencontré un petit problème:
Je voudrais écrire un document composé de plusieurs parties, en mettant chaque partie dans un fichier. Jusque là pas de problème, il me suffit d'écrire séparément chaque document, et de les inclure tous dans un fichier:

Code: Tout sélectionner
\include{header}

\begin{document}

\tableofcontents

\include{partie1}
\include{partie2}
\include{partie3}

\end{document}


Mais j'aimerais également pouvoir compiler chaque partie séparement.
Pour cela, je doit avoir:

Code: Tout sélectionner
\include{header}

\begin{document}

blablabla...
blablabla...
blablabla...

\end{document}


Mais du coup, si j'essaye ensuite de compiler le document principal, j'ai un message d'erreur, puisque j'ai deux environnements "document" imbriqués.

Comment faire pour pouvoir compiler les deux sans devoir modifier le code à chaque fois?

J'ai pensé à utiliser le package ifthen, mais je n'ai pas trouvé comment vérifier l'existence d'un booléen (donc je ne peux pas en déclarer un dans le document principal, et afficher "\begin{document}" et "\end{document}" dans les sous-parties seulement s'il n'a pas été déclaré).

Merci d'avance,
Roromis.
Roromis

Messages : 228
Géo : Nord

Dim 15 Nov, 2009 14:35

Salut !

Tu devrais aller voir du coté de la commande \includeonly{partie que tu veux compiler}.
En gros il faut le mettre avant le \begin{document}

Code: Tout sélectionner
\include{header}

\includeonly{partie1}

\begin{document}

\tableofcontents

\include{partie1}
\include{partie2}
\include{partie3}

\end{document}
stan couix

Dim 15 Nov, 2009 14:58

Je pourrais faire comme ça, mais j'aimerais ne pas utiliser la même mise en page.

Pour le document principal, j'utilise le format book, j'affiche la table des matières, alors que pour les parties, j'utilise le format report et je n'affiche pas la table des matières.
Je modifie également la façon dont sont affichés les titres ("Chapitre 1: Premier chapitre" pour le document principale, "Premier chapitre" pour les parties), les entêtes et pied de pages...

Pour l'instant j'utilise deux fichiers par parties (un qui contient le contenu de la partie et qui sera inclus dans le document principale, un autre qui contient "\documentclass{report}..." dans lequel j'inclus le fichier précédent.). J'aimerais n'en utiliser qu'un.
Roromis

Messages : 228
Géo : Nord

Dim 15 Nov, 2009 15:44

Excuse moi mais, pourquoi utiliser deux format de mise en page différents ????

PS: Pour les parties tu as aussi \part
Invité

Dim 15 Nov, 2009 22:13

Excuse moi mais, pourquoi utiliser deux format de mise en page différents ????

Les parties séparées sont plutôt destinées à être consultées depuis mon ordinateur, alors que le document complet est destiné à être imprimé.
Roromis

Messages : 228
Géo : Nord

Lun 16 Nov, 2009 01:09

Pour moi, le plus simple serait de garder uniquement la partie à l'intérieur du \begin{document}\end{document} dans les fichiers partie1/2/3...

Si tu as besoin d'une partie uniquement en classe report, tu peux simplement créer un autre fichier maître (par exemple partie-report.tex) dans lequel tu mettras juste :

Code: Tout sélectionner
\include{header-report}

\includeonly{partie1}

\begin{document}

\include{partie1}
\include{partie2}
\include{partie3}

\end{document}


Et à côté de ça, un fichier spécial pour la configuration en classe report (header-report.tex).
Veni, Vidi, Libri - Diffuseurs de Licences Libres
http://venividilibri.org
Maps

Avatar de l’utilisateur
Messages : 1691
Géo : Québec

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit