配置 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-helm 中的选项卡(任何内容)不会自动完成当前的最佳匹配

    While trying to autocomplete a file e g to open a file with C x C f Emacs helm shows a list of possible candidates If I
  • 解决 emacs 错误的想法:“应用:生成子进程:exec 格式错误”

    我正在尝试将 rdebug 与 emacs 和 cygwin 一起使用 但遇到了麻烦 每当我执行 M x rdebug 并为其提供适当的脚本来运行时 它都会因错误而停止 apply Spawning child process exec f
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • 如何配置 Firefox 在某些链接上运行 emacsclientw?

    我有一个 Perl 脚本 它会在一堆日志文件中查找 有趣 的行 以获取一些有趣的定义 它生成一个 HTML 文件 其中包含一个表 该表的列是时间戳 文件名 行号引用和 有趣 位 我想做的是让文件名 行号成为一个实际的链接 它将在 emacs
  • emacs 启动后更改 X11 窗口标题

    当我启动 emacs 时 我可以使用 title 选项来控制保存 emacs 应用程序的 x 窗口的标题 emacs从elisp启动后可以更改标题吗 M x set frame name NewName RET 和来自 elisp set
  • 如何从 Emacs 中运行 Cygwin Bash Shell?

    我在 Windows 上运行 GNU Emacs 因此输入 M x shell 启动 Windows 命令行 DOS shell 但是 我希望能够从 Emacs 中运行 Cygwin Bash Shell 或任何其他非 Windows sh
  • Emacs:结合 isearch-forward 和 center-top-bottom

    预先非常感谢您的帮助 在 Emacs 中 我喜欢使用 iseach forward C s 但如果突出显示的字体单词位于屏幕中间而不是最底部的中心 我会更喜欢它 我发现自己不断地这样做 C s foo C s C s C s 哦 这就是我一
  • 在 Emacs Paredit 中交换括号和方括号

    如何在 paredit 模式下定义交换括号和方括号的命令 所以任务就是把它变成这样 例如 blah a b c 进入这个 blah a b c 使用 paredit 模式 移至表达式的开头 a 进而 C M SPC
  • emacs:Orgmode,如何从一行行中创建一个列表

    有没有办法隐藏这样的行块 line1 line2 linen into 1 line1 2 line2 n linen 使用 Emacsorg mode http orgmode org 我知道的最短的方法是 突出显示这些行 包括它们的换行
  • Emacs/Swank/Paredit for Clojure 的温和教程

    我要转向 Emacs 来工作Clojure http en wikipedia org wiki Clojure Lisp 为了能够执行以下操作 我需要在 Emacs 上设置哪些信息 自动匹配 生成相应的右括号 自动缩进 Lisp Cloj
  • 配置jedi不自动完成?

    我在 emacs 中安装了 jedi mode 来进行 python 编辑 因为我发现C and C 对于跳转到定义并返回非常有用 然而 自动完成并不是我想要的 当我尝试在安装了 jedi 的情况下使用 emacs 时 它会不断尝试提供建议
  • 将字符定义为单词边界

    我已经定义了 字符在乳胶模式下充当单词组成部分 我对结果非常满意 唯一困扰我的是像这样的序列 alpha beta被视为单个单词 当然 这是预期的行为 有没有办法让 emacs 将特定字符解释为单词 starter 这样 它将始终被视为其后
  • 如何使用 Emacs 通过 HTTP 打开远程文件?

    大多数开源软件都通过某些 HTTP 服务公开其代码 我想从 Emacs 打开并浏览此类代码 但 AFAICS trapmp 只允许ssh and ftp 因此 我的第一个问题是如何打开 HTTP URL 以便在 Emacs 中进行读取 然后
  • “swank-clojure”到底是做什么的,我们有“swank-SOMETHING_ELSE”吗?

    我的肤浅理解是 swank clojure 使 M x slime connect 成为可能 我的意思是 它提供了与 clojure 服务器的连接 例如 lein swank 我的理解正确吗 如果不是 那swank的目的是什么 那么 是否有
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 在 Emacs 中,如何确定哪个包正在加载 Tramp?

    我与 ranp 和 cygwin mount 有一个奇怪的交互 我认为 Emacs 文件名的制表符补全会附加一个额外的 i cygwin https stackoverflow com questions 1705802 emacs tab
  • Emacs 在多个文件中查找并替换正则表达式 (find-name-dired + Q),不保存我的缓冲区?

    我不明白这是怎么回事 我已经在整个目录中进行了搜索和替换 使用 M x 查找名称 dired RET 选择我的项目的根目录 输入 rb 作为要匹配的文件名 按 t 选择找到的所有文件 按 Q shift Q 开始搜索 替换 输入 交易 作为
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • Mac OS High Sierra 下无法打开 pty

    我的问题的本质是 用户程序如何在 Mac OS High Sierra 上打开 pty 例如 dev ptyp0 设备名称的标准 open 似乎不起作用 尽管它的保护是 crw rw rw 上下文是在 Mac OS 下运行 Emacs 在
  • Emacs 打字骨架对插入也许

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

随机推荐

  • 通过 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 选择了该变量 但它没有对图像