• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
    Emacs Lisp
  • Created about 12 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Johns customizations to maximize emacs

jmax - John’s customizations to maximize Emacs

This project is not under active development. Up-to-date version available at https://github.com/jkitchin/scimax.

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

  1. Change to a directory you want.
  2. Clone the repository like this. It will create a new directory called jmax in the current directory.
git clone https://github.com/jkitchin/jmax.git
  1. Run this command in a terminal:
emacs -q -l jmax/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 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.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-win.sh)"

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 homebrew, git, and emacs installed, and then will clone jmax and tell you how to use it. It will take some time to install.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-mac.sh)"

Alternative manual installation of jmax for Mac users

Alternatively, you can install homebrew yourself, install git from http://git-scm.com/download/mac, build your emacs like this:

brew install emacs --with-gnutls --with-imagemagick --with-librsvg --with-x11 --use-git-head --HEAD --with-cocoa

This got me:

(emacs-version)

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.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/jkitchin/jmax/master/install-jmax-linux.sh)"

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…

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"

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

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/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:

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.

More Repositories

1

org-ref

org-mode modules for citations, cross-references, bibliographies in org-mode and useful bibtex tools to go with it.
Emacs Lisp
1,292
star
2

scimax

An emacs starterkit for scientists and engineers
Emacs Lisp
938
star
3

dft-book

A book on modeling materials using VASP, ase and vasp
Python
302
star
4

pycse

Python computations in science and engineering
HTML
225
star
5

ox-ipynb

org-mode exporter to Jupyter notebooks
Jupyter Notebook
150
star
6

vasp

New ASE compliant Python interface to VASP
Python
109
star
7

emacs-modules

Dynamic modules for emacs
C
72
star
8

ox-clip

Copy formatted content from org-mode
Emacs Lisp
57
star
9

ov-highlight

A persistent highlighter for Emacs
Emacs Lisp
53
star
10

org-ref-cite

An org-cite processor that is like org-ref.
Emacs Lisp
42
star
11

magit-tutorial

37
star
12

dft-book-espresso

New version of dft-book for Quantum Espresso
Jupyter Notebook
32
star
13

jasp

python enhancements of ase.calculators.vasp
Python
27
star
14

dft-course

Course repository for 06-640 - Molecular simulation
Emacs Lisp
25
star
15

matlab-cmu

+cmu matlab package for units and other useful things.
MATLAB
23
star
16

python-reaxff

python wrappers for generating training files for the ReaxFF code
Python
21
star
17

scipy2013

19
star
18

f18-06623

Fall 2018 - Mathematical Modeling of Chemical Engineering Processes
Jupyter Notebook
19
star
19

techela-emacs

Technology enhanced learning and assessment
Emacs Lisp
17
star
20

s20-06681

Data science and machine learning in chemical engineering
Jupyter Notebook
12
star
21

s17-06364

Spring 2017 Chemical and Reaction Engineering
Jupyter Notebook
11
star
22

surfaces-book

Book for a course in surface science
11
star
23

devcontainer

Python package for using devcontainers locally
Python
10
star
24

python-atat

Python wrappers for the Alloy Theoretic Automated Toolkit
Python
9
star
25

htp

high-throughput tools for python - ssh and rsync
Python
8
star
26

matlab-wordpress

Matlab module for publishing m-files to a Wordpress blog
Objective-C
8
star
27

jkitchin.github.com

my blog
HTML
8
star
28

f15-06625

06-625 Chemical and Reactive Systems
Emacs Lisp
7
star
29

f19-06623

Course repository for 06-623
Jupyter Notebook
7
star
30

python-torque

My python module wrapping the Torque queue system
Python
6
star
31

f21-06623

Fall 2021 Mathematical Modeling of Chemical Engineering Processes
Jupyter Notebook
5
star
32

f16-06625

Chemical and Reactive Systems for Fall 2016
TeX
5
star
33

co2rr-rev

Reviewing the CO2RR literature
JavaScript
4
star
34

s22-06681

Course materials for data visualization and modeling
Jupyter Notebook
4
star
35

hyve

My Hy code
Hy
4
star
36

techela

Techela in a Flask
JavaScript
4
star
37

scipy-conference

talks I have given at the SciPy conference
3
star
38

sse

Jupyter Notebook
2
star
39

codespace

EJS
2
star
40

elpa

ELPA repository for my emacs packages
2
star
41

csearch

search utilities for Google colab
Jupyter Notebook
2
star
42

scimax-channel

See https://www.youtube.com/playlist?list=PL0sMmOaE_gs3E0OjExoI7vlCAVygj6S4I
TeX
2
star
43

expert-chainsaw

Shell
2
star
44

emacs-win

An emacs distribution for use with jmax
Emacs Lisp
2
star
45

dsmles

Jupyter Notebook
2
star
46

box-course

Python wrappers for the box.com v2 API
Python
1
star
47

texmf

LaTeX packages for writing scientific articles
1
star
48

jupyter-pycse

Jupyter Notebook
1
star
49

homebrew-scimax

A Tap for installing scimax via homebrew
Ruby
1
star
50

s23-example

1
star
51

scimax-win-elpa

Preinstalled elpa packages specifically for scimax on Windows
Emacs Lisp
1
star
52

claude-light-python

Python interface to Claude Light
Jupyter Notebook
1
star