Table of Contents
I create this page mainly as a documentation to myself. I created a elaborated workflow using emacs. I use emacs for latex, R, Python, writing and publishing posts in this blog, writing summaries of readings, writing papers, presentations, organize my notes, tasks, studies, research, etc. I do everything using this integrated and powerful tool and the its modes, specially ess-mode for R, org-mode, Python mode, C mode, and in less extent latex mode (I write in latex using org-mode). I took me some time to set everything up. For my needs, it became a very efficient system that saves me a lot of time when doing things as typing equations, summarizing readings, writing papers that contain plots, data analysis, tables, etc. Writing scripts, and incorporating them in the pdf file became very easy as well. Emacs allows to connect all those tasks and the work flows easily. This page describes my workflow and explains how to set it up in mac and linux (ubuntu). It is in constant improvement and I incorporate more efficient mechanisms as I learn it.
I use MacOS (Yosemite 10.10.3) and Ubuntu 14.04 (windows and I don’t get along well anymore).
- Emacs (incredible text editor for writing code, latex, etc.), with the following packages (all can be installed using ELPA or MELPA)
- ref-tex: Allows us to use intelligent citation for latex-mode.
- org2blog: package to post in wordpress from org-mode in aquamacs.
- org-ref: incredible and useful package created by John Kitchin. It manages citation for latex document and have a smart system for including citations, accessing the respective pdf and personal notes, all available when using org-mode. It allows easy access to the records in the .bib file. It has some tools for organizing the .bib file, finding the citation in the google scholar, creating references in the latex document and other functionalities that are very useful.
- Yasnipet: allow us to create a sort of macro for code. You write, for instance, for and hit <TAB> in the R-mode and the whole strucrute of the “for” loop appears ready to be completed. You can created such “macros” for all the environments. I use many in R-mode, org-nmode and latex-mode for writing scripts and equations (you find some examples and instructions here).
- ESS (Emacs Speakes statistics): to run R inside emacs
- Ergoemacs (on ubuntu): modern keybuilding for Emacs. What is cool is that it shows a message informing the old and new key loaded.
- tabbar : to enable tabs (like those we have in modern browsers) in the Emacs
- ido: to enable regexp in search for files with C-c C-f (C-o with ergoemacs). Extremely useful.
- auto-complete: package to suggest completion of the word when typing codes or text. Can be useful, although I prefer using snippets ()
- google-translate: allows to use google translate inside the emacs buffer. It opens the translation of the word or sentence in an a separate buffer.
- google-contacts: allows you load your google contacts to send email from emacs.
These emacs packages I used at some point, but I stopped using for one reason or another
- rainbow-delimiters rainbow-delimiters: highlight parenteses, brackets and braces according to their depth. I stopped using just to avoid too many collor in my screen. I still think it is useful, though.
- ac-R: auto-completion for R-mode (check also here). I prefer using snippets for the codes I use more often. They are much more efficient.
- ac-math: package with auto-completion for math terms in latex (check also here). I prefer using snippets for the codes I use more often. They are much more efficient.
I used to use Bibdesk (for Mac). I completely shifted to emacs. I just manage my bib-file using emacs. Some instructions are here. I have a master .bib file that contains all my bilbiography in a Dropbox folder. I use this file to load the bibliography whenever I am working (my Mac or Ubuntu). Using org-mode/latex-editor/org-ref I can easily access them.
I have many of the articles that I cite in pdf files in a folder ../Bibliography/pdf (see below). I can easily access them from org-mode.