Größe der Inline-Bildanzeige im Organisationsmodus

11

Ich möchte ein Inline-Bild im Organisationsmodus (in Emacs) mit einer Breite von 400 anzeigen, aber tatsächlich wird es immer als Originalgröße angezeigt.

Meine Schritte wie folgt:

  1. Installieren Sie ImageMagick mit dem folgenden Befehl: sudo port install imagemagick
  2. Installieren Sie Emacs mit dem folgenden Befehl: brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick Dann überprüfe ich es, Emacs-Version ist GNU Emacs 26.0.50.1, aber (image-type-available-p 'imagemagick)Ergebnis istnil

  3. Bearbeiten Sie ~ / .emacs.d / init.el, um die folgende Zeile hinzuzufügen: (setq org-image-actual-width nil)

  4. Schreiben Sie den folgenden Organisationscode in test.org:

#+ATTR_ORG: :width 400 [[file:test.png]] 5. Nach dem Ausführen C-c C-x C-vwird das Bild nicht als 400 angezeigt, sondern als tatsächliche Größe.

beetlej
quelle
Verwenden Sie zum Installieren von Grafik-Emacs (Emacs.app) mit ImageMagick-Unterstützung über MacPorts sudo port install emacs-app +imagemagick. Es sieht so aus, als würden Sie MacPorts verwenden, um die Abhängigkeit für HomeBrew zu installieren. Ich habe keine Ahnung, ob es funktionieren sollte. und es besteht keine Notwendigkeit, die Abhängigkeit manuell zu installieren, es ist die Aufgabe Ihres Paketmanagers. Außerdem ist die Verwendung von zwei Paketmanagern gleichzeitig normalerweise eine schlechte Idee und unnötig.
Xuchunyang
@xuchunyang Genau nach der Neuinstallation der Emacs-App mit Port funktioniert es jetzt einwandfrei. Danke
Beetlej

Antworten:

6

Imagemagick-Version stimmt nicht überein.

Ändern Sie den Befehl zur Brauinstallation wie folgt:

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

Dann brew info emacsrenne, um zu überprüfen, ob magicmagick in Ordnung ist!

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 ✔

Wenn imagemagick @ 6 aktiviert ist, sollte alles in Ordnung sein.

Führen Sie in emacs den folgenden Befehl aus, um zu überprüfen, ob das imagemagick-Paket verfügbar ist:

*** Welcome to IELM ***  Type (describe-mode) for help.
ELISP> (image-type-available-p 'imagemagick)
t
ELISP>
Glück1928
quelle
6
(setq org-image-actual-width 400)

sollte den Job machen. Die Dokumentation der Variablen ( C-h v org-image-actual-width RET) enthält weitere Details:

org-image-actual-width ist eine in 'org.el' definierte Variable. Sein Wert ist t

Dokumentation: Sollten wir beim Inlining die tatsächliche Breite der Bilder verwenden?

Bei Einstellung auf t immer die Bildbreite verwenden.

Wenn Sie eine Zahl festgelegt haben, verwenden Sie imagemagick (falls verfügbar), um die Breite des Bildes auf diesen Wert einzustellen.

Wenn Sie eine Zahl in einer Liste festlegen, versuchen Sie, die Breite von einem beliebigen Schlüsselwort # + ATTR. * Abzurufen, wenn es mit einer Breitenspezifikation wie z

#+ATTR_HTML: :width 300px

und greifen Sie auf diese Nummer zurück, wenn keine gefunden wird.

Wenn Sie auf Null gesetzt sind, versuchen Sie, die Breite aus einem Schlüsselwort # + ATTR. * Abzurufen und auf die ursprüngliche Breite zurückzugreifen, wenn keine gefunden wird.

Dies erfordert Emacs> = 24.1, Build (sic) mit Imagemagick-Unterstützung.

NickD
quelle
Dies klingt nicht nach einer Antwort, könnte aber ein Kommentar sein.
JeanPierre
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. - Von der Überprüfung
JeanPierre
Ist das besser?
NickD
4

In Ihrem Schritt 2

(image-type-available-p 'imagemagick)

sollte zurückkehren t. nilist für nicht verfügbar. Vielleicht der Grund, den Sie bekommennil die Pfade von der Macport-Installation von imagemagick nicht von der Brau-Installation von Emacs erfasst werden. Haben Sie diesbezügliche Kompilierungsfehler bemerkt?

Passen Sie in jedem Fall den Pfad zum Imagemagick manuell an oder installieren Sie ihn auch vom Gebräu. Die Installation von Imagemagick und Emacs von Macports funktioniert für mich.

Emacs Benutzer
quelle
Genau nach der Deinstallation von Emacs und der Neuinstallation mit Port funktioniert es jetzt einwandfrei.
Beetlej