I am looking for software that will assist keeping a research notebook. I want the following features:

  • Must be free and open source.
  • Must use open file formats, data should be easy to import/export in case I want to migrate my notebook to something else.
  • Must be able to handle very long documents (hundreds of pages, dozens of graphics).
  • Must generate a formatted version that is aesthetically pleasing and easy to read (eg. Latex-generated PDF with extensive bookmarks, table of contents, index, etc).
  • Must support easily adding images in PNG, JPG, SVG and PDF formats.
  • Must support sane layout of text and images, including text wrapping around images (eg. the way Word does it is not good enough, Latex \wrapfig is okay).
  • Must support including data and figures that are read from files, such as plots generated as image files or data in tab-delimited and/or Excel tables (compatibility with a database would be great). These must not be directly embedded, because if the original file is modified, I want the changes to propagate to the notebook (eg. Latex's figure inclusion behavior).
  • Must support experimental protocols. The individual protocols may be versioned (to reflect changes in experimental strategy), may have non-versioned variations (to reflect ad-hoc changes for that particular application of the protocol), may have comments (eg. explaining some steps) or remarks (eg. observations made during the experiment, estimated time required for each step). There must be a way to generate a nicely formatted, single-page, printable version of the protocol.
  • Must be compatible with versioning tools like git so I can track changes.
  • Must have a practical way of including bibliography/citations (something at least equivalent to JabRef/Latex/Biber).

I realize I'm probably asking for too much, but as it is, my current Latex-based setup already comes very close to accomplishing many of these. I am wondering if there is any software that does better.

1 Answer 1


Short answer: LaTeX will surely stay your friend. You could switch to lualatex to write plugins reading special formatted files. Regarding your CSV-like files, you could use the csvsimple package.

Detailed answer discussing alternatives:

Very long documents and wrapping make it difficult, to suggest something. Being gone through http://alternativeto.net/software/microsoft-onenote/, I think following two tools could be a good start:

Even though both might fail with long documents, both can include external files, maybe they have to be modified to your specific needs and thus they could be a good start.

More textbased solutions include to use MultiMarkdown or PanDoc, with PanDoc having support for bibtex. Think, you have to patch the markdown processor to include your desired feature "data inclusion".

An interesting solution is the tbook system for XML Authoring. But you will need to write plugins for that, too. Personally, I'm convinced that markdown is superior to XML for writing text.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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