I need to make this configurable... Can you send me a PDF in which this happens?
On Tue, 8 Jun 2021, 10:24 Erich Ruff, <erich_r...@t-online.de> wrote: > > Hi Eduardo, > > thank you for your quick answer and the code! > > It works very well and the 2nd solution is magic. > > But it pops up a new problem. > > Coetzee99.pdf gets converted to text w/o problems. > > But I tested with different other pdfs and I always get text with > ESC-sequences loaded in an emacs-buffer as raw text. > > using pdftotext with '-layout -enc Latin1' or 'UTF-8' renders the pdf to > text w/o ESQ-sequences - but the internal conversion with eev produces > the same text with \351 etc. > > # (find-schlkpage 14 "Es k\366nnen aber Umst\344nde eintreten") > # (find-schlktext 14 "Es k\366nnen aber Umst\344nde eintreten") > # (find-schlkpage (+ 0 14) "Es k\366nnen aber Umst\344nde eintreten") > # (find-schlktext (+ 0 14) "Es k\366nnen aber Umst\344nde eintreten") > > for txt and pdf the link with \366 works. > > Corrected to --> "Es können" leaves only pdf working. > > Is there a way to instruct emacs to load the converted text in an > utf-8-buffer w/o a lot of \xxx. ? > > > > On Mo 07 Jun 2021 at 23:00, Eduardo Ochs <eduardoo...@gmail.com> wrote: > > > Hi Erich, > > > > here are two solutions. This one is the obvious one: > > > > > > --snip--snip-- code of the first solution: --snip--snip-- > > > > ;; Skel: (find-code-xxx-links "tla-pdf" "tla fnamepdf" "") > > ;; > > (defun code-tla-pdf (tla fnamepdf) > > (eval (ee-read (ee-code-tla-pdf tla fnamepdf)))) > > (defun find-code-tla-pdf (tla fnamepdf) > > (find-estring-elisp (ee-code-tla-pdf tla fnamepdf))) > > (defun ee-code-tla-pdf (tla fnamepdf) > > (ee-template0 "\ > > ;; (find-code-tla-pdf \"{tla}\" \"{fnamepdf}\") > > ;; (code-tla-pdf \"{tla}\" \"{fnamepdf}\") > > > > (defun {tla}p (&optional page &rest rest) > > (interactive) > > (find-pdf-page \"{fnamepdf}\" page)) > > (defun {tla}t (&optional page &rest rest) > > (interactive) > > (apply 'find-pdf-text \"{fnamepdf}\" page rest)) > > ")) > > > > ;; Compare: > > ;; (find-code-tla 'coe "~/Coetzee99.tex") > > ;; (find-code-tla-pdf 'coe "~/Coetzee99.pdf") > > > > ;; Try: > > ;; (code-tla-pdf 'coe "~/Coetzee99.pdf") > > ;; (coep 1) > > ;; (coet) > > ;; (coet "LECTURE I") > > > > --snip--snip-- end of the first solution --snip--snip-- > > > > > > > > Do you know how to use this? I use it all the time... > > > > (find-pdf-like-intro "10. Generating a pair with the page number") > > > > The first solution doesn't support that. Here is a solution that SORT > > OF supports it: > > > > > > > > --snip--snip-- code of the second solution: --snip--snip-- > > > > ;; Skel: (find-code-xxx-links "tla-pdf" "tla fnamepdf offset" "") > > ;; > > (defun code-tla-pdf (tla fnamepdf &optional offset) > > (eval (ee-read (ee-code-tla-pdf tla fnamepdf offset)))) > > (defun find-code-tla-pdf (tla fnamepdf &optional offset) > > (find-estring-elisp (ee-code-tla-pdf tla fnamepdf offset))) > > (defun ee-code-tla-pdf (tla fnamepdf offset) > > (let ((offsetstr (if offset (format " %d" offset) ""))) > > (ee-template0 "\ > > ;; (find-code-tla-pdf \"{tla}\" \"{fnamepdf}\"{offsetstr}) > > ;; (code-tla-pdf \"{tla}\" \"{fnamepdf}\"{offsetstr}) > > > > (code-pdf-page \"{tla}\" \"{fnamepdf}\") > > (code-pdf-text \"{tla}\" \"{fnamepdf}\"{offsetstr}) > > > > (defalias '{tla}p 'find-{tla}page) > > (defalias '{tla}t 'find-{tla}text) > > "))) > > > > > > ;; Try: > > ;; (find-code-tla-pdf 'coe "~/Coetzee99.pdf") > > ;; (find-code-tla-pdf 'coe "~/Coetzee99.pdf" -110) > > ;; (code-tla-pdf 'coe "~/Coetzee99.pdf" -110) > > ;; > > ;; Then links like these should work, > > ;; (coep) > > ;; (coep 3) > > ;; (coet 3 "LECTURE I") > > ;; > > ;; and this too... run the two sexps below and then type `M-h M-p' > > ;; in the buffer with the PDF converted to text: > > ;; > > ;; (kill-new "wrong thoughts") > > ;; (coet (+ -110 127) "wrong thoughts") > > ;; > > ;; you should get a temporary buffer containing four links like these > > ;; ones (and other stuff): > > ;; > > ;; (find-coepage 17 "wrong thoughts") > > ;; (find-coetext 17 "wrong thoughts") > > ;; (find-coepage (+ -110 127) "wrong thoughts") > > ;; (find-coetext (+ -110 127) "wrong thoughts") > > ;; > > ;; in more realistic examples you would mark a region of the PDF > > ;; converted to text, and type `M-w M-h M-p'... > > > > --snip--snip-- end of the second solution --snip--snip-- > > > > > > Can you try it and tell me if it makes sense? > > [[]] =), > > Eduardo > > > > On Mon, 7 Jun 2021 at 15:00, Erich Ruff <erich_r...@t-online.de> wrote: > >> > >> > >> Hi Eduardo, hi list, > >> > >> the new approach to select the pdf-viewer with > >> (defalias 'find-pdf-page 'find-xpdf-page) > >> (defalias 'find-pdf-page 'find-pdftools-page) > >> (defalias 'find-pdf-page 'find-evince-page) > >> works great. > >> > >> irritating (and tedious) is, that I have to rename in the tla all pdfs > >> to *.tex to point to the pdf. > >> > >> (code-tla 'spe "/mnt/phil/speiser/speiser-xxx-yyyy.tex") > >> > >> calling --> spei does nothing > >> > >> calling --> speip opens in the preselected pdf viewer > >> > >> > >> defining a tla for the pdf: > >> > >> (code-tla 'spex "/mnt/phil/speiser/speiser-xxx-yyyy.pdf") > >> > >> --> see the x in spe > >> opens the pdf in emacs pdf-view and not in the previous selected viewer. > >> > >> Is it possible to leave the suffix and open then pdf in presel. viewer? > >> > >> > >> Erich > >> >