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édentesRévision précédente
Prochaine révision
Révision précédente
composition:texte:document:inclusion_depuis_un_autre_repertoire [2018/06/02 14:45] d.p.carlisle2_composition:texte:document:inclusion_depuis_un_autre_repertoire [2021/02/23 13:06] (Version actuelle) – Correction de coquilles et ajout d'un lien. yannick.tanguy
Ligne 1: Ligne 1:
---- +====== Pourquoi LaTeX ne veut pas inclure mon fichier? ======
-title: LaTeX won't include from other directories +
-category: errors +
-permalink: /FAQ-includeother +
-date: 2014-06-10 +
----+
  
-# LaTeX won'include from other directories+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>
-```latex+
 latex: Not writing to ../bar/xyz.aux (openout_any = p). latex: Not writing to ../bar/xyz.aux (openout_any = p).
-! I can't write on file `../bar/xyz.aux''. +! I can't write on file `../bar/xyz.aux'
-``` +</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`+ 
-```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>
-... +
-``` +
-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?&nbsp;&mdash;  +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.
-''[what's going in in my `\include`](FAQ-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:document:que_fait_vraiment_include|Que fait la commande \include ?]] » en donne la raison.  
 + 
 +Les solutions au problème tendent à être drastiques.  
 + 
 +===== 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: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 ».   
 +
 +-----
  
-1.  Restructure the directories that hold your document so that the +//Source:// [[faquk>FAQ-includeother|LaTeX won'include from other directories]]
-    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`?&nbsp;&mdash; if not, you can +
-    replace `\include` by `\input` throughout.  (This only works +
-    if you don'need `\includeonly`.) +
-3.  You _could_ patch your system's `texmf.cnf`&nbsp;&mdash; 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.+
  
 +{{htmlmetatags>metatag-keywords=(LaTeX,errors)
 +metatag-og:title=(Pourquoi LaTeX ne veut pas inclure mon fichier)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
3_composition/document/inclusion_depuis_un_autre_repertoire.1527950740.txt.gz · Dernière modification : 2018/06/02 14:45 de d.p.carlisle
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0