Размер отображения встроенного изображения в режиме орг.


11

Я хочу отобразить встроенное изображение в режиме org (в emacs) шириной 400, но на самом деле оно всегда отображается как оригинальный размер.

Мои шаги, как показано ниже:

  1. Установите ImageMagick с помощью следующей команды: sudo port install imagemagick
  2. Установите emacs с помощью следующей команды: brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick Затем я проверяю, версия emacs есть GNU Emacs 26.0.50.1, но (image-type-available-p 'imagemagick)результатnil

  3. Отредактируйте ~ / .emacs.d / init.el, чтобы добавить строку ниже: (setq org-image-actual-width nil)

  4. Напишите ниже код организации в test.org:

#+ATTR_ORG: :width 400 [[file:test.png]] 5. После запуска C-c C-x C-vизображение не отображается как 400, но фактический размер.


Чтобы установить графический Emacs (Emacs.app) с поддержкой ImageMagick через MacPorts, используйте sudo port install emacs-app +imagemagick. Похоже, вы используете MacPorts для установки зависимости для HomeBrew, я понятия не имею, должно ли это работать. и вообще нет необходимости устанавливать зависимость вручную, это работа вашего менеджера пакетов. Кроме того, использование двух менеджеров пакетов одновременно является плохой идеей и ненужным.
xuchunyang

@xuchunyang Точно, после переустановки emacs-app с портом, он теперь работает нормально. Спасибо
beetlej

Ответы:


6

Версия Imagemagick не совпадает.

Измените команду установки brew, как показано ниже:

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

Затем бегите, brew info emacsчтобы проверить, хорошо ли волшебство!

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 ✔

Если проверено imagemagick @ 6, то все должно быть хорошо.

В emacs выполните команду ниже, чтобы проверить, доступен ли пакет imagemagick:

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

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

должен сделать работу. Документация по переменной ( C-h v org-image-actual-width RET) дает более подробную информацию:

org-image-actual-width - это переменная, определенная в 'org.el'. Его значение т

Документация: должны ли мы использовать фактическую ширину изображений при их вставке?

Когда установлено значение t, всегда используйте ширину изображения.

Когда установлено число, используйте imagemagick (если доступно), чтобы установить ширину изображения в это значение.

Если задано число в списке, попробуйте получить ширину из любого ключевого слова # + ATTR. *, Если оно соответствует спецификации ширины, например

#+ATTR_HTML: :width 300px

и отступить на этот номер, если ничего не найдено.

Если установлено значение nil, попробуйте получить ширину из ключевого слова # + ATTR. * И вернуться к исходной ширине, если ничего не найдено.

Для этого требуется Emacs> = 24.1, build (sic) с поддержкой imagemagick.


Это не похоже на ответ, но может быть комментарием.
ЖанПьер

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом. - Из обзора
JeanPierre

Это лучше?
NickD

5

На вашем шаге 2,

(image-type-available-p 'imagemagick)

должен вернуться t. nilдля недоступен. Возможно, причина, по которой вы получаете, nilзаключается в том, что пути от установки imagemagick от macports не определяются установкой bma в emacs. Вы заметили какие-либо ошибки компиляции на этот счет?

В любом случае, отрегулируйте путь к imagemagick вручную или также установите его из Brew. Установка и imagemagick, и emacs из macports работает для меня.


Точно, после удаления emacs и переустановки с портом, он теперь работает нормально.
beetlej
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.