jmax
jmax copied to clipboard
Johns customizations to maximize emacs
** This project is not under active development. Up-to-date version available at https://github.com/jkitchin/scimax.
#+TITLE: jmax - John's customizations to maximize Emacs
#+BEGIN_HTML
#+END_HTML
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
-
Change to a directory you want.
-
Clone the repository like this. It will create a new directory called jmax in the current directory. #+BEGIN_SRC sh git clone https://github.com/jkitchin/jmax.git #+END_SRC
-
Run this command in a terminal: #+begin_src sh emacs -q -l jmax/init.el #+end_src
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 inside jmax. This takes a few minutes. You might have to restart emacs.
** Windows users Install git (http://git-scm.com/download/win). Open a git bash terminal. Run this command.
#+BEGIN_SRC sh bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-win.sh)" #+END_SRC
There is an emacs binary in this repository for Windows. You should be able to run the jmax.sh command to launch jmax now.
** Mac users
Run the next command in your terminal in the location you want to install jmax. The command will make sure you have [[http://brew.sh][homebrew]], git, and emacs installed, and then will clone jmax and tell you how to use it. It will take some time to install.
#+BEGIN_SRC sh bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-mac.sh)" #+END_SRC
*** Alternative manual installation of jmax for Mac users Alternatively, you can install [[http://brew.sh][homebrew]] yourself, install git from http://git-scm.com/download/mac, build your emacs like this:
#+BEGIN_SRC sh brew install emacs --with-gnutls --with-imagemagick --with-librsvg --with-x11 --use-git-head --HEAD --with-cocoa #+END_SRC
This got me: #+BEGIN_SRC emacs-lisp (emacs-version) #+END_SRC
#+RESULTS: : GNU Emacs 25.1.50.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1077)) : of 2016-01-22
[[https://www.enthought.com/products/canopy/][Enthought Canopy]] has a Mac version of Python that I like.
and MacTeX from http://www.tug.org/mactex if you plan to export org-mode files to LaTeX and convert them to PDF files.
After that, I clone jmax as described above, and use the jmax-mac.sh script to open emacs configured to use jmax.
** Linux users Run this command. It checks for a git and emacs, but does not install them. You will have to use your package manager for that.
#+BEGIN_SRC sh bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-linux.sh)" #+END_SRC
** Other software you probably need
- Python https://www.enthought.com/products/canopy/ (Windows, Mac and Linux)
- LaTeX https://www.tug.org/texlive/doc.html (Windows, Linux) ([[https://www.tug.org/mactex/][Mac]])
- git [[http://git-scm.com/download/win][Windows]] [[http://git-scm.com/download/mac][Mac]] [[http://git-scm.com/download/linux][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:
#+BEGIN_SRC sh tlmgr conf texmf TEXMFHOME "~/Dropbox/kitchingroup/jmax/texmf" #+END_SRC
** 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:
#+BEGIN_SRC emacs-lisp ;; 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") #+END_SRC
- 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.
#+BEGIN_SRC emacs-lisp (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) #+END_SRC
- 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.
[[file: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 [[file:org-ref/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 [[file:examples/technical-documents-in-org.org]].
If you are a student at CMU, you may appreciate:
- Writing your MS report in org-mode [[file: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 [[file:ox-cmu-dissertation.el]]
** 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 [[file:ox-archive.el]].
** Handy email functions [[file:email.el]] provides functions to email a region, or an org-heading conveniently.