配置 emacs 以显示固定宽度的内嵌图像

2023-12-07

跟进:Emacs 组织显示内联图像

我按照 abo-abo 的建议设法显示内联图像。现在我想为它们设置一个固定的宽度大小。

设置(setq org-image-actual-width 50)不起作用。 Emacs 选择了该变量,但它没有对图像执行任何操作。这个想法是将它们显示为缩略图。

注意:我在 Linux 上使用 emacs 24.2。 我可以使用 M x image-dired 显示拇指,但是,我想在组织模式下显示固定大小的图像。正常图像已经可以显示。


我看过org-display-inline-images来源: 它只是在呼唤create-image。目前似乎没有缩放选项。

我写了一个小解决方法。 这有点麻烦,但也许您想尝试一下。 作用:当 org 想要显示图像“~/cat.jpg”时, 这个函数可以查看“~/catt.png”是否存在并显示出来。 如果没有找到“~/catt.png”,则调用 ImageMagick 的 Convert 来创建它,如下所示:

convert ~/cat.jpg -thumbnail 300x300 ~/catt.png

如果需要,您可以自定义拇指大小、类型和名称。 并且不要忘记安装 ImageMagick。

(defun org-display-inline-images (&optional include-linked refresh beg end)
  "Display inline images.
Normally only links without a description part are inlined, because this
is how it will work for export.  When INCLUDE-LINKED is set, also links
with a description part will be inlined.  This can be nice for a quick
look at those images, but it does not reflect what exported files will look
like.
When REFRESH is set, refresh existing images between BEG and END.
This will create new image displays only if necessary.
BEG and END default to the buffer boundaries."
  (interactive "P")
  (unless refresh
    (org-remove-inline-images)
    (if (fboundp 'clear-image-cache) (clear-image-cache)))
  (save-excursion
    (save-restriction
      (widen)
      (setq beg (or beg (point-min)) end (or end (point-max)))
      (goto-char beg)
      (let ((re (concat "\\[\\[\\(\\(file:\\)\\|\\([./~]\\)\\)\\([^]\n]+?"
            (substring (org-image-file-name-regexp) 0 -2)
            "\\)\\]" (if include-linked "" "\\]")))
        old file ov img)
    (while (re-search-forward re end t)
      (setq old (get-char-property-and-overlay (match-beginning 1)
                           'org-image-overlay))
      (setq file (expand-file-name
              (concat (or (match-string 3) "") (match-string 4))))
      (when (file-exists-p file)
            (let ((file-thumb (format "%s%st.png" (file-name-directory file) (file-name-base file) "t.png")))
              (unless (file-exists-p file-thumb)
                (shell-command (format "convert %s -thumbnail 300x300 %s"
                                       file file-thumb)))
        (if (and (car-safe old) refresh)
            (image-refresh (overlay-get (cdr old) 'display))
          (setq img (save-match-data (create-image file-thumb)))
          (when img
        (setq ov (make-overlay (match-beginning 0) (match-end 0)))
        (overlay-put ov 'display img)
        (overlay-put ov 'face 'default)
        (overlay-put ov 'org-image-overlay t)
        (overlay-put ov 'modification-hooks
                 (list 'org-display-inline-remove-overlay))
        (push ov org-inline-image-overlays))))))))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 emacs 以显示固定宽度的内嵌图像 的相关文章

  • emacs 中 ansi term 中的奇怪字符

    我编写了一个 C 程序 当我在 ansi term 中使用 g 编译它时 显示了一些奇怪的字符 如果需要 错误是我没有声明变量 n 我该如何纠正这个问题 啊 测试了这个 setq locale coding system utf 8 set
  • Emacs如何自动完成C上包含文件的单词?

    如何使 Emacs 完成 C 包含文件中的单词 include
  • SBCL初始化文件

    我想知道应该在哪里保存 sbclrc 文件 我尝试将其保存在我的 sbcl 文件夹中 但它似乎不起作用 我使用的是 Windows XP 和 Emacs 版本 23 我正在尝试设置 asdf install 这就是为什么我要修改初始化文件
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • 在 emacs org-mode 中仅延迟加载前 N 行

    有没有办法告诉 org mode 仅加载长文本文件的前 N 行 我想保持整个文件打开以便能够搜索它 但在文件的前 N 行上显示组织模式 这是我编辑新内容的地方 如果您在组织模式下有结构化大纲 则可以使用以下命令设置全局文件可见性 START
  • Emacs 打字骨架对插入也许

    在 Eclipse 中 编辑 Java 代码时 如果我输入一个左括号 我会得到一对括号 如果我然后 输入 第二个括号 它不会插入额外的括号 我如何在 emacs 中得到它 Eclipse 编辑器足够聪明 当我输入闭括号时 它知道我刚刚完成了
  • 如何找到 emacs 中定义键绑定的位置?

    Somehow shift m是必然的Meta在 emacs 中键入 现在我无法输入任何以M like Mock 我想找出为什么会发生这种情况 或者是哪个包导致了这种情况 有一个问题 https stackoverflow com ques
  • 使用 slime 时如何跳转到 emacs 中的函数定义?

    我已经使用安装了史莱姆https github com thephoeron slime pack https github com thephoeron slime pack并想进一步探索 common lisp 如何访问 emacs 中
  • 无法在 Emacs 中打开 plantuml 模式

    我使用的是 Emacs 24 3 1 我安装了MELPA http melpa milkbox net 的版本plantuml mode https github com zwz plantuml mode via M x package
  • 字节编译宏时出现“返回的值未使用”警告

    为什么对以下内容进行字节编译会产生警告 defmacro foomacro shiftcode defun foo optional arg interactive concat shiftcode p message arg is i a
  • 如何在组织模式下关闭公司模式?

    我正在使用 spacemacs 并尝试在组织模式下关闭公司模式 同时将其保留在其他主要模式中 我尝试过以下方法 global company mode not org mode 但它不起作用 禁用自org mode hook 此方法几乎适用
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • 我应该学习使用 Emacs 吗? [复制]

    这个问题在这里已经有答案了 我使用 IntelliJ IDEA 作为代码编辑器 所以这并不是要取代它 我用vi or vim用于在我们的服务器和标准上进行简单的文本编辑unix用于查找文件 获取目录列表等的命令 同事们对 emacs 赞不绝
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH
  • Org LaTeX 预览在视网膜显示屏上模糊

    我所有的数学 科学笔记都使用 Emacs 24 4 org latex preview太棒了 但最近 我升级到了配备视网膜显示屏的 MacBook Pro 现在我发现组织模式下的所有方程都 模糊了 有什么设置可以更改为高分辨率吗 这是一个屏
  • 如何通过 El-Get 安装 MELPA 软件包?

    El Get 文档说El Get 支持package el https github com dimitri el get el get elpa and packageelMELPA 文档显示如何使用 MELPApackage el ht
  • 如何在 Emacs 中保存所有文件(或保存所有缓冲区)?

    C x C s saves only the current buffer 如何保存所有文件 或所有缓冲区 Press C x s and then choose for saving all buffers
  • 从 org-mode 导出 html:自定义日期格式

    我正在将 org 文件导出为 html 我在 Emacs 24 中使用 Org mode 7 9 3f 如何在帖子中获得自定义时间格式 我尝试将变量 org export html postamble format 设置为 setq org
  • Emacs 中 hunspell 的工作设置

    有没有人有工作设置hunspell and Emacs 简单设定ispell program name to hunspell不起作用 输出 例如 使用 Flyspell 时 如下所示 gt UTF 8 encoding error Mis
  • Emacs中跳转到声明的快捷键是什么?

    在 Visual Studio 中 编辑 C C 代码时 按 F12 按钮可以更轻松地跳转到函数或变量的声明 emacs 有快捷键可以做到这一点吗 嗯 事情比这更复杂一些 默认情况下 Emacs 不 了解 C 或 C 代码的函数声明 首先

随机推荐

  • 通过 XSSFRichTexString 和 Jsoup 格式化 Apache POI Excel 文本

    我正在从数据库获取 html 数据 下面是示例 ul li strong Iam Bold strong u span style color Red Iam Red Colored and Underlined span u li li
  • 有什么方法可以扩展 javascript 的 array.sort() 方法以接受另一个参数吗?

    我正在尝试对对象数组进行排序 我不想为每个属性编写自定义排序方法 无论如何我可以扩展内置的array sort 接受额外参数的方法 描述要排序的属性 例如 array sort function a b attr return a attr
  • Pushsharp 苹果通知调用 SSPI 失败错误

    我正在使用 PushSharp 在 C 中发送 Apple 推送通知 我有我的生产 pem 文件及其密码 下面是我的代码片段 我总是收到此错误 A call to SSPI failed see inner exception gt Sys
  • 检查 firestore 文档是否为特定类型文档的方法

    我有一个 Android Studio 项目 有 2 个用户集合 培训师和学员 我想创建一个方法 接收用户的字符串电子邮件作为输入 用户的电子邮件是两个集合中的文档 ID 用户可以在受训者集合中 也可以在培训师集合中 但不能同时在两者中 并
  • 这个 double 是什么格式以及如何转换它?

    我正在阅读一个遗留的网络服务 它以我不熟悉的格式返回双精度数 一些例子是 1 58e 6 1 56e 6 1 45e 6 他们应该代表这样的双打 例如 0 000004343 这是什么格式以及如何转换 你可以这样转换 1 58e 6 1 5
  • 从给定纬度和经度的固定距离生成随机地理点

    我正在编写一个java程序来生成距给定点固定距离的所有经度和纬度 距离必须精确为 2000 公里 不能小于 2000 公里 这是我的代码 public static void getLocation double x0 double y0
  • Gradle 1.0 +Spring + AspectJ 构建问题

    我正在将一个依赖 Configurable Spring 注释的项目的 Maven 构建迁移到 Gradle 中 但是当我的 Web 应用程序运行时 没有任何 Configurable 类被注入到 Gradle 构建中 它们在构建我的 Ma
  • Java 按字母顺序排列字符串

    我有一个课堂项目 我需要输入 4 个不同的字符串 然后按字母顺序输出它们 到目前为止我有这个 String wd1 wd2 wd3 wd4 Scanner scan1 new Scanner System in System out pri
  • 核心图:如何从用户选择的栏中呈现弹出窗口

    我想完成什么 我正在使用 Core Plot 1 1 绘制条形图 我想在用户选择 点击 的条形下方显示一个弹出窗口 其中包含更多详细信息 Code 我的代码如下所示 void barPlot CPTBarPlot plot barWasSe
  • Android:设置蓝牙可发现性无限制

    在过去的几天里 我一直在尝试制作一个应用程序 让我的三星 Galaxy S3 mini Android 2 1 4 在 无限 的时间内被发现 我的代码目前如下所示 package com example downtoone import a
  • 将文件夹下载为 Zip Google Drive API

    我目前在 Google Sheet 中有一个 Google App 脚本 它为我提供了文件夹的 URL 然后我可以用它来下载 虽然这是一个额外的步骤 但我想删除它 并直接获取压缩内容的 URL 这是我的代码 谷歌应用程序脚本 functio
  • 如何在网页视图中显示外国字体

    我的应用程序必须在 Web 视图中显示 HtmlString 中的印地文文本 HtmlString div style padding 0px div div style padding 5px b SharedVariables Arra
  • 泡菜懒惰学习者

    Pickle 是否为像 KNeighborsClassifier 这样的懒惰学习者保存来自 scikit 的训练数据 如果是这样 我们可以从 pickle 对象访问这些数据吗 询问数据隐私问题 Eg knn fit Xtrain Ytrai
  • AMP 错误:缺少支持的结构化数据元素

    我有一个书籍聚合网站 我为每本书创建了专用的 AMP 加速移动页面 示例 AMP 网址 http konyvar hu amp nicholas sparks az utolso dal 规范 URL 示例 http konyvar hu
  • 如何保持元素:即使点击后仍处于活动状态

    从中得到了非常模糊和不需要的答案question所以我决定发布一个明确的问题来介绍我面临的问题 我正在使用的代码如下所示 flipClass font size Large background color 4399CD color fff
  • 在函数内执行 mysqli_query

    我有一个函数列表函数 php 我正在升级Mysql to Mysqli因为我刚刚学习Mysql现已弃用 我在顶级connect php 文件中声明我的连接 第一个文件是必需的 我所有的功能都使用mysql query QUERY 总是运行良
  • Telegram Api - 创建授权密钥 404 错误

    我正在尝试用 python 编写一个简单的程序来使用 telegram api 不是机器人 api 主要消息传递 api 现在我已经编写了这段代码 usr bin env python import socket import random
  • ASP.NET 自定义用户控件动态添加

    我很难将具有自定义用户控件的页面直接修改为 ASPX 页面 现在需要仅在需要时动态加载它 用户控件确实通过 ASCX 文件具有 html 和其他控件 并且在代码隐藏中具有代码 我已阅读多页 发现我无法直接实例化用户控件 但应该使用Page
  • Ubuntu 上的 Boost::system 链接错误

    我正在尝试编译以下实现上下文树切换的 C 代码 下载页面上有更多信息 Zip 存档 0 2 MB 这需要一些boost库 我从 boost org 下载了最新版本 并按照网站上的说明构建了所有需要构建的库 我还修改了存档中包含的 makef
  • 配置 emacs 以显示固定宽度的内嵌图像

    跟进 Emacs 组织显示内联图像 我按照 abo abo 的建议设法显示内联图像 现在我想为它们设置一个固定的宽度大小 设置 setq org image actual width 50 不起作用 Emacs 选择了该变量 但它没有对图像