I've been working through the detailed answer to this question: Design a custom Beamer theme from scratch and have a question regarding paths.
I'm building a theme to be used in multiple presentations. I have a directory structure (git repo) as follows:
|- Presentations (top-dir) | |\_.git (and subfolders) | |\_Presentation1 | |-presentation1.tex | \-presentation1.{aux,pdf} etc | |\_Presentation2 | |-presentation2.tex | \-presentation2.{aux,pdf} etc | \_Theme |-beamerthememytheme.sty |-beamerinnerthememytheme.sty |-beamerouterthememytheme.sty \-beamercolorthememytheme.sty I seem to have a few options to use this theme:
Symbolically link all 4 files into each presentation. Adds to setup cost, can complicate handling with git, but works nicely and doesn't require peculiar handling in the theme files
Abandon
\usetheme{mytheme}and use\usepackage{../Theme/beamerthememytheme}in thepresentationN.texfile. This also works for the main .tex file, but seems to require that my theme file now reads\usepackage{../Theme/beamerinnerthememytheme}instead of the simpler\useinnertheme{mytheme}Remove extra files. Use only
beamerthememytheme.styand copy the contents of {inner,outer,color} themes into that file. I can also rename to make this simpler by removing the leadingbeamerthemelabel, since I have to use\usepackageanyway. This seems undesirable for readability/maintainability, but I suppose is a tradeoff if the alternatives are complicated.
Is there any way to specify from a .sty file the part that it is included with? In my case, I would imagine I could then go ahead and include <unknown-inclusion-relative-path>/beamerinnerthememytheme without concern that I might have presentations want to include this from outside of this directory structure (not a major problem, but would be nice to avoid limiting possibilities whilst I still have ability to easily change).
themestexmf/tex/latex/mythemes/...and then addthemestexmfas a new root to the tex system.TEXINPUTSenvironment variable:TEXINPUTS=".//;../Theme//;"