Tryb wyświetlania Rozmiar obrazu wbudowanego w trybie org


11

Chciałbym wyświetlić obraz org w trybie org (w emacsie) o szerokości 400, ale tak naprawdę zawsze pokazuje go jako oryginalny rozmiar.

Moje kroki jak poniżej:

  1. Zainstaluj ImageMagick za pomocą poniższego polecenia: sudo port install imagemagick
  2. Zainstaluj emacsa za pomocą poniższego polecenia: brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick Potem sprawdzam, wersja emacsa jest GNU Emacs 26.0.50.1, ale (image-type-available-p 'imagemagick)wynik jestnil

  3. Edytuj ~ / .emacs.d / init.el, aby dodać poniższy wiersz: (setq org-image-actual-width nil)

  4. Napisz poniższy kod organizacji w test.org:

#+ATTR_ORG: :width 400 [[file:test.png]] 5. Po uruchomieniu C-c C-x C-vobraz nie wyświetla się jako 400, ale rzeczywisty rozmiar.


Aby zainstalować graficzny Emacs (Emacs.app) z obsługą ImageMagick przez MacPorts, użyj sudo port install emacs-app +imagemagick. Wygląda na to, że używasz MacPorts do instalacji zależności dla HomeBrew, nie mam pojęcia, czy to powinno działać. i nie ma potrzeby ręcznego instalowania zależności, to zadanie menedżera pakietów. Poza tym używanie dwóch menedżerów pakietów jednocześnie jest zwykle złym pomysłem i niepotrzebnym.
xuchunyang

@xuchunyang Dokładnie, po ponownej instalacji aplikacji emacs z portem, działa teraz dobrze. Dzięki
chrząszcz

Odpowiedzi:


6

Wersja Imagemagick nie pasuje.

Zmień polecenie instalacji naparu w następujący sposób:

brew install emacs --with-cocoa --with-gnutls --with-dbus --with-librsvg --with-imagemagick@6 --with-mailutils --devel

Następnie biegnij, brew info emacsaby sprawdzić, czy magicmagick jest w porządku!

emacs: stable 25.1 (bottled), devel 25.2-rc2, HEAD
GNU Emacs text editor
https://www.gnu.org/software/emacs/
/usr/local/Cellar/emacs/25.2-rc2 (4,051 files, 120.1MB) *
  Built from source on 2017-03-11 at 16:56:47 with: --with-cocoa --with-gnutls --with-dbus --with-librsvg --with-imagemagick@6 --with-mailutils
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/emacs.rb
==> Dependencies
Build: pkg-config ✔
Optional: dbus ✔, gnutls ✔, librsvg ✔, imagemagick@6 ✔, mailutils ✔

Jeśli zaznaczono imagemagick @ 6, wszystko powinno być w porządku.

W emacsie uruchom poniższe polecenie, aby sprawdzić, czy pakiet imagemagick jest dostępny:

*** Welcome to IELM ***  Type (describe-mode) for help.
ELISP> (image-type-available-p 'imagemagick)
t
ELISP>

8
(setq org-image-actual-width 400)

powinien wykonać pracę. Dokumentacja zmiennej ( C-h v org-image-actual-width RET) podaje więcej szczegółów:

org-image-actual-width to zmienna zdefiniowana w 'org.el'. Jego wartość wynosi t

Dokumentacja: Czy powinniśmy używać faktycznej szerokości obrazów podczas ich wstawiania?

Po ustawieniu na t zawsze używaj szerokości obrazu.

Po ustawieniu liczby użyj funkcji imagemagick (jeśli jest dostępna), aby ustawić szerokość obrazu na tę wartość.

Po ustawieniu liczby na liście, spróbuj uzyskać szerokość z dowolnego słowa kluczowego # + ATTR. *, Jeśli pasuje do specyfikacji szerokości, takiej jak

#+ATTR_HTML: :width 300px

i powróć do tego numeru, jeśli nie zostanie znaleziony.

Po ustawieniu na zero spróbuj uzyskać szerokość ze słowa kluczowego # + ATTR. * I wróć do pierwotnej szerokości, jeśli nie zostanie znaleziona.

Wymaga to Emacsa> = 24,1, build (sic) z obsługą imagemagick.


To nie brzmi jak odpowiedź, ale może być komentarzem.
JeanPierre

To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienia, zostaw komentarz pod postem. - Z recenzji
JeanPierre

Czy to jest lepsze?
NickD

5

W kroku 2

(image-type-available-p 'imagemagick)

powinien wrócić t. niljest niedostępny. Być może powodem, dla którego dostajesz, niljest to, że ścieżki z instalacji Macports programu imagemagick nie są pobierane przez instalację parzenia emacs. Czy zauważyłeś jakieś błędy kompilacji w tym celu?

W każdym razie dostosuj ścieżkę do imagemagick ręcznie lub zainstaluj ją również z naparu. Instalacja zarówno imagemagick, jak i emacs z Macports działa dla mnie.


Dokładnie, po odinstalowaniu emacsa i ponownym zainstalowaniu go z portem, działa teraz dobrze.
beetlej
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.