From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: Tables: remote reference fails with umlaut (and in other cases) Date: Mon, 25 Jan 2016 18:57:06 +0100 Message-ID: References: <2016-01-19T14-08-22@devnull.Karl-Voit.at> <877fj5eh8f.fsf@delle7240.chemeng.ucl.ac.uk> <2016-01-19T16-25-22@devnull.Karl-Voit.at> <2016-01-25T15-45-54@devnull.Karl-Voit.at> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b5d649a167bbf052a2c4cad Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNlO3-0006AT-0Y for emacs-orgmode@gnu.org; Mon, 25 Jan 2016 12:57:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNlO1-0004er-Iz for emacs-orgmode@gnu.org; Mon, 25 Jan 2016 12:57:10 -0500 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:34727) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNlO1-0004ef-88 for emacs-orgmode@gnu.org; Mon, 25 Jan 2016 12:57:09 -0500 Received: by mail-wm0-x22f.google.com with SMTP id u188so76216431wmu.1 for ; Mon, 25 Jan 2016 09:57:08 -0800 (PST) In-Reply-To: <2016-01-25T15-45-54@devnull.Karl-Voit.at> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Karl Voit Cc: Org Mode --047d7b5d649a167bbf052a2c4cad Content-Type: text/plain; charset=UTF-8 Hi Karl > I tried to reference "the item one row up" via @@#-1$1 (and similar) > and failed. Is there a way to accomplish this as well? It fails because @@#-1$1 is only substituted with @1-1$1, @2-1$1 etc. depending on the row it is evaluated on. To be able to use an expression as the index for an indirection one can select the element from a Calc vector or Lisp list. For a Calc formula example please e. g. look for the Calc function subscr() in http://orgmode.org/worg/org-hacks.html#field-coordinates-in-formulas Beware of the formula modifier E to keep empty fields counting for the position: | 1 | | | |---+-----+---| | 2 | 1 | 1 | | | 2 | 2 | | 4 | nan | 4 | #+TBLFM: $2 = subscr(@<$1..@>$1, @# - 1); E :: $3 = subscr(@<$1..@>$1, @# - 1) | 1st | | | |-----+-----+-----| | 2nd | 1st | 1st | | | 2nd | 2nd | | 4th | | 4th | #+TBLFM: $2 = '(nth (- @# 2) '(@<$1..@>$1)); E :: $3 = '(nth (- @# 2) '(@<$1..@>$1)) >>> [1] https://github.com/novoid/org-mode-workshop/blob/master/featureshow/org-mode-teaser.org#1131-referencing-example-with-detailed-explanation >> >> Do you remember that some time ago I reminded you about a patch that I >> had sent you privately to align your above URL with the change about how >> to copy fields in the Org manual? > > A big sorry from my side: I did not process your email for too many > months. Thanks for contributing to my tutorial! Thank you for applying my patch for the section "column-based". Attached is another patch for the section "row-based" which I somehow missed in the first place. The sentence "the identity statement prevents calc from interpreting the content" that you added might be misleading because the formula is now a Lisp formula '(func ...), with a mandatory function in its first place and Calc is not involved. Btw. I failed to find a Calc formula as capable as the Lisp formula to copy content one to one. Some time ago I documented my trials into this direction in test-org-table/copy-field in testing/lisp/test-org-table.el. Michael --047d7b5d649a167bbf052a2c4cad Content-Type: text/plain; charset=US-ASCII; name="row-based.diff" Content-Disposition: attachment; filename="row-based.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iju95ukv0 ZGlmZiAtLWdpdCBhL2ZlYXR1cmVzaG93L29yZy1tb2RlLXRlYXNlci5vcmcgYi9mZWF0dXJlc2hv dy9vcmctbW9kZS10ZWFzZXIub3JnCmluZGV4IDFkNDMwNWEuLjBkOTQ5Y2EgMTAwNjQ0Ci0tLSBh L2ZlYXR1cmVzaG93L29yZy1tb2RlLXRlYXNlci5vcmcKKysrIGIvZmVhdHVyZXNob3cvb3JnLW1v ZGUtdGVhc2VyLm9yZwpAQCAtNzM1LDI0ICs3MzUsMjQgQEAgVGhlIGZvcm11bGFyIGNhbiBiZSBz aW1wbGlmaWVkIGV2ZW4gbW9yZSBieSB1c2luZyBhIGNvbHVtbiBmb3JtdWxhOgogCiAjK05BTUU6 IGNvbXBhcmlzb24tdGFibGUtaG9yaXpvbnRhbAogfCAgICAgICAgICAgICAgICAgIHwgIEpvZSB8 IEFsaWNlIHwgIEJvYiB8ICBzdW0gfAotfCAyMDEyIEluY29tZSBKdW5lIHwgICAxMCB8ICAgIDI0 IHwgICAxNyB8ICAgNTEgfAorfCBJbmNvbWUgSnVuZSAyMDEyIHwgICAxMCB8ICAgIDI0IHwgICAx NyB8ICAgNTEgfAogfCBwbHVzIDIwIHBlcmNlbnQgIHwgMTIuMCB8ICAyOC44IHwgMjAuNCB8IDYw LjAgfAogfCBKdW5lIDIwMTMgICAgICAgIHwgICAxMSB8ICAgIDMxIHwgICAyMSB8ICAgICAgfAog fCBEaWZmZXJlbmNlICAgICAgIHwgLTEuMCB8ICAgMi4yIHwgIDAuNiB8ICAxLjggfAotIytUQkxG TTogQD4kPj12c3VtKEA1JDIuLkA1JDQpOjpAMSQyLi5AMSQ0PXJlbW90ZShJbmNvbWUyMDEyaCwg QDEkJCMpOjpAMj1yZW1vdGUoSW5jb21lMjAxMmgsIEAzJCQjKTo6QDMkMi4uQDMkND0xLjIgKiBy ZW1vdGUoSW5jb21lMjAxMmgsIEAzJCQjKTslLjFmOjpANSQyLi5ANSQ0PUA0LUAzOyUuMWYKKyMr VEJMRk06IEA+JD49dnN1bShANSQyLi5ANSQ0KTo6QDEkMi4uQDEkND0nKGlkZW50aXR5IHJlbW90 ZShJbmNvbWUyMDEyaCwgQDEkJCMpKTo6QDI9JyhpZGVudGl0eSByZW1vdGUoSW5jb21lMjAxMmgs IEAzJCQjKSk6OkAzJDIuLkAzJDQ9MS4yICogcmVtb3RlKEluY29tZTIwMTJoLCBAMyQkIyk7JS4x Zjo6QDUkMi4uQDUkND1ANC1AMzslLjFmCiAKIC0gYWxsIGZvcm11bGFzIGV4cGxhaW5lZCBpbiBk ZXRhaWw6CiAgIC0gfkA+JD49dnN1bShANSQyLi5ANSQ0KX4KICAgICAtIHZhbHVlOiB+MS44fgog ICAgIC0gbGFzdCBjb2x1bW4gaW4gbGFzdCByb3cgKH5APiQ+fikgaXMgdGhlIHZlY3Rvci1zdW0g KH52c3Vtfikgb2YKICAgICAgIGNvbHVtbiB0d28gdG8gZm91ciBvZiBmaWZ0aCByb3cgKH5ANSQy Li5ANSQ0fikKLSAgLSB+QDEkMi4uQDEkND1yZW1vdGUoSW5jb21lMjAxMmgsIEAxJCQjKX4KKyAg LSB+QDEkMi4uQDEkND0nKGlkZW50aXR5IHJlbW90ZShJbmNvbWUyMDEyaCwgQDEkJCMpKX4KICAg ICAtIHZhbHVlczogfkpvZSB8IEFsaWNlIHwgIEJvYiB8ICBzdW1+CiAgICAgLSBjb2x1bW4gdHdv IHRvIGZvdXIgb2YgZmlyc3Qgcm93ICh+QDEkMi4uQDEkNH4pIGFyZSBjb3BpZWQgZnJvbQogICAg ICAgdGhlIGNvcnJlc3BvbmRpbmcgZmllbGRzIG9mIHRoZSBmaXJzdCByb3cgKH5AMSQkI34pIG9m IHRhYmxlCiAgICAgICAiSW5jb21lMjAxMmgiCiAgICAgLSBzZWUgYWxzbyBbW2h0dHA6Ly9vcmdt b2RlLm9yZy93b3JnL29yZy1oYWNrcy5odG1sI2ZpZWxkLWNvb3JkaW5hdGVzLWluLWZvcm11bGFz XVtPcmctaGFja3NdXSBmb3IgZmllbGQgZm9ybXVsYXMKLSAgLSB+QDI9cmVtb3RlKEluY29tZTIw MTJoLCBAMyQkIyl+CisgIC0gfkAyPScoaWRlbnRpdHkgcmVtb3RlKEluY29tZTIwMTJoLCBAMyQk IykpfgogICAgIC0gdmFsdWVzOiB+MjAxMiBJbmNvbWUgSnVuZSB8ICAgMTAgfCAgICAyNCB8ICAg MTcgfCAgIDUxfgogICAgIC0gdGhlIHNlY29uZCByb3cgKH5AMn4pIGlzIGNvcGllZCBmcm9tIHRo ZSBjb3JyZXNwb25kaW5nIGZpZWxkcyBvZgogICAgICAgdGhlIGZpcnN0IHJvdyAofkAxJCQjfikg b2YgdGFibGUgIkluY29tZTIwMTJoIgo= --047d7b5d649a167bbf052a2c4cad--