Skip to content
This repository has been archived by the owner on May 5, 2022. It is now read-only.

dalanicolai/pdf-continuous-scroll-mode.el

Repository files navigation

pdf-continuous-scroll-mode.el

A pdf-tools extension that implements continuous scroll.

THIS PACKAGE IS DEPRECATED

A better implementation is provided by the image-roll package.

Demo

pdf-continuous-scroll-demo.gif

It includes keybindings to just work also on Spacemacs.

Development notes can be found in the wiki section.

Requirements

To use the new pdf-continuous-scroll-mode, your Emacs must have been compiled with SVG support (the cleaner version of my pdf-tools fork eliminates this requirement).

However, compiling Emacs generally is very easy. Just make sure you have the librsvg development (dev/devel) library installed before compiling.

Installation

Note: If, for some reason, you prefer to use the previous two buffer solution then you could just download and load the script from e.g. this previous commit.

Note: If you are using git to update the package, then you might want to use ‘reset –hard’, as I am frequently using ‘push –force’.

To keep this package updated it is recommended to install it using a Quelpa recipe. Spacemacs users can install the package (using Quelpa) by adding the following lines to the list of additional packages in their .spacemacs file:

(pdf-continuous-scroll-mode :location (recipe
                                       :fetcher github
                                       :repo "dalanicolai/pdf-continuous-scroll-mode.el"))

Then just load the package using use-package (if you’d like to defer loading), require or just M-x load-library.

Unlike the previous two-buffer implementation, currently this implementation does not add an option for toggling the functionality.

You can set the scroll step size via the customizable variable book-scroll-fraction.

Comments

  • Currently the redisplay functionality does not work correctly yet (e.g.

splitting buffers does not work correctly yet. Although in Spacemacs the issues seem to ‘fix themselves’ after just doing some scrolling, in vanilla Emacs this trick does not seem to work).

As it is not trivial to find out how this functionality works exactly, help or donations are very welcome.

  • isearch functionality gets broken. However, pdf-occur does work, just without the highlighting because that makes use of isearch functionality.

Contribute

As investigating how to get things right takes me a lot of time (both doc-view and pdf-tools are quite complex packages, and they are almost undocumented unfortunately). It really took me weeks to partly unravel how these packages work. As I am the extreme opposite of being rich, donations are very welcome (you could also have a look at my other packages on my github profile page, for example the new alternative pdf-server that adds extra annotation features and support for EPUB, and some more document types, to pdf-tools).

Comment: Personally, I think the improved functionality quite much increases the value of Emacs for research/study purposes

Of course if you know some elisp you could also help investigating/fixing issues yourself. To save you a lot of time, you can read the ‘development notes’ in the wiki section.

Any feedback is welcome (possibly by opening an issue in the repo).

Keybindings

EmacsSpacemacsFunction
C-njpdf-continuous-scroll-forward
C-pkpdf-continuous-scroll-backward
nJpdf-continuous-next-page
pKpdf-continuous-previous-page
M-<g gpdf-cscroll-first-page
M->Gpdf-cscroll-last-page
Qqpdf-cscroll-kill-buffer-and-windows
C-c C-a lSPC m a l (, a l)pdf-cscroll-annot-list-annotations

Comments

Related: double page layout

In this comment the user apnewberry posted code to realize a double page layout

Related projects

Extend pdf-tools annotation capabilities via pymupdf. The new, alternative, pdf-tools server, will provide the same functionality directly as a pdf-tools feature (including possibility for scripting).

Show djvu annotations within Emacs (extending djvu.el, and improving djvu2.2l). There is also a Spacemacs djvu layer which additionally implements smooth scrolling in djvu.

The best way to create and attach Table of contents to pdf and djvu documents. There is also a toc-layer for Spacemacs

A super nice calibre frontend within Emacs

handy or fun Emacs lisp functions https://github.com/dalanicolai/dala-emacs-lisp

For example I like the elisp raytracer

About

A pdf-tools extension that provides continuous scrolling functionality

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •