43

Switching from docview to pdf-tools happens 'automatically' when you install pdf-tools. Once you've done this, any time Emacs tries to open a pdf in Emacs, it will use pdf-tools. However, some packages will call out to the operating system, or use different config within Emacs, to decide if they should use Emacs or another program to open a pdf. So there is ...


17

Here's my setup, using auctex-11.89 and pdf-tools-20151224.1159: ;; Use pdf-tools to open PDF files (setq TeX-view-program-selection '((output-pdf "PDF Tools")) TeX-source-correlate-start-server t) ;; Update PDF buffers after successful LaTeX runs (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)


12

It can't do that. I have some ideas about how to implement this, but nothing has materialized yet.


7

I don't know if it is possible with pdf-tools, but it is possible with org-noter (https://github.com/weirdNox/org-noter). Here is a little demonstration: You call org-noter in the pdf buffer. Then use the org-noter-create-skeleton function to exoprt the highlights to the org-noter notes file.


6

C-M-s to invoke isearch-forward-regexp then type aaa\|bbb, where aaa is your first word and bbb is your second. Alternatives, just C-s to invoke isearch, then press M-r to toggle to regex.


5

The solution is to run texdoc within an asynchronous process. The best way to do that is probably to use start-file-process instead of shell-command-to-string (which is a handy function for quick&dirty code when it's more expedient to write a little shell script than the corresponding Elisp code, but is otherwise better avoided in my experience). But ...


5

You need to set the variable pdf-misc-print-programm and possibly also pdf-misc-print-programm-args in the pdf-misc customisation group. They should be set to the system command that you will print your document with, and that program must be installed on your system. I use lpr, with the settings: '(pdf-misc-print-programm "/usr/bin/lpr") '(pdf-misc-...


5

At first, note that pdf-sync binds mouse-double-1 in the minor mode pdf-sync-minor-mode to pdf-sync-backward-search-mouse. So one should probably only bind it in a minor mode that can be deactivated again. The following code defines a minor mode pdf-sel-mode that binds mouse-double-1 to a new command pdf-sel-mouse. pdf-sel-mouse selects the word below the ...


4

Currently, this is not possible. Several feature requests have been submitted on the project's GitHub page: Feature request: continuous view #27, and more recently, Double pages layout #303. Apparently, this will not be fixed soon, quoting the package author in one of his replies to issue #27: Generally speaking, there are two issues: Large parts ...


4

I just set this up yesterday so all you need in your init file is. ;; to use pdfview with auctex (setq TeX-view-program-selection '((output-pdf "PDF Tools")) TeX-view-program-list '(("PDF Tools" TeX-pdf-tools-sync-view)) TeX-source-correlate-start-server t) ;; not sure if last line is neccessary ;; to have the buffer refresh after compilation (...


4

As @kaushalmodi's post notes, rotation is apparently an open issue for pdf-tools, and it's apparently trickier to implement than expected. Comments on github indicate that a workaround is to use pdftk. Either I missed the code, or it wasn't posted. So here's the code for a workaround until rotation gets implemented in pdf-tools. Two points: It requires ...


4

The reason you were asked for your password was that apt-get install was being invoked to install the additional software (poppler and friends) needed by pdf-tools. 1) Is this typical? No -- the vast majority of elisp packages do not attempt to automatically install other system requirements. It's not uncommon for other system software to be required by ...


3

Indirect buffer need special support, since their buffer-file-name is nil. But this is currently not implemented in pdf-tools. So it seems that the answer is no.


3

You need Emacs and cask installed before compiling pdf-tools. pacman -S python pacman -S git curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python git clone https://github.com/politza/pdf-tools cd pdf-tools/ export PATH=/home/<your username>/.cask/bin:/c/emax64/bin:$PATH make -s Even then the build process might fail once or twice....


3

I'll answer your actual problem of modifying the action for following links with pdf-tools. The customizable option pdf-links-browse-uri-function holds a function that receives a string with the uri as an argument and should take the appropriate action, e.g., open the link in a browser. You can define your own function and register it there with M-x ...


3

The solution at the bottom of this answer does not work anymore after https://github.com/emacs-mirror/emacs/commit/f646675cd1637948b2df2351a9666792ea8251ea The extra argument DEDICATE of window--display-buffer has been removed by that commit. Since window--display-buffer does consider display-buffer-mark-dedicated anyway maybe Emacs does like the OP wanted ...


3

TL;DR Go to path/to/.emacs.d/elpa/pdf-tools-xxx/build and run make clean to clean previously compiled contents manually. Restart emacs and let it build pdf-tools. Then, pdf-tools works again :) I have also met this problem. Follow the error message, we can tell the problem is epdfinfo cannot find the library it wants, which is libpoppler.so.101. After check ...


2

It looks like this feature needs to be added to pdf-tools. Someone has already posted an issue on this github requesting this enhancement: pdf-tools/Issue#89 From one comment, the workaround used by someone is to, use pdftk to rotate the PDF and save it to another file.


2

I guess one option is to add a .gitignore which prevents Git from tracking that executable. The downside of course is that it will force you to re-build that executable on every machine. Another is to set pdf-info-epdfinfo-program to a filename that includes some system info, such as (expand-file-name (concat "epdfinfo-" system-type) ...) and then to ...


2

Got it to work! Thanks guys! I added (add-to-list 'auto-mode-alist '("\\.pdf\\'" . doc-view-mode)) and (add-hook 'doc-view-mode-hook #'pdf-tools-install)


2

pdf-tools depends on the tablist package (which you can find on MELPA, for example). I can't help you with the second error.


2

Look into helm's persistent actions. Basically allows you to execute an action (like opening the PDF) without ending the helm session. If your helm-bibtex is setup to use pdf-tools for viewing PDFs (see helm-bibtex-pdf-open-function), you're basically good to go.


2

pdf-tools requires a separate executable, epdfinfo, in order to function. This executable is distributed as source code within the pdf-tools package. As such, it gets compiled whenever you install or update the pdf-tools package. This is convenient, as it provides one-step installation of the pdf-tools package, which includes code for installing the ...


2

After having pdf-tools installed (just once), put the following in your init file: (add-hook 'doc-view-mode-hook 'pdf-tools-install)


2

Maybe a bit late, but there is a fix that works for me, see here: https://github.com/politza/pdf-tools/issues/55 The second-to-last post has a fix which works for me. Place the functions somewhere in your Emacs config and bind them to C-M-v or C-M-S-v respectively. Not a pretty hack, but works so far for me - at least with pdf-tools.


2

Recapping discussion in comments: Pressing A e, for "in-emacs", opens the attachment in PDFView. o e works exactly the same.


2

Apart from choosing the right buffer, this function suggests the necessary steps. (defun pdf-search-forward (string) (interactive "sString: ") ;; Expect a pdf-window, else the highlighting won't work. (pdf-util-assert-pdf-window) ;; Get a list of matches, discarding all but the first. (let-alist (car (pdf-info-search-string "...


2

This is a variation of the question about preview the pdf in a split buffer beside the source. You can use the following Elisp code in your init file. If you do not have already two frames. The pdf view will open in a window beside the window with the LaTeX source. Select that window and type C-x 5 2 for make-frame-command. There will be a new frame ...


1

Have been able to resolve this at least for Emacs25.3 on Windows 10. In short, libpng dll's and zlib1.dll's need to be added to the bin subdirectory of the emacs folder. The version number and name of the libpng dll's needed can be obtained by evaluating (cdr (assq 'png dynamic-library-alist)) These can be obtained at https://mirror.freedif.org/GNU/emacs/...


1

Try setting the variable pdf-view-use-unicode-ligther to nil, according to the doc it speeds up the loading on systems where looking for the unicode symbols used in the mode line (⎙ and 🌙) takes a long time.


Only top voted, non community-wiki answers of a minimum length are eligible