emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: stardiviner <numbchild@gmail.com>
To: Org-mode <emacs-orgmode@gnu.org>
Subject: [SOLVED] Re: How to auto insert inline image link for org-plot/gnuplot result plot?
Date: Sun, 2 Jan 2022 17:24:19 +0800	[thread overview]
Message-ID: <CAL1eYuKPu78L_7xCQOtOFNzRNWYxzi1P36S9tEArui6-VdqnWQ@mail.gmail.com> (raw)
In-Reply-To: <CAL1eYuL4L3o1AALVvhf3s8jj5wnfwjc=6GjJUuj-iLiP7CGe9Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2810 bytes --]

I write an advice for this.

#+begin_src emacs-lisp
;; `org-plot/gnuplot' advice of auto insert org gnuplot result image file.
  (advice-add 'org-plot/gnuplot :around
#'org-plot/gnuplot-insert-org-image-link)

  (defun org-plot/gnuplot-insert-org-image-link (origin-func &rest args)
    "Auto insert `org-plot/gnuplot' generated plot image file link."
    (save-excursion
      (org-plot/goto-nearest-table)
      ;; Set default options.
      (setf params nil)
      (dolist (pair org-plot/gnuplot-default-options)
        (unless (plist-member params (car pair))
          (setf params (plist-put params (car pair) (cdr pair)))))
      ;; Collect options.
      (while (and (equal 0 (forward-line -1))
                  (looking-at "[[:space:]]*#\\+"))
        (setf params (org-plot/collect-options params))))
    (setf param-file (plist-get params :file))
    (apply origin-func args)
    (goto-char (org-table-end))
    (org-indent-line) (insert (format "\n"))
    (org-indent-line) (insert (format "[[%s][%s]]" (expand-file-name
param-file) param-file))
    (org-indent-line) (insert (format "\n"))
    (when org-startup-with-inline-images (org-redisplay-inline-images)))
#+end_src

I suggest `org-plot.el` library can support this feature.

[stardiviner]           <Hack this world!>      GPG key ID: 47C32433
IRC(freeenode): stardiviner                     Twitter:  @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/


On Sun, Jun 18, 2017 at 1:55 PM numbchild@gmail.com <numbchild@gmail.com>
wrote:

> I want to auto insert inline image for `org-plot/gnuplot` result plot
> below the table. Like this:
>
> ```org
> #+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange
> [0:]"
> | Sede      | Max cites | H-index |
> |-----------+-----------+---------|
> | Chile     |    257.72 |   21.39 |
> | Leeds     |    165.77 |   19.68 |
> | Sao Paolo |     71.00 |   11.50 |
> | Stockholm |    134.19 |   14.33 |
> | Morelia   |    257.56 |   17.67 |
>
> Press =[C-c " g]= on upper table to generate gnuplot plot image (*NOTE*:
> the
> generated plot image is in currently working directory).
>
> #+ATTR_ORG: :width 250
> #+ATTR_LATEX: :width 2.5in
> #+ATTR_HTML: :width 250px
> [[file:org-plot.png]]
> ```
>
> I have an idea, add an advice on `org-plot/gnuplot` with a user helper
> function to inser the inline image link.
> This advice need to:
>
> - locate point below the table.
> - get the `org-plot/gnuplot` result plot image link.
> - insert inline image link.
>
> [stardiviner]           <Hack this world!>      GPG key ID: 47C32433
> IRC(freeenode): stardiviner                     Twitter:  @numbchild
> Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
> Blog: http://stardiviner.github.io/
>

[-- Attachment #2: Type: text/html, Size: 6132 bytes --]

      reply	other threads:[~2022-01-02  9:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-18  5:55 How to auto insert inline image link for org-plot/gnuplot result plot? numbchild
2022-01-02  9:24 ` stardiviner [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAL1eYuKPu78L_7xCQOtOFNzRNWYxzi1P36S9tEArui6-VdqnWQ@mail.gmail.com \
    --to=numbchild@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).