Mode Org: Menggunakan rumus tabel di luar tabel?

11

Saya bertanya-tanya apakah mungkin untuk menampilkan hasil perhitungan yang dilakukan pada data tabel, di luar tabel.

Sebagai contoh, misalkan saya memiliki daftar nama. Apakah mungkin untuk memiliki teks biasa yang mengatakan sesuatu seperti " This below list contains [ ] names." dan [ ]berisi hasil dari penghitungan tabel?

Chris
sumber

Jawaban:

9

Anda dapat menggunakan blok kode babel sebaris dan fungsi lisp org-table-get-remote-range untuk mendapatkan akses ke rentang tabel seperti dalam contoh berikut (nomor 3 setelah blok sumber adalah apa yang dihasilkan ketika Cc Cc dieksekusi pada Itu)

  #+TBLNAME: table1
  | Name    | Points |
  |---------+--------|
  | Andreas |      5 |
  | Barbara |      8 |
  | Carl    |      7 |
  |---------+--------|
  | Total   |     20 |
  #+TBLFM: @5$2=vsum(@I..@II)

  Now I insert in the text the number of names in the above table: 
  src_emacs-lisp[:results raw]{(length (org-table-get-remote-range "table1" "@I$1..@II$1" ))} 3
Dfeich
sumber
Di pengaturan Emacs saya, [: hasil mentah] tidak menunjukkan hasil, [: nilai hasil mentah] berhasil. Namun setiap kali saya Cc Cc, atau Cc Cv Cb, hasil yang sama redundan diulang. Saya tidak tahu mengapa dan saya tidak punya solusi untuk hasil yang berlebihan.
RUserPassingBy
1
valueharus menjadi pengaturan default, tetapi Anda membuatnya eksplisit tentu lebih benar. Berkenaan dengan pengulangan penyisipan hasil dengan setiap eksekusi berikutnya C-c C-c, ini adalah masalah yang melekat, karena hasilnya tidak dibungkus dengan penanda apa pun yang memungkinkan Org untuk menentukan batas. Orang harus memasak beberapa solusi menggunakan spidol dalam teks yang tidak terlihat pada ekspor. Situasi saat ini tidak optimal, saya setuju.
dfeich
Terima kasih atas penjelasan Anda yang tepat, saya mengerti. Saya akan mengingat masalah yang melekat. Solusi in-line block Anda sangat bagus!
RUserPassingBy