I use Jabref to manage my bibliography database. I also use it with LyX and it's running well.

But now I need to use it with MiKTeX and use TeXmaker as an editor. Using my MiKTeX settings I'm trying to tell the MiKTeX to add a root, where the .bib file created by Jabref is stored.

But I got an error message "Not a TDS-compliant root directory". Could anyone help me why I got the error message?

  • I don't really see where the problem might be... Could you just put the .bib file in the same directory than the .tex file? – Martigan Jun 15 '11 at 9:56

The proper TDS-compliant setup is as shown below. Make a directory, say c:\mytexmf and put your bibtex files in c:\mytexmf\bibtex\bib\mypackages\...

Add your local texmf directory to the latex search path by declaring it in MiKTeX:

Start -> All programs -> MikTeX -> maintenance -> Setup

Under the tab Roots add the path, say c:\mytexmf and under the tab general update the file name data base. Now latex will find your file.

enter image description here

The advantage of this setup is that you can add any package that is tds compliant to your local texmf tree and after updating the file name database it can be used by latex.

  • 1
    This is a better answer than mine, but touching the system partition's root is bad practice. Even in some environments it's impossible. – Karl Karlsson Jun 15 '11 at 11:11
  • @Karl Karlsson: Why is putting stuff in the root bad practice? If you have access to the root in windows, then I will say put it there, because there are a lot of TeX helper programs that do not like spaces in directory names (some commentors calls it the root of all evil in windows) – Danie Els Jun 15 '11 at 11:33
  • Because a good security policy prohibits touching places where critical system files may reside. A critical system file may be damaged or deleted by mistake. NTFS file system is UTF16 compliant from the beginning of the 90-ties. So I call the spacing problem of these tools - the outdated UNIX stuff from the 70-ties (or may be even 60-ties?). And equally, touching the root in Linux/Unix isn't welcome. – Karl Karlsson Jun 15 '11 at 11:47
  • Many thanks in advance, I have solved the problem. Jabref only compatible with LaTeX Editor LED. I use Texmaker, so I couldn't use Jabref. – Verly Jul 4 '11 at 8:16
  • @Verly: Jabref is just a bibtex database manager. For that matter can you use any text editor, even Notepad, to edit your Bibtex files. You use \bibliography{bibfile} to link your bibfile to your latex document and use \cite{key} to refer to an entry inside the bib file. Jabref has the option to export \cite command to a document open inside a number of editor, but that is just an added bonus. – Danie Els Jul 4 '11 at 9:56

(1) Putting the bib file along with the rest of the project helped me.

(2) I could also give relative path like ../../myreferences/mylibrary where the file mylibrary.bib was placed two levels above the current folder

(3) Most of the problems could be solved by deleting the mylibrary.bbl file in the project folder and recompiling

  1. Simple answer: Place your bib file in the folder where your tex files are located.
  2. More complex answer: Make a TDS compliant tree. For example:


And place your bib files in this folder. The root folder \Miktex can be placed anywhere you want.

Edited for correctness, as suggested by Ulrike Fischer.

  • 1
    bib-files don't belong in <root>\tex\latex, they belong in root\bibtex\bib. And in miktex is it in general best to add an additional layer. So in this case I would use <root>\bibtex\bib\mybibs – Ulrike Fischer Jun 15 '11 at 11:04
  • @Ulrike Fischer: I know that. Will edit it. But it works even that way - MiKTeX doesn't verify which files go where. MiKTeX just verifies the folder structure, and even not all of that structure. – Karl Karlsson Jun 15 '11 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.