ขนาดการแสดงภาพอินไลน์ของโหมดองค์กร


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. เขียนรหัส org ด้านล่างใน 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 install emacs --with-cocoa --with-gnutls --with-dbus --with-librsvg --with-imagemagick@6 --with-mailutils --devel

จากนั้นเรียกใช้brew info emacsเพื่อตรวจสอบว่า magicmagick ดี!

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>

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

ควรทำงาน เอกสารของตัวแปร ( C-h v org-image-actual-width RET) ให้รายละเอียดเพิ่มเติม:

org-image-real-width เป็นตัวแปรที่กำหนดใน 'org.el' ค่าของมันคือ t

เอกสารประกอบ: เราควรใช้ความกว้างของภาพจริงเมื่อทำการซับมันหรือไม่?

เมื่อตั้งค่าเป็น t ให้ใช้ความกว้างของภาพเสมอ

เมื่อตั้งค่าเป็นตัวเลขให้ใช้ imagemagick (เมื่อมี) เพื่อตั้งค่าความกว้างของภาพเป็นค่านี้

เมื่อตั้งค่าเป็นตัวเลขในรายการให้พยายามดึงความกว้างจากคีย์เวิร์ด # + ATTR. * ใด ๆ หากตรงกับข้อกำหนดความกว้างเช่น

#+ATTR_HTML: :width 300px

และถอยกลับไปที่หมายเลขนั้นหากไม่พบ

เมื่อตั้งค่าเป็นศูนย์ลองรับความกว้างจากคำหลัก # + ATTR. * และถอยกลับไปตามความกว้างดั้งเดิมหากไม่พบ

สิ่งนี้ต้องการ Emacs> = 24.1 สร้าง (sic) ด้วยการรองรับ imagemagick


นี่ไม่ใช่เสียงเหมือนคำตอบ แต่อาจเป็นความคิดเห็น
JeanPierre

สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม หากต้องการวิจารณ์หรือขอคำชี้แจงจากผู้แต่งโปรดแสดงความคิดเห็นใต้โพสต์ของพวกเขา - จากการรีวิว
JeanPierre

มันดีกว่าไหม
NickD

5

ในขั้นตอนที่ 2 ของคุณ

(image-type-available-p 'imagemagick)

tควรกลับ nilใช้งานไม่ได้ บางทีเหตุผลที่คุณได้รับnilคือเส้นทางจากการติดตั้ง macports ของ imagemagick ไม่ได้รับการติดตั้งโดยการติดตั้งชงของ emacs คุณสังเกตเห็นข้อผิดพลาดในการคอมไพล์หรือไม่

ไม่ว่าในกรณีใด ๆ ให้ปรับเส้นทางเป็น imagemagick ด้วยตนเองหรือติดตั้งจากโหมดชงเช่นกัน การติดตั้งทั้ง imagemagick และ emacs จาก macports นั้นเหมาะสำหรับฉัน


หลังจากถอนการติดตั้ง emacs และติดตั้งใหม่ด้วยพอร์ตมันทำงานได้ดีตอนนี้
beetlej
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.