I have a central BibTeX file that I have in my home folder. Sometimes, I use it as a git submodule in the subfolder central-bibtex. The relative location can vary a bit. Since I want my preamble to do the work for me, I need it to find it in a couple of possible locations. Those include:
../../central-bibtex/Centralcentral-bibtex/Central../../zentrale_BibTeX/Central
Once I have a better syntax for this, I would like to add even more:
../central-bibtex/Central../zentrale_BibTeX/Central../../../zentrale_BibTeX/Central
So far, I have this, which seems to work:
\IfFileExists{../../central-bibtex/Central}
{\newcommand{\bibliographyfile}{../../central-bibtex/Central}}
{
\IfFileExists{central-bibtex/Central}
{\newcommand{\bibliographyfile}{central-bibtex/Central}}
{\newcommand{\bibliographyfile}{../../zentrale_BibTeX/Central}}
}
Is there some easy way to do this? I am thinking in Python:
dirs = ['../../central-bibtex', 'central-bibtex', '../../zentrale_BibTeX']
for dir in dirs:
if os.path.isfile(dir + '/Central'):
bibliographyfile = dir + '/Central'
I have tried TikZ and \foreach, but \bibliographyfile is not set to anything with this:
\newcommand\bibliographyfile{None}
\foreach \path in {
../../central-bibtex/Central,
central-bibtex/Central,
../../zentrale_BibTeX/Central,
/home/mu/Dokumente/Studium/zentrale_BibTeX/Central.bib
}
{
\AtEndDocument{\path}
\IfFileExists{\path}
{\renewcommand\bibliographyfile{\path}}
{}
}

\forloopfromforlooppackage might help? – May 08 '14 at 18:41TEXMFHOME/bibtext/bib/Central.bib? – cfr May 08 '14 at 23:29