/jmax

Johns customizations to maximize emacs

Primary LanguageEmacs Lisp

jmax - John’s customizations to maximize Emacs

Try it you might like it. These customizations have been compiled and derived from prelude and the emacs24-starterkit, and my own emacs hackery.

Installation

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.

Windows users

There is an emacs binary in this repository for Windows. This ./jmax.bat file should automatically run emacs with the right libraries.

Other software you probably need

  1. Python https://www.enthought.com/products/canopy/ (Windows, Mac and Linux)
  2. LaTeX https://www.tug.org/texlive/doc.html (Windows, Linux) (Mac)
  3. git Windows Mac Linux
  4. Any other languages that will be used, e.g., Ruby, R, Matlab, compilers, etc…

Spell checking on windows

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")

Customization

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 "jkitchin@andrew.cmu.edu"
      ;; 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)

What do these files do?

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.

Scientific manuscript preparation

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-ref.el. 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:

Create standalone org-archives

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.

Handy email functions

email.el provides functions to email a region, or an org-heading conveniently.