chế độ hiển thị hình ảnh nội tuyến org


11

Tôi muốn hiển thị hình ảnh nội tuyến chế độ org (tính bằng emacs) với chiều rộng 400 nhưng thực tế nó luôn hiển thị nó ở kích thước ban đầu.

Các bước của tôi như dưới đây:

  1. Cài đặt ImageMagick bằng lệnh dưới đây: sudo port install imagemagick
  2. Cài đặt emacs với lệnh dưới đây: brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick Sau đó, tôi kiểm tra nó, phiên bản emacs là GNU Emacs 26.0.50.1, nhưng (image-type-available-p 'imagemagick)kết quả lànil

  3. Chỉnh sửa ~ / .emacs.d / init.el để thêm dòng dưới đây: (setq org-image-actual-width nil)

  4. Viết mã org bên dưới trong test.org:

#+ATTR_ORG: :width 400 [[file:test.png]] 5. Sau khi chạy C-c C-x C-v, Hình ảnh không được hiển thị là 400 nhưng kích thước thực tế.


Để cài đặt Emacs đồ họa (Emacs.app) với sự hỗ trợ ImageMagick qua MacPorts, hãy sử dụng sudo port install emacs-app +imagemagick. Có vẻ như bạn đang sử dụng MacPorts để cài đặt phụ thuộc cho HomeBrew, tôi không biết nó có hoạt động không. và hoàn toàn không cần phải cài đặt phụ thuộc thủ công, đó là công việc của người quản lý gói của bạn. Bên cạnh đó, sử dụng hai trình quản lý gói tại một thời điểm thường là một ý tưởng tồi và không cần thiết.
xuchunyang

@xuchunyang Chính xác, sau khi cài đặt lại ứng dụng emacs với cổng, nó hoạt động tốt ngay bây giờ. Cảm ơn
beetlej

Câu trả lời:


6

Phiên bản Imagemagick không khớp.

Thay đổi lệnh cài đặt brew như sau:

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

Sau đó chạy brew info emacsđể kiểm tra xem Magicmagick có ổn không!

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 ✔

Nếu hình ảnh @ 6 được chọn, thì mọi thứ sẽ ổn.

Trong emacs, chạy bên dưới lệnh để kiểm tra xem gói hình ảnh có sẵn không:

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

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

nên làm công việc. Tài liệu của biến ( C-h v org-image-actual-width RET) cung cấp thêm chi tiết:

org-image-fact-width là một biến được định nghĩa trong 'org.el'. Giá trị của nó là t

Tài liệu: Chúng ta có nên sử dụng chiều rộng thực tế của hình ảnh khi nội tuyến chúng không?

Khi được đặt thành t, luôn luôn sử dụng chiều rộng hình ảnh.

Khi được đặt thành một số, hãy sử dụng hình ảnh tưởng tượng (khi khả dụng) để đặt chiều rộng của hình ảnh thành giá trị này.

Khi được đặt thành một số trong danh sách, hãy thử lấy độ rộng từ bất kỳ từ khóa # + ATTR. * Nếu nó phù hợp với thông số chiều rộng như

#+ATTR_HTML: :width 300px

và rơi trở lại vào số đó nếu không tìm thấy.

Khi được đặt thành không, hãy thử lấy chiều rộng từ từ khóa # + ATTR. * Và quay lại chiều rộng ban đầu nếu không tìm thấy.

Điều này đòi hỏi Emacs> = 24.1, xây dựng (sic) với sự hỗ trợ của fantemagick.


Điều này không giống như một câu trả lời, nhưng có thể là một nhận xét.
JeanPierre

Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. - Từ đánh giá
JeanPierre

Điều đó có tốt hơn không?
NickD

5

Trong bước 2 của bạn,

(image-type-available-p 'imagemagick)

nên trở về t. nillà không có sẵn. Có lẽ lý do bạn nhận được nillà các đường dẫn từ cài đặt macports của fantemagick không được chọn bởi cài đặt brew của emacs. Bạn đã nhận thấy bất kỳ lỗi biên dịch cho hiệu ứng đó?

Trong mọi trường hợp, điều chỉnh đường dẫn đến hình ảnh thủ công hoặc cài đặt nó từ brew. Cài đặt cả hình ảnh và emacs từ macports hoạt động với tôi.


Chính xác, sau khi gỡ cài đặt emacs và cài đặt lại với cổng, bây giờ nó hoạt động tốt.
beetlej
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.