Ceci est une ancienne révision du document !

LaTeX won't include from other directories

You wanted to \include{../bar/xyz.tex}, but LaTeX says:

latex: Not writing to ../bar/xyz.aux (openout_any = p).
! I can't write on file `../bar/xyz.aux'.

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 like the fictional mybook:


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? — “what's going in in my ''\include''” explains how \include works, among other things by writing an aux file for every \included file.

Solutions to the problem tend to be drastic:

1. Restructure the directories that hold your document so that the

  master file is at the root of the tree:
  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.

Source: LaTeX won't include from other directories

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