Try it you might like it. These customizations have been compiled and derived from prelude and the emacs24-starterkit, and my own emacs hackery.
To install this, clone the git repository, change into the jmax directory, and run this command:
emacs -q -l init.el
This will load the emacs on your path, without using whatever you have defined in .emacs.d.
The first time you run this, a lot of packages will be downloaded into the elpa folder. This takes a few minutes. You might have to restart emacs.
There is an emacs binary in this repository for Windows. This ./jmax.bat file should automatically run emacs with the right libraries.
- Python https://www.enthought.com/products/canopy/ (Windows, Mac and Linux)
- LaTeX https://www.tug.org/texlive/doc.html (Windows, Linux) (Mac)
- git Windows Mac Linux
- Any other languages that will be used, e.g., Ruby, R, Matlab, compilers, etc…
For some LaTeX packages installed in jmax, you need to add them to your LaTeX path. For TeXlive distributions, do something like this:
tlmgr conf texmf TEXMFHOME "~/Dropbox/kitchingroup/jmax/texmf"
Install aspell http://ftp.gnu.org/gnu/aspell/w32/Aspell-0-50-3-3-Setup.exe and this dictionary http://ftp.gnu.org/gnu/aspell/w32/Aspell-en-0.50-2-3.exe.
In your init file:
;; set i(a)spell options on different machines
(setq ispell-personal-dictionary (concat starter-kit-dir "user/.ispell"))
;; adjust this path if it is not where aspell got installed
(setq-default ispell-program-name "C:/Program Files/Aspell/bin/aspell.exe")
I installed Emacs 24.3 from http://emacsformacosx.com.
I installed git from http://git-scm.com/download/mac
Enthought Canopy has a Mac version.
and MacTeX from http://www.tug.org/mactex.
After that, I was able to clone jmax as described above, and I used the jmax-mac.sh script to open emacs configured to use jmax.
brew install emacs --with-gnutls --with-imagemagick --with-librsvg --with-x --use-git-head --HEAD --cocoa
These files contain variables with paths specific to your computer. You probably need to change them.
To set the variables for our org-bibliography functionality you can run: M-x customize-group org-ref
As an alternative, put these variables into a .el file in the user directory. You will want to modify them for your needs of course. Here is some of what I have in a file in user/jkitchin.el.
(setq reftex-default-bibliography '("~/Dropbox/bibliography/references.bib"))
;; see org-ref.el for use of these variables
(setq org-ref-bibliography-notes "~/Dropbox/bibliography/notes.org"
org-ref-default-bibliography '("~/Dropbox/bibliography/references.bib")
org-ref-pdf-directory "~/Dropbox/bibliography/bibtex-pdfs/")
;;Tell the program who you are and setup for email
(setq user-full-name "John Kitchin"
andrewid "jkitchin"
user-mail-address "[email protected]"
;; specify how email is sent
send-mail-function 'smtpmail-send-it
;; used in message mode
message-send-mail-function 'smtpmail-send-it
smtpmail-smtp-server "smtp.andrew.cmu.edu"
smtpmail-smtp-service 587)
file:jmax.el does most of the setup that is not related to org-mode. It provides some useful functions. The ones I use the most are get-path, and insert-relative-path.
jmax-org.el is responsible for how we customize org-mode to work for us.
See ./examples for many examples of preparing scientific manuscripts for submission to ACS, APS, Elsevier and Springer journals.
We have a pretty decent way of handling citations and references provided by org/org-ref.org. This file sets up how bibtex keys are made and provides a lot of new links for org-mode for citations, references, labels, and bibliography files.
See this example for the basics examples/technical-documents-in-org.org.
If you are a student at CMU, you may appreciate:
- Writing your MS report in org-mode ox-cmu-ms-report.el
- Writing your PhD qualifier or proposal in org-mode file:ox-cmu-qualifier.el
- Writing your PhD dissertation in org-mode ox-cmu-dissertation.el
Ever wanted to package up an org-file and all the figures, files and directories it references so you can email it to someone? Check out ox-archive.el.
email.el provides functions to email a region, or an org-heading conveniently.