Re: \include…\input…\includeonly! Appassionatamente

#25645
mlgdominici
Amministratore del forum
    Up
    0
    Down
    ::

    `
    ! I can't write on file `/Users/Lorenzo/Desktop/Due.aux'.
    \@include …\immediate \openout \@partaux #1.aux
    \immediate \write \@partau…
    l.4 \include{/Users/Lorenzo/Desktop/Due}

    Please type another output file name:
    `

    Il problema è dovuto al fatto che le impostazioni di sicurezza di TeX, per default non consentono di scrivere in cartelle che risalgano la struttura, o il cui percorso assoluto sia diverso da $TEXMFOUTPUT (sul mio sistema = /tmp).

    \input scrive tutte le informazioni sul file .aux principale, mentre \include crea un .aux per ogni file incluso, e poi li richiama dal file .aux principale.

    Quindi, \include può trovarsi impossibilitato a scrivere su una cartella proibita e restituisce errore.

    Le impostazioni, contenute nel file texmf.cnf, sono le seguenti:

    `
    % Allow TeX \openin, \openout, or \input on filenames starting with `.'
    % (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
    % a (any) : any file can be opened.
    % r (restricted) : disallow opening “dotfiles”.
    % p (paranoid) : as 'r' and disallow going to parent directories, and
    % restrict absolute paths to be under $TEXMFOUTPUT.
    openout_any = p
    openin_any = a
    `

    Nel mio caso, io ho impostato openout_any = r, e non ho problemi di sorta, né con \include né con \input .

    In genere tutti questi problemi vengono evitati usando una struttura di questo tipo

    `principale.tex
    cap1/cap1.tex
    cap2/cap2.tex

    ecc.`

    Ciao,
    Max.

    Go to top