diff options
author | Kyle Meyer <kyle@kyleam.com> | 2014-11-24 02:34:00 -0500 |
---|---|---|
committer | Kyle Meyer <kyle@kyleam.com> | 2014-11-24 02:34:00 -0500 |
commit | adf11f9ce858f27c5b381e269c73b5ff3e48bef4 (patch) | |
tree | 9c1871c0edded9cc36f8c818b55c4a395248bd0f /README.org | |
parent | eb41c5fa2dfe235d4a3b553acd67868ee77e7ccf (diff) | |
parent | 060e5d1997b32f646a95419924dd41fd7bf6d9b7 (diff) | |
download | bog-adf11f9ce858f27c5b381e269c73b5ff3e48bef4.tar.gz |
Merge pull request #3 from rranelli/master
Rename README to README.org
Diffstat (limited to 'README.org')
-rw-r--r-- | README.org | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/README.org b/README.org new file mode 100644 index 0000000..3e6eb3c --- /dev/null +++ b/README.org @@ -0,0 +1,148 @@ +# -*- mode: org -*- +#+title: Bog +#+options: toc:nil +#+startup: showall + +Bog is a system for taking research notes in [[http://orgmode.org/][Org mode]]. It adds a few +research-specific features, nearly all of which are focused on managing +and taking notes with Org, not on writing research articles with Org. + +* Installation + +Bog is available on [[http://melpa.milkbox.net/][MELPA]]. + +To enable Bog in all Org buffers, add it to =org-mode-hook=. + +#+begin_src emacs-lisp + (add-hook 'org-mode-hook 'bog-mode) +#+end_src + +* Workflow + +The Bog workflow is focused around the citekey, which is the only study +information that must be included in the notes. This unique identifier +is used as a link to the BibTeX file and other associated files. + +In the example below, the citekey "name2000word" is a study heading. A +study heading is defined as a heading the has a citekey as a title or as +the value of =bog-citekey-property=. When a citekey occurs anywhere else +(like "another1999study" below), they are taken as a reference to +another study (which may or may not have a subtree in this or another +Org file). + +#+begin_example + + ,* Topic heading + + ,** TODO name2000word :atag: + + <URL for study> + + Article notes ... a reference to another1999study ... +#+end_example + +The default format for the citekey is the first author's last name, the +year, and then the first non-trivial word. To have BibTeX mode +automatically generate a key of this format, the =bibtex-autokey-*= +settings can be modified. + +#+begin_src emacs-lisp + (setq bibtex-autokey-year-length 4 + bibtex-autokey-titleword-length nil + bibtex-autokey-titlewords-stretch 0 + bibtex-autokey-titlewords 1 + bibtex-autokey-year-title-separator "") +#+end_src + +* Main features + +Many Bog functions take the citekey from the notes. If the point is on a +citekey (like "another1999study" above), then that citekey will be used. +If this fails, many functions will try to take the citekey from the +first parent heading that is a study heading. + +- =bog-find-citekey-file= + + Open an associated file (usually a PDF) for a citekey. + +- =bog-find-citekey-bib= + + Open a BibTeX file for a citekey. + + BibTeX entries can be stored in one of two ways: + - As a single file with many entries + - As single-entry files named citekey.bib within a common directory + +- =bog-search-citekey-on-web= + + Search Google Scholar for a citekey. The default citekey format (first + author's last name, year, and first non-trivial word) usually contains + enough information to make this search successful. + +- =bog-rename-staged-file-to-citekey= + + Rename a new file (usually a PDF) to be associated with a citekey. + +- =bog-clean-and-rename-staged-bibs= + + Rename new BibTeX files. If a separate BibTeX file is used for each + citekey, this function can be used to rename all new BibTeX files. + =bibtex-clean-entry= is used to clean the entry and autogenerate the + key. + +- =bog-create-combined-bib= + + Generate a combined BibTeX file for all citekeys in buffer. This is + useful if single-entry BibTeX files are used. + +Other useful functions include + +- =bog-goto-citekey-heading-in-buffer= +- =bog-goto-citekey-heading-in-notes= +- =bog-citekey-tree-to-indirect-buffer= +- =bog-refile= +- =bog-search-notes= +- =bog-search-notes-for-citekey= +- =bog-sort-topic-headings-in-buffer= +- =bog-sort-topic-headings-in-notes= +- =bog-insert-heading-citekey= +- =bog-open-first-citekey-link= + +* Variables + +Several variables determine where Bog looks for things. + +- =bog-notes-directory= +- =bog-file-directory= +- =bog-bib-directory= or =bog-bib-file= +- =bog-stage-directory= + +The variables below are important for specifying how Bog behaves. + +- =bog-citekey-format= + + A regular expression that defines the format used for citekeys + +- =bog-find-citekey-bib-function= + + A function to find a citekey in a BibTeX file. This determines whether + a directory of single-entry BibTeX files or a single BibTeX file is + used. + +* Keybindings + +A keymap is defined for Bog under the prefix =C-c "=. If you prefer +something else (like =C-c b=), set =bog-keymap-prefix=. + +Some Bog functions are useful outside of an Org buffer (e.g., +=bog-search-notes=). These functions are available through the +=bog-commander= interface (based of off =projectile-commander=). This +can be bound to a global key for quick access. + +* Other approaches + +If Bog doesn't fit your workflow, there are a good number of other +approaches to explore. On the Org mode mailing list, there are some [[http://thread.gmane.org/gmane.emacs.orgmode/78983][nice]] +[[http://thread.gmane.org/gmane.emacs.orgmode/14756][descriptions]] of systems people have come up with for taking research +notes in Org. For a package that focuses on both taking research notes +and writing research articles, look into [[https://github.com/jkitchin/jmax/blob/master/org/org-ref.org][Org-ref]]. |