At the moment I have some modified and some of my own packages placed in the same folder as my tex file. I would like to move all of them in a subfolder called packages so that I have a better overview over my files. Is there any way to achieve this?
3 Answers
befor you run pdflatex do a export TEXMFHOME=packages/
For all my larger LaTeX projects, I maintain a project-local texmf subfolder for exactly this purpose: own and modified packages, new versions of packages that are not yet part of major TeX distributions, and so on. I include this folder by setting TEXINPUTS in the project's Makefile or manually in bash: export TEXINPUTS=./texmf//:${TEXINPUTS}.
(Note: The double slash // makes LaTeX to search subfolders as well. If the project-local texmf folder contains also bibliography-related packages, such as a new version of biblatex, one also has to set BSTINPUTS accordingly.)
One often hears that additional/own packages or updates to existing packages better go into the machine-wide or user-wide texmf tree. This might work well if you work alone on a project on a single machine only, but it certainly does not work so well in a collaborative setting.
By maintaining all "non-standard" packages in a project-related texmf subfolder, I can put everything together into a version control system (such as git or subversion). Collaborating colleagues (even those that are still stuck to TexLive 2010) can check-out and built the project without having to manually install or update a dozen of LaTeX packages.
- 37,517
-
that was pretty much idea too, since I am already using subversion in a collaborative setting. But I am using windows and miktex-portable, so I have to adapt your solution. I tried to do
set UserRoots=\packagesandset texmf=\packagesbut had not success with that. – maetra Oct 19 '11 at 08:23 -
1
-
3@einpoklum: That seems like overkill, really. – yes, it does. Until the day you have to rework a ten years old project, work on the same project on three or more different computers using different environments, work with 10+ people on the same project, or just have to pass the thing in a "way that works" to your colleague or boss. – Daniel Jan 16 '16 at 18:23
-
For MikTeX-Portable there doesn't exist such a simple solution as described by Daniel and Herbert, but adding the packages' path via MikTEX->Options->Add Root seems okay. One just has to take care to remove the additional path before compiling other projects that don't use the the modified but the original packages.
- 4,540
\usepackage{/path/to/package/x.sty}. Alternatively you can add them to your local texmf tree and use them that way. – Roelof Spijker Oct 18 '11 at 14:00You have requested package 'package/name' but the package provides 'name'– maetra Oct 18 '11 at 14:35