# [texworks] Project Management type stuff

Stefan Löffler st.loeffler at gmail.com
Thu Oct 14 16:31:14 CEST 2010

 Hi,

Am 2010-10-14 15:51, schrieb Bruno Voisin:
> Le 14 oct. 2010 à 13:58, Paul A Norman a écrit :
>
>> Have you a reference for that please, I want to check if there are any
>> issues on how the path is named whether its OS dependant or what ever,
>> does Windows require {{}} type stuff or simillar.
>>
>> On 15 October 2010 00:31, Alain Schremmer <schremmer.alain at gmail.com> wrote:
>>> \documentclass[11pt]{book}
>>>        \usepackage{../StyleSheets/Preamble}
>>>        \usepackage{../StyleSheets/AssessmentDocumentConstruction}
>>>        \usepackage{../StyleSheets/QuizConstructionParameters}
>>>        \usepackage{../StyleSheets/GraphicsPaths}
>>> \begin{document}
> That's likely distribution-specific and also platform-specific.
>
> Namely, the definition of \usepackage (in latex.ltx) is highly convoluted, it goes through a sequence of cascading definitions involving \RequirePackage and \InputIfFileExists, and in between more obscure stuff like \@onefilewithoptions, \@@input and the like.
>
> But it all seems in the end to go down to the \input TeX primitive, which is implemented at the time TeX is built.

Maybe the following environment variable is helpful in this context
(taken from the tex manpage of TL on Linux):
TEXINPUTS
Search path for \input and \openin files.  This  probably
start
with  .'',  so  that user files are found before system
files.
An empty path component will be replaced with the paths
defined
in   the   texmf.cnf   file.   For  example,  set
TEXINPUTS  to
".:/home/user/tex:"  to  prepend  the  current
directory   and
/home/user/tex'' to the standard search path.

I'm not sure if the same thing is supported in, e.g., MiKTeX, but if it
is, you could define a custom tool that sets TEXINPUTS to contain the
directory of your styles, classes, etc.

HTH
Stefan

PS: Originally, with "project support" I meant the support of a
multi-file document, possibly with figures, etc. I did not originally
target multi-user, multi-platform cooperation (similar to what version
control is often used for in programming). But of course there's no
reason not to think in that direction, too :).