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.