[Tex/LaTex] How to put a white-space in the Path to .bib while compiling BibTex

bibtexpaths

I have a white-space in the Path to my .bib … The Path is : /Users/Alji/Google Drive/Recherche/Papers/LibraryBibDesk.bib

When I compile BibTex I get the following error when I compile BibTex :

This is BibTeX, Version 0.99d (TeX Live 2013)
The top-level auxiliary file: syn-mseg.aux
The style file: plain.bst
White space in argument---line 164 of file syn-mseg.aux
 : \bibdata{/Users/Alji/Google\
 :                              Drive/Recherche/Papers/LibraryBibDesk.bib}
I'm skipping whatever remains of this command
I found no database files---while reading file syn-mseg.aux
Warning--I didn't find a database entry for "Gordillo:2013aa"
(There were 2 error messages)

any help is a welcome ?

Best Answer

BibTeX was created several years ago, when file systems were much more rigid than they are now. I believe that the restriction about not having spaces in the argument of \bibdata (that is created in the .aux file by a \bibliographystyle command) was introduced in order to catch user's input errors, but there might be more compelling reasons.

Anyway, you can solve your problem in a number of ways:

  1. rename the folder not to contain spaces (this may cause problems if other software requires that precise name)

  2. create a symbolic link to it, say with

    ln -s ~/Google\ Drive ~/GoogleDriveNoSpace
    

    from the terminal, and refer to GoogleDriveNoSpace in the path.

  3. set BSTINPUTS in the environment (this might be the most difficult)

    export BSTINPUTS="~/Google Drive//":
    

See also https://apple.stackexchange.com/questions/8606/how-do-i-create-a-symbolic-link-to-a-directory-with-a-space-in-it for more information about symbolic links.