emacs-orgmode
[Top][All Lists]

## Re: Bug: redundant and undocumented #label is required to link to a tabl

 From: James Powell Subject: Re: Bug: redundant and undocumented #label is required to link to a table [9.4.4 (9.4.4-dist @ /home/powellj/elisp/org-9.4.4/lisp/)] Date: Mon, 19 Apr 2021 11:48:12 -0700 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

If I put #+name before the table, the link does indeed work, but now
the table is reproduced twice in the latex output and also C-c C-c in
the code block writes a new table into the file instead of updating
the current table.


Before C-c C-c in the code block, this org snippet produces the table twice in the latex output:
<<begin>>
#+begin_src R :exports both
library(tidyverse)
x <- tribble(~a, ~b, 1, 3)
x
#+end_src
#+NAME: t1
#+CAPTION: Org Table
#+RESULTS: t1
| 1 | 3 |

I want to refer to Table [[t1]].
<<end>>


After C-c C-c in the code block, the table appears twice in the org mode file:
<<begin>>
#+begin_src R :exports both
library(tidyverse)
x <- tribble(~a, ~b, 1, 3)
x
#+end_src

#+RESULTS:
| 1 | 3 |

#+NAME: t1
#+CAPTION: Org Table
#+RESULTS: t1
| 1 | 3 |

I want to refer to Table [[t1]].
<<end>>

The literature and the Library of Babel do not seem to address the
case, which is so common in peer-reviewed literature, of a captioned
and referenced table that was produced by code.  It was only through a
large investment in trial and error and searching that I was able to
build the example above, in which the code does indeed generate a
table that is captioned and referenced.

- JP

On 4/19/21 10:45 AM, Nicolas Goaziou wrote:

Hello,

James Powell <powellj@pdx.edu> writes:


Using Org mode version 9.4.4 I build this document:

<<begin>>

#+NAME: t1
#+begin_src R :exports both

library(tidyverse)   x <- tribble(~a, ~b, 1, 3)   x #+end_src

#+CAPTION: Org Table
#+RESULTS: t1

| 1 | 3 |

I want to refer to Table [[t1]].
<<end>>

What I expect: the latex export will include the table and link to it.

What happens instead: the code and table appear, numbered and captioned.
However, the link is broken ("I want to refer to Table ??"). Looking in

> I want to refer to Table \ref{org993764c}.

but that label org993764c appears nowhere else in the file.

Org-lint doesn't complain about the file at all.  I posted this
earlier to this list and learned about a workaround

" It works if you put a #+label on the table ... which confuses me,
because I looked through the manual for #+label and there's no mention
of it at all, but a bunch of my Org files use it (for LaTeX export). "

#+label is an outdated equivalent for #+name.

In this case, you are referencing the source code block whereas you want
to reference the table. So #+name should go before the table.

Note that if you follow [[t1]] link, point will move to the source code
block, not the table.

Regards,


--
James E. Powell, MS
Pronouns: he/him/his
Applied Physics PhD Candidate
Department of Physics
Portland State University