получение значения вне таблицы в emacs org-mode - PullRequest
7 голосов
/ 22 декабря 2011

Предположим, у меня есть таблица, созданная в режиме org

| thing | value |
| t1    | 1     |
| t2    | 3     |
| t3    |  21   |
|-------+-------|
| total | 25    |

Есть ли способ в документе режима org получить значение из ячейки общего значения в таблице?(кроме копирования значения вручную)

1 Ответ

8 голосов
/ 22 декабря 2011

Следующий пост посвящен вашему вопросу: http://permalink.gmane.org/gmane.emacs.orgmode/28056

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

#+TBLNAME: test-table
| thing | value |
|-------+-------|
| t1    | 1     |
| t2    | 3     |
| t3    |  21   |
|-------+-------|
| total | 25    |

The result I wanted is src_emacs-lisp[:var d=test-table[6,1]]{d}

Объяснение: вы вызываете очень простой встроенный исходный блок elisp, который печатает только переменную d, которая была назначена элементу в таблице.

Если вам нужен второй столбец строки last , вы можете попробовать:

The result I wanted is src_emacs-lisp[:var tbl=test-table]{(nth 1 (nth (- (length tbl) 1) tbl))}

Где 1 получает 2-й элемент, а (- (length tbl) 1) - последний ряд (обратите внимание, что этот последний пример не является чистым LISP, он просто работает).

Здесь мы получаем полную таблицу в elisp (в виде списка списков) и извлекаем нужный элемент посредством манипулирования списками.

Обратите внимание, что фактический результат будет заменен во время экспорта. Вы не увидите его волшебным образом в самом тексте режима org.

...