2011-12-22 12 views
7

Supongamos que tengo una tabla creada por org-modeconseguir un valor fuera de una tabla en emacs org-mode

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

¿Hay alguna manera dentro documento modo org para obtener el valor de la celda del valor total en el ¿mesa? (Aparte de copiar manualmente el valor)

Respuesta

8

El siguiente mensaje se dirige a su misma pregunta: http://permalink.gmane.org/gmane.emacs.orgmode/28056

debe asignar a la primera tabla, a continuación, se refieren a ella a través de una llamada de línea 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} 

Explicación : se llama a un bloque fuente en línea elisp muy trivial que solo imprime la variable d, que se asignó a un elemento en la tabla.

Si desea que la segunda columna de la última fila , puede intentar:

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

Cuando el 1 obtiene el segundo elemento, y el (- (length tbl) 1) tiene la última fila (tenga en cuenta que este último ejemplo es no purista LISP, solo funciona).

Aquí obtenemos la tabla completa en elisp (como una lista de listas) y extraemos el elemento deseado mediante la manipulación de la lista.

Tenga en cuenta que el resultado real se sustituirá durante la exportación. No lo verás mágicamente en el texto del modo org en sí mismo.

+0

Exportar esto a ASCII en mi sistema da el resultado correcto con comillas molestas: ''25''. ¿Alguna idea de cómo deshacerse de las comillas? –

+1

Agregue ': results raw' como una opción (junto con la directiva': var') para deshacerse de las comillas. – Juancho

Cuestiones relacionadas