An annotated bibliography summarizes notes about papers being read during a research project. It is one of several methods for working with the knowledge gleaned from reading.
This modular form enables the reuse of entries in annotated bibliographies for related projects. It has the following enhanced features that the classic annotated bibliography lacks:
- No longer restrained by the
annote
field in BibTeX, which removes whitespaces, including blank lines between paragraphs. - Modular entries for easy reuse in related projects.
- Images.
- Tables.
- Equations.
- Code blocks.
- Hyperlinks: internal and external.
- Bibliographic entries can be reordered for subgrouping by category.
- Table of contents, hyperlinked to sections
- Index of terms.
- Bibliography includes papers cited outside those listed in the annotated bibliography.
- List of acronyms used.
- List of glossary terms used.
- List of mathematical notation.
It is the gold standard for typesetting scientific documents. This template can be used on Overleaf. It can also be used collaboratively online in Overleaf.
This is the fastest way to explore the features of this template. The files in overleaf-drag-n-drop.zip have been configured to run on Overleaf.
- Download the zip file: Modular-Annotated-Bibliography-BibTeX-Overleaf.zip.
- Upload this zip file into a new project on Overleaf.
The file mabib0573.tex will compile automatically to a PDF. The compile job should be free of warnings. The index and glossaries should be populated.
The modular bibliographic notes are stored in folders at the top level in the home directory.
The global.bib file is stored in ~/Documents
.
Adjust the location and run the following:
mkdir ~/glossaries
mkdir ~/bibNotes
mkdir ~/imagesBlaine # Rename
Edit the file paths as needed. Takes a project ID as the only argument. Assumes that the following folders are in you home directory:
- bibNotes
- glossaries
- imagesBlaine
Customize the name of the last folder.
Run from the top level of your writing project directory.
Upon reuse, delete the cp -R
commands to avoid overwriting existing files.
function mabtex {
echo "Create a modular annotated bibliography (mab) subfolder and populate with required files with project number in the title."
if [ $# -lt 1 ]; then
echo 1>&2 "$0: not enough arguments"
echo "Usage1: mabibtex projectIndexNumber"
return 2
elif [ $# -gt 1 ]; then
echo 1>&2 "$0: too many projectIndexNumber"
echo "Usage1: mabtex projectIndexNumber"
return 2
fi
projectID="$1"
mkdir mab$1
cp ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/compile.sh ./mab$1/.
cp ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/apacannx.bst ./mab$1/.
cp ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/mab0519.bib ./mab$1/mab$1.bib
cp ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/mab0519.tex ./mab$1/mab$1.tex
cp -R ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/glossaries/glossary.tex ~/glossaries/.
cp -R ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/bibNotes ~/glossary/.
cp -R ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/notation.tex ~/glossary/.
cp -R ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/bibNotes/* ~/bibNotes/.
cp -R ~/6112MooersLabGitHubLabRepos/modular-annotated-bibliography-bibtex-latex/imagesBlaine/* ~/imagesBlaine/.
}
git clone
this project to your software directory- Copy the bash function and paste into your
.bashrc
or.zshrc
file. source .bashrc
or.zshrc
- cd project directory
mabtex <projectID>
to create subfolder for the annotated bibliography files.
-
Create one tex file per reference in the
bibNotes
folder.- Use the supplied examples as templates.
- Use the citekey from BibLaTeX as the name of the bibNote file.
- Use a blank line between paragraphs.
- Note that text-wrapping figures is easier than text-wrapping tables.
- Skip text-wrapping if it is too tedious.
- As you work, add
- figures
- tables
- equations
- URLs (including links to videos)
- citekeys to references in and out of the annotated bibliography
- index macros
- acronyms
- glossary terms
- math notation
-
Use the citekey as the argument of the
\bibentry
macro inside a new subsection heading. This will inject the bibliography entry upon export to PDF. -
Using the section and subsection macros, you can cluster citations by topic and subtopic. You can lower the heading level to the subsubsection level for the bibliographic entry if you need the subsection heading for subgroups.
-
The colored boxes indicate hyperlinks. Comment out the hyperref package in the preamble to disable.
-
The
\glsaddall
command prints out the entire contents of a glossary file rather than only the entries used in the bibNote files. -
Compile to HTML to enjoy the output in your web browser.
-
Compile to PDF to print and edit while traveling or away from the computer.
-
Compiles locally with the full installation of texlive.
-
Compiles in Textmate.app with the
Option-R
command or command-B in Sublime Text orC-c C-a
in Emacs.
The script texList2inputs.py
depends only on standard modules.
It prepares a list of citekeys for inclusion in the body of the master main.tex file (labeled mabib0573.tex here).
This eases reordering long lists of entries.
Sample input papersAboutCoding.tex
and output citations.tex
files are provided.
Ready to use and enjoy on Overleaf. Works without warnings when using pdflatex, version 2024.
Running locally may require troubleshooting your LaTeX setup or your text editor's configuration for LaTeX.
- Variants for org-mode.
- NIH: R01 CA242845
- NIH: R01 AI088011
- NIH: P30 CA225520 (PI: R. Mannel)
- NIH: P20 GM103640 and P30 GM145423 (PI: A. West)
Version | Changes | Date |
---|---|---|
0.1 | Initial commit. | 2024 October 24 |
0.2 | Edited folder names in bash script to be consistent with the analogous Typst project. | 2024 October 27 |
0.3 | Added working version of texList2inputs.py. | 2024 October 29 |