- In essence, this is close to the original weirdNox (Gonçalo Santos) version that you find on MELPA with the refactoring that c1-g implemented
- djvu and epub support have also been advanced by c1-g, but I have not tested any of that code.
- The main new feature for PDF users is 2-D precise notes (introduced by
Ahmed Shariff, which can be inserted in two ways:
- “Select-precise”: selecting text in the pdf, followed by
M-i
. c1-g changed the position format to use the entire list returned byedges
. This breaks the other way of inserting precise notes. On dmitrym’s fork, select-precise notes auto-fill the note title with the selected text. This has deleterious side effects for other note insertion methods. - “Click-precise”:
M-i
, followed by clicking a location on the page.
- “Select-precise”: selecting text in the pdf, followed by
- Standard notes can also be inserted in two ways:
- “TAB”. Hitting tab creates a note title “Notes for page ##”, where the page number is inserted automatically over the octothorpes.
- “i”. The fundamental
org-noter-insert-note
. User types note title into the minibuffer.
- more consistent use of selected text in title or body
- more consistent primary default title (short-selected-text)
- more consistent secondary default title (“Notes for page <location>”)
- avoids having different notes with the same heading
In Stock org-noter, repeated TAB’s give multiple notes. In this refactor, new notes in the same location with the same title are note made. For now, precise notes are excepted from this rule.
- long quotes are enclosed in #+BEGIN_QUOTE…#+END_QUOTE
- short quotes are enclosed in “…” (LaTeX style)
- short/long are differentiated by customizable variable (default 80 char)
In Stock org-noter, long selections have more than 3 lines.
- NEW: multicolumn precise-notes defined by property NUM_COLUMNS
Implements issue #153 in weirdNox/org-noter by adding
org-noter-pdf-convert-to-location-cons
toorg-noter--convert-to-location-cons-hook
, where a “virtual” vertical location is calculated by dividing the page into equal width columns. This is not a perfect solution, and is probably best for low-integer numbers of columns, since the page is just divided evenly into NUM_COLUMNS vertical strips.
insert-note i | precise note M-i | no-questions C-i, TAB | |
---|---|---|---|
title prompt? | Y | Y | N |
default title 1 | prior note by location | selected-text | N/A |
default title 2 | “Notes for page #” | “Notes for page # x y” | “Notes for page #” |
new note | with new title | always | always |
body | selected-text on existing note | selected-text (> 3 lines) | none |
insert-note | precise note | no-questions | |
---|---|---|---|
title prompt? | Y | Y | N |
default title 1 | short-selected-text | short-selected-text | short-selected-text |
default title 2 | “Notes for page #” | “Notes for page # x y” | “Notes for page #” |
new note | with new title | always | with new title |
body | selected-text (not title) | selected-text (not title) | selected-text (not title) |
highlight selection? | ?? | ?? | ?? |
- Use pdf-view-current-pagelabel to use the page label instead of page in
default titles
May require altering the org-noter-X–pretty-print-location-hook(s).
- Profile org-noter – runs slow on large books (500+ pages) org-element-map is taking 85% of the CPU. Org 9.6 should have a faster way that Charlie Gordon explored.
- Bind M-<mouse-1> to precise-note, no-questions.
- Make background of arrow transparent (see org-noter–show-arrow)
- Dedicated insert-selected-text-into-page-note
- Internationalize precise notes to handle right-to-left languages.
- Sometimes (when?) M-p doesn’t pick up the containing note-at-point right away (or at all), requiring user to manually type in the (existing) title
- Navigating up from a nested precise note lands in the prior note at the
next level up (eg level 3 -> level 2). page notes behave properly.
[file:org-noter-core.el:2179]
(org-element-property :begin (org-noter--get-containing-element))
returns the begin of the element one level up when the current note location is of the form (<page#> <vpos> . <hpos>). It works properly for locations of the form (<page#> . <vpos>).It will be one of these two:
org-noter--get-containing-heading
org-noter--check-location-property
found bug: org-noter-core.el:1023 change test from integerp to numberp
org-noter--get-containing-property-drawer
my solution is compact, but too pdf-specific. need to sketch out Dmitry’s solution
- in precise-notes
- hook to make the highlight in the document
- hook to preserve highlight in org-noter file
- what contexts would HL be used?
- only precise? (current implementation)
- anytime (Peter’s implementation)
- how does this play with quoting text?
- HL Y/N
- Quoting Y/N
- No HL if Q
- No Q if HL