LINUX.ORG.RU

Gnuplot в Emacs org-mode

 , ,


2

3

Здравствуйте!

Пытаюсь подключить Gnuplot к org-mode, но все безрезультатно. Emacs 26.3

В .emacs прописано

(org-babel-do-load-languages
 (quote org-babel-load-languages)
 (quote ((emacs-lisp . t)
         (dot . t)
         (ditaa . t)
         (R . t)
         (python . t)
         (ruby . t)
         (gnuplot . t)
         (clojure . t)
         (ledger . t)
         (org . t)
         (plantuml . t)
         (latex . t))))

Но чтобы я не делал, при попытке org-ctrl-x-ctrl-x на блоке:

#+begin_src gnuplot :file output.png
plot 2**x
#+end_src

Вылетает ошибка. org-babel-execute:gnuplot: Cannot open load file: No such file or directory, gnuplot

Gnuplot установлен и работает, в path прописан. Он даже из gnuplot-mode работает, а через org не хочет.

Ответ на: комментарий от Nervous

Системный PATH на макоси точно нужно было массажировать, я делал так:

(use-package exec-path-from-shell
  :if (eq system-type 'darwin)
  :config
  (setq exec-path-from-shell-check-startup-files nil)
  (exec-path-from-shell-initialize))

ХЗ, что там у топикстартера.

habamax ★★ ()
Ответ на: комментарий от knigolaz

Разобрался. Нужен был gnuplot.el из поставки. В документации описан процесс настройки, но снова проблемы.

Caveat: Windows

Unfortunately, there seems to be an issue with getting gnuplot-mode working properly with Org-mode on Windows machines. Attempts to use Babel for gnuplot code blocks or the org-plot method both seem to fail. Discussion is taking place on how to resolve this issue.4 As of Aug/Sept 2010, Bruce Ravel, the creator of gnuplot-mode, has indicated willingness to work with a mailing list member to identify the potential source of the issue.

Т.е на Windows не работает. Я проверял, виснет наглухо. Странно, что за 9 лет проблему так и не решили((

knigolaz ()
Ответ на: комментарий от Nervous

Я покопался по форумам и, как выяснилось, я не один кому это было нужно.

Решение есть. Оно заключается в правке файла gnuplot.el. (https://github.com/bruceravel/gnuplot-mode)

Нужно

(defun gnuplot-send-string-to-gnuplot (string text)
	.......

	(comint-send-input)

	.......

заменить на


(defun gnuplot-send-string-to-gnuplot (string text)
	.......

	(comint-send-input nil 1)

	.......
knigolaz ()