I use Org-mode and AUCTeX (Emacs LaTeX package), to do all three tasks
you outline. I have an Org folder that I sync across machines using
Dropbox, which I find to be a simple solution for someone who does not
use version control on a regular basis.
Organization
I separate my tasks into broad groups with each group getting its own
.org file. For example, I have .org files for administrative tasks,
journal publications, service, research topics, and any major projects
that I am currently working on.
The structure of an .org file is relatively simple, for example a file to
track journal submissions, revisions, etc. may look something like this:
* Initial Submissions
* Accepted
* Rejected
* Revisions
* Book Chapters
Org-mode uses asterisks to denote levels of headings, and <Tab>
to
fold and unfold the headings. So expanding the revisions heading would
lead to:
* Revisions
** Paper 1
** Paper 2
DEADLINE: <2012-05-04 Fri>
You can set deadlines for any task by pressing C-c C-d
, which will
generate the the DEADLINE: line you see above. Setting a deadline for
a task will make the task show up in the agenda view (accessed through
C-c a a
), which is my main project planning tool for day to day
work inside of Org-mode.
You can also track the time you spend on tasks with C-c C-x C-i
,
which will clock you in to a task and C-c C-x C-o
, which clocks you
out. The tracked time will show up in the agenda view and can be
useful for project planning or reporting. You can also generate
separate standalone tables inside your .org files if you prefer a bit
more customization.
All of this can be done with a vanilla Org-mode install and no
customization. I have my tasks set as multi-state TODO lists that I
can cycle from TODO->STARTED->WAITING->DONE->CANCELED. I have my
keywords set in my .emacs configuration file with the following:
(setq org-todo-keywords
'((sequence "TODO" "STARTED" "WAITING" "|" "DONE" "CANCELED")))
The "|"
separates in process keywords from finished state keywords.
If you are looking for more elaborate reports, such as Gantt charts,
my answer to this question briefly discusses some of the options
available.
Outlining
For outlining and writing long documents, you can just create a new
.org file and outline using the * heading approach. Org-mode makes it
easy to move headings around if you want to restructure your document
at any stage. For example, if you had this outline:
* Intro
* Part 2
** Part 2a
** Part 2b
* Part 1
** Part 1a
** Part 1b
You realize that Part 1 should really come before Part 2 so you move
the cursor to the Part 2 heading and press C-<down arrow>
, and Part
2 and all of its subheadings will move to the proper position.
* Intro
* Part 1
** Part 1a
** Part 1b
* Part 2
** Part 2a
** Part 2b
Depending on your needs, writing a paper based on the outline can be
done in much the same way. Org-mode has support for LaTeX, both for
inline fragments and for environments. Since you mention LyX, I would
imagine the transition to stand-alone LaTeX should not be too onerous. The Org-mode LaTeX export does a fairly good job but if you have a document with a significant amount of LaTeX syntax, it may be better to just write the draft in LaTeX using AUCTeX, but this is beyond the scope of the question.
Reference Management
I use a combination of Org-mode and RefTeX (available with AUCTeX) to
manage my references and to make notes. As mentioned in John
Moeller's answer this takes some non-trivial configuration. I used
this setup almost verbatim to start my reference management, and I
have found that it works well. This link was inspired by the same setup and may be useful for both reference management and writing drafts in Org-mode that contain extensive references.
I start with a master .bib file, that contains the bibliographic
material for each reference. After adding updating the .bib file, I
use C-c )
to insert a new heading into my notes.org file. The
customization will generate a heading with the title of the paper and
a link to the PDF of the paper. For any notes I take on the paper, I
can use the rest of Org-mode's abilities to either have multi-heading
outline style notes as subheadings, or just write paragraphs separated
by a blank line. The end result is an .org file with headings for
papers, textbooks, etc. and subheadings for each paper with links to PDFs and all my notes in a single file.
Tips for Starting Out
There are a few ways to help smooth the way to working with Emacs,
Org-mode, and AUCTeX.
Install Emacs 24 pretest instead of Emacs 23. Emacs 24 has package
management included in the vanilla install which makes it much
easier to add packages without a lot of programming experience. It
also has Org-mode included in the default install. This link gives
instructions for a variety of operating systems. I have been using it for awhile now and I have found it to be very stable.
Go through the Emacs tutorial, accessed via C-h t. This will give
you the basics of navigating using the Emacs keys. It will likely
take some getting used to, especially how Emacs handles selection,
cutting, and pasting. This will likely be the biggest hurdle if
you are used to the cutting/pasting/navigation in word processors.
Keep this reference card handy. It has nearly all of the commands
that you will use on a daily basis.
For Org-mode specifically, look through the manual, but more
importantly look at the tutorials. Specifically the general
introductions and the power users describe their setup sections
(the first two sections linked above). These tutorials will
highlight the customizations made to the initialization file
(.emacs) for these users. Even without elisp experience, you
should be able to find something close to your desired workflow and
be able to modify it with some trial and error.
When I started with Emacs and Org-mode I had very little experience
with Emacs. A vanilla Org-mode install with no customization is still a powerful tool. As you get more comfortable with working in Org-mode you can start to work on customization. Even with very little interest in programming there is a significant enough user base that someone may have already done something close to what you are looking for.
After I got comfortable with Org-mode, I started using Bernt Hansen's set-up with no
changes. It is a bit intimidating on the whole as he has some extensive customizations, but he documents them well and explains almost everything he does.
Then after using it for awhile, I was able to modify
the initialization to something that better suited my workflow. It
took some trial and error and a bit of extra time on the learning
side, but I believe that it has payed off in the long run.
Once you are comfortable with Emacs, I would also recommend the Emacs
wiki. It has some descriptions of useful packages, some discussion,
and even some configuration suggestions to help build up your
initialization file. If you ever get to the point in your setup where you think, "I wish I could do XXX", the odds are someone else has written a package that covers what you need.