Re: Definizione di path per il comando include

#18745
Up
0
Down
::

È possibile definire dei “path” per l’inserimento di file tramite il comando include, analogamente a quanto si può fare con le immagini e:
`\graphicspath{{./Figures/},{./}}`

Premesso che per fare questo è più conveniente modificare la variabile ambientale TEXINPUTS; con una shell bash si chiama latex con
`$ TEXINPUTS=./foo//:./bar//: latex`
Ma si può ottenere ciò che desideri con un codice del tipo
`\makeatletter
\def\includepath#1{\def\ip@includepath{#1}}
\let\ip@include\include
\def\include#1{%
\@for\ip@temp:=\ip@includepath\do{%
\IfFileExists{\ip@temp/#1}{\ip@include{\ip@temp/#1}}{}}}
\makeatother

\includepath{{./foo},{./bar}}`
Spiegazione: definisco \includepath che memorizza il suo argomento in una macro; poi salvo una copia di \include e lo ridefinisco; il nuovo \include guarda, per ogni nome di directory data nell’argomento a \includepath, l’esistenza del file richiesto; se c’è lo include. Attenzione: se ce ne sono con lo stesso nome nelle varie directory, li includerà tutti.

Comunque mi sembra che non sia affatto utile. Meglio usare \input dando anche la directory esplicitamente. Ed è meglio non usare nomi con spazi.

Ciao
Enrico

Go to top