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?
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:
(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
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.
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.