Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
3_composition:texte:document:inclusion_depuis_un_autre_repertoire [2018/12/04 00:39]
jejust
3_composition:texte:document:inclusion_depuis_un_autre_repertoire [2021/02/23 14:06] (Version actuelle)
yannick.tanguy Correction de coquilles et ajout d'un lien.
Ligne 1: Ligne 1:
-====== LaTeX won't include from other directories ​======+====== ​Pourquoi ​LaTeX ne veut pas inclure mon fichier? ​======
  
- +Vous voulez inclure un fichier avec la commande ​''​\include{../​dossier/​xyz.tex}'' ​mais <​latex>​\LaTeX</​latex>​ indique ​:
-You wanted to ''​\include{../​bar/​xyz.tex}''​, but LaTeX says:+
  
 <code latex> <code latex>
Ligne 8: Ligne 7:
 ! I can't write on file `../​bar/​xyz.aux'​. ! I can't write on file `../​bar/​xyz.aux'​.
 </​code>​ </​code>​
-The error comes from TeX's protection against writing to 
-directories that aren't descendents of the one where your document 
-resides. ​ (The restriction protects against problems arising from 
-LaTeXing someone else's malicious, or merely broken, document. ​ If 
-such a document overwrites something you wanted kept, there is obvious 
-potential for havoc.) 
  
-Document directory structures that can lead to this problem will look +Autrement dit, il ne peut pas écrire dans le dossier que vous avez ciblé. L'erreur vient de la protection de <​latex>​\TeX</​latex>​ contre l'écriture dans un dossier qui n'est pas inclus dans le dossier (ou un de ses sous-dossiers associés) de votre document. Cette restriction vous protège contre les problèmes résultant de la compilation d'un document malveillant ou incorrect et donc le risque d'​écrasement de données que vous souhaiteriez conserver. ​
-like the fictional ​''​mybook''​:+
  
-<​code ​latex+Les structures de dossiers qui peuvent conduire à ce problème ressembleront à ceci :  
-./base/mybook.tex+ 
 +<​code ​bash
 +./base/monlivre.tex
 ./​preface/​Preface.tex ./​preface/​Preface.tex
-./preface/​*** +./chapitre1/Intro.tex
-./chapter1/Intro.tex +
-...+
 </​code>​ </​code>​
-With such a structure, any document directory (other than the one 
-where ''​mybook.tex''​ lives), seems "​up"​ the tree from the 
-base directory. ​ (References to such files will look like 
-''​\include{../​preface/​Preface}'':​ the ''​..''​ is the 
-hint.) 
  
-But why did it want to write at all? ---  +Ici, le dossier ​''​preface'' ​n'est pas inclus dans le dossier ​''​base''​. Pour aller chercher ce dossiervous devez remonter dans le dossier père du dossier ​''​base''​. Dès lors, l'erreur va se produire.
-"​[[FAQ-include|what's going in in my ''​\include''​]]" explains +
-how ''​\include'' ​worksamong other things by writing an +
-''​aux'' ​file for every ''​\includ'​'ed file.+
  
-Solutions to the problem tend to be drastic: +Mais, au fait, pourquoi veut-il y écrire ? La question « [[3_composition:texte:​document:​que_fait_vraiment_include|Que fait la commande \include ?]] » en donne la raison. ​
-  ​+
  
-1.  Restructure the directories that hold your document so that the +Les solutions au problème tendent à être drastiques
-    master file is at the root of the tree: +
-    ```latex +
-    ./​mybook.tex +
-    ./​mybook/​preface/​Preface.tex +
-    ./​mybook/​preface/​*** +
-    ./​mybook/​chapter1/​Intro.tex +
-    ... +
-    ``` +
-    and so on. +
-2.  Did you actually //need// ''​\include''?​ --- if not, you can +
-    replace ''​\include''​ by ''​\input''​ throughout. ​ (This only works +
-    if you don't need ''​\includeonly''​.) +
-3.  You //could// patch your system'​s ''​texmf.cnf''​ --- if you +
-    know what you're doing, the error message should be enough of a +
-    hint; this action is definitely not recommended,​ and is left to +
-    those who can "help themselves"​ in this respect.+
  
 +===== En restructurant vos dossiers =====
 +
 +La réorganisation des dossiers doit amener votre document à se trouver à la racine de votre arborescence de dossier contenant tous les éléments qui vous sont utiles : 
 +
 +<code bash>
 +./​monlivre.tex
 +./​monlivre/​preface/​Preface.tex
 +./​monlivre/​chapitre1/​Intro.tex
 +</​code>​
 +
 +===== En remplaçant les commandes \include =====
 +
 +Si vous n'avez pas particulièrement besoin des commandes ''​\include''​ et ''​\includeonly'',​ préfèrez-leur les commandes ''​\input''​. Vous pouvez aussi utiliser l'​extension [[ctanpkg>​import]] détaillée dans la question « [[3_composition:​texte:​document:​utiliser_des_fichiers_dans_differents_repertoires|Comment inclure des fichiers sans modifier leurs liens internes ?]] ».
 +
 +===== En modifiant le fichier texmf.cnf =====
 +  ​
 +Vous //​pourriez//​ éditer le fichier ''​texmf.cnf''​ de votre système. Cette action n'est cependant pas recommandée et est laissée à ceux qui peuvent ici « s'​aider eux-mêmes ».   
  
 ----- -----
Ligne 63: Ligne 47:
  
 {{htmlmetatags>​metatag-keywords=(LaTeX,​errors) {{htmlmetatags>​metatag-keywords=(LaTeX,​errors)
-metatag-og:​title=(LaTeX ​won't include from other directories)+metatag-og:​title=(Pourquoi ​LaTeX ne veut pas inclure mon fichier)
 metatag-og:​site_name=(FAQ LaTeX francophone) metatag-og:​site_name=(FAQ LaTeX francophone)
 }} }}
  
3_composition/texte/document/inclusion_depuis_un_autre_repertoire.1543880347.txt.gz · Dernière modification: 2018/12/04 00:39 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0