• This repository has been archived on 21/Apr/2022
  • Stars
    star
    326
  • Rank 129,027 (Top 3 %)
  • Language
    Emacs Lisp
  • Created almost 10 years ago
  • Updated almost 4 years ago

Reviews

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

Repository Details

Emacs minor mode to interleave notes and text books

http://melpa.org/packages/interleave-badge.svg https://travis-ci.org/rudolfochrist/interleave.svg?branch=master

IMPORTANT

This package is not maintained anymore. User should go and checkout weirdNox/org-noter as an alternative.

Interleaved Textbooks?

Some history, what this is all about…

In the past, textbooks were sometimes published as interleaved editions. That meant, each page was followed by a blank page and ambitious students/scholars had the ability to take their notes directly in their copy of the textbook. Newton and Kant were prominent representatives of this technique [fn:blumbach].

Nowadays textbooks (or lecture material) come in PDF format. Although almost every PDF Reader has the ability to add some notes to the PDF itself, it is not as powerful as it could be. This is what this Emacs minor mode tries to accomplish. It presents your PDF side by side to an Org Mode buffer with you notes. Narrowing down to just those passages that are relevant to this particular page in the document viewer.

In a later step it should be possible to create truly interleaved PDFs of your notes.

Installation

Add MELPA to your package archives in your init file

(package-initialize)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/") t)

Then install interleave-mode with

M-x package-install RET interleave RET

Usage

Create a Org file that will keep your notes. In the Org header section (#+TITLE, #+AUTHOR, etc.) add

#+INTERLEAVE_PDF: /the/path/to/pdf.pdf

Then you can start interleave by typing

M-x interleave-mode

This will display the PDF side by side to the org buffer for your notes. You can navigate the PDF as usual with n and p. Changing the page of the PDF will also narrow to the notes that are meant for this particular PDF page.

The split direction is determined by the customizable variable interleave-split-direction. When interleave-mode is invoked with a prefix argument the inverse split direction is used e.g. if interleave-split-direction is set to vertical the buffer is split horizontally.

If you want to add some notes to the current page you can type i. This will create a new headline for your notes. If some notes are already present, i will switch over to the other buffer.

Typing q in the DocView will quit interleave-mode.

To customize Interleave you can use the customization interface with

M-x customize-group RET interleave 

Multi-PDF Notes

Normally the notes/PDF relation is bidirectional. This means for every PDF there is one notes file. But it is also possible to keep a single notes file for multiple PDFs.

To keep a multi-PDF notes file create a headline for each PDF and set the INTERLEAVE_PDF property on it.

* Notes for CS103
  :PROPERTIES:
  :INTERLEAVE_PDF: cs103.pdf
  :END:

To use interleave-mode on this headline, simply place your point onto the headline an type

M-x interleave-mode RET

to start interleave-mode for this subtree.

Notice that you have to decide. It is not possible to keep multi-PDF and normal notes in the same file.

Idiosyncrasies

Interleave does some automated buffer switching for you, especially at start up. This may affect some hooks (see Issue #40). This means that even when you start interleave-mode in an Org buffer the hooks may be run in the newly established DocView=/=PdfView buffer.

Interleave provides the variables interleave-org-buffer and interleave-pdf-buffer to access either the Org buffer (the buffer with your notes) or the PDF buffer respectively. Please specify the buffer you’d like to use explicitly, like this:

(defun my-interleave-hook ()
  (with-current-buffer interleave-org-buffer
    ;; Do something meaningful here
    (message "Hi there. I'm in the org buffer!")))

(add-hook 'interleave-mode-hook #'my-interleave-hook)

Key-bindings

KeyDescriptionAvailability
nGo to next pagePDF Buffer
pGo to previous pagePDF Buffer
SPCScroll upPDF Buffer
S-SPCScroll downPDF Buffer
DELScroll downPDF Buffer
iInsert new notes/go to notesPDF Buffer
qQuit interleave-modePDF Buffer
M-.Go to page of currently visible notesPDF and Org Buffer
M-pGo to the page of the previous set of notesPDF and Org Buffer
M-nGo to the page of the next set of notesPDF and Org Buffer

Footnotes

[fn:blumbach] For some more information see: http://takingnotenow.blogspot.de/2008/07/note-keeping-in-1786-blumenbachs-system.html

More Repositories

1

cl-change-case

Convert strings between camelCase, param-case, snake_case and more
Common Lisp
23
star
2

ql-https

HTTPS support for Quicklisp via curl
Common Lisp
10
star
3

german-holidays

German holidays for Emacs calendar
Emacs Lisp
10
star
4

quicklisp-docs

Generate documentation for Quicklisp installed libraries.
Common Lisp
5
star
5

zel

Access frecent files easily
Emacs Lisp
5
star
6

cl-ohm

An object-hash mapping for Redis in Common Lisp
Common Lisp
4
star
7

cl-manager

A Common Lisp Package/System/Project/Library Manager
Common Lisp
3
star
8

analyzer

Static Analysis of Test Specifications for Test-driven Reuse
Common Lisp
3
star
9

docker-debian-sbcl

SBCL Docker Image
Common Lisp
3
star
10

emacs.d

My Emacs configuration
YASnippet
3
star
11

clutils

Personal Common Lisp utilities
Common Lisp
2
star
12

nancy

A (very) thin web wrapper
Common Lisp
2
star
13

docker-sbcl-ocicl

Running ocicl in docker with SBCL
Dockerfile
1
star
14

concurrency-comparisons

Common Lisp
1
star
15

senf

secured env files
Shell
1
star
16

misc_sripts

A collection of misc. utilites
1
star
17

TocBuilder

Part of the Android TextBook App Developer Tools
Java
1
star
18

cl-release

Utility to make releases with CL in git easier
Shell
1
star
19

r13-team-324

OEvis - Semantic Bookmarking Tool
Ruby
1
star
20

vagrant-ansible-sbcl

Vagrant VM for Web Dev with SBCL and RethinkDB
1
star
21

js-test-env

Simple setup for testing javascript with QUnit and Sinon.js
JavaScript
1
star
22

project-loader

A utility to load Quicklisp systems without Quicklisp itself.
Common Lisp
1
star
23

iliaslight

Part of my Bachelor Thesis
Ruby
1
star
24

compilerbau-2014

Ãœbungsaufgabe 2014
Java
1
star