6
votes

Faire une vue de document dans Emacs Fit à la largeur de la page

J'essaie d'utiliser la vue de document dans Emacs pour lire les PDFS, mais je ne peux pas comprendre comment le faire se comporter de la même manière à la commande "ajustée à largeur" ​​de nombreux lecteurs PDF ont. Y a-t-il une façon interne de faire cela?


4 commentaires

M-x Doc-View-Fit-Width-to-Fenêtre (lié à w Par défaut dans le mode DOCVIEW) ne fais pas ce que vous voulez?


Merci de demander à cela - cela m'a fait regarder quelle proposition DOC-View proposée (via "Mode décrivant") - Fit Largeur, Fit page, Afficher comme texte.


@Chris - ça marche génial, merci! Y a-t-il un crochet pour lorsque la vue Document démarre pour que je puisse lier cette commande?


@ Mrsinister13, malheureusement, je ne peux pas trouver un bon moyen de le faire. Il y a doc-vide-mode-crochet , mais exécutant Doc-View-Fit-Width-to-Fenêtre de ce crochet ne semble rien faire d'utile. Je suis sûr que cela est possible avec plus de connaissances élistiques que j'ai ...


4 Réponses :


1
votes

Cela fonctionne pour moi:

(defadvice doc-view-display (after fit-width activate)
  (doc-view-fit-width-to-window))


6 commentaires

Ah bon? Quelle est votre version Emacs? Je ne peux toujours pas le faire travailler sous Emacs 24.3 sur Ubuntu ...


En fait, cela semble fonctionner sur Redisplay , par ex. Si vous C-C C-C en mode édition, puis en arrière. Mais cela ne fonctionne pas pour moi lors de l'affichage initial.


Cela me donne toujours le même comportement: cela fonctionne sur Redisplay, mais pas sur la charge initiale. Sur la charge initiale, je reçois Erreur de spécification du mode fichier: (Erreur "Spécification d'image non valide: nil") .


Pouvez-vous activer le débogage par M-x bascule-débogueur-error et montrer la pile? J'ai eu cette erreur quand j'ai essayé avec un crochet, mais avec des conseils, je ne peux pas le reproduire. Le raccord fonctionne simplement sur la charge initiale aussi.


Oui, je reçois Cette trace de pile . Utilisation de emacs -q , EMACS version 24.3.50.1 sur Ubuntu 14.04.


Sur EMACS 24, il est recommandé d'utiliser conseil-ajouter au lieu de défadvise . Quelqu'un a-t-il réussi à faire ce travail?



5
votes

Le snippet suivant définit un nouveau mode mineur Doc-View-Autofit-Mode , que j'ai activé ci-dessous à l'aide de Doc-View-Mode-Hook . Cela fonctionne pour moi sur Emacs 24.3 sur Ubuntu 14.04, même au point de redimensionner le zoom lorsque je redimensionnez la fenêtre!

(Il existe généralement un délai de redimensionnement court grâce à Doc-View-Autofit-Timer-Start , mais je suis heureux de vivre avec ceci.)

Je ne prends aucun crédit pour la solution; J'ai trouvé ce code sur la liste de diffusion EMACS-Devel . xxx


1 commentaires

Utilisation de la solution ci-dessus, j'ai ajouté les deux définitions suivantes: (Defvar Doc-View-Autofit-Timer Nil) et (Defvar Doc-View-Autofit-Type-Type)



1
votes

Ce qui suit est une légère modification de la réponse de CHRIS - Il fournit une compatibilité avec des fonctions telles que Recherche-file-window-window code> - par exemple, lorsque la fenêtre sélectionnée code> est différent de celui d'affichage du *. PDF code> fichier.

(add-hook 'doc-view-mode-hook 'doc-view-autofit-mode t)


0 commentaires