emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] exporting cross-references to source block results CORRECTION


From: Christian Moe
Subject: Re: [O] exporting cross-references to source block results CORRECTION
Date: Thu, 11 Apr 2013 13:31:15 +0200
User-agent: mu4e 0.9.9.5-dev6; emacs 24.3.1

Vikas Rawal writes:
>> Oops, sorry, I take back my last message, there was an error in my test
>> example.
>> 
>> Adding a #+NAME above the generated table DOES result in a correct
>> cross-reference. That seems like reasonable behavior to me.
>
> The intended behaviour, as documented by Nicolas, is that a named
> source block will result in output with #+RESULTS, and that the
> cross-reference will pick that up correctly.

I confirm that I don't get a correct cross-reference to a table that
is identified only by its #+RESULTS name.

> If #+RESULT is not to work, it is better to change
> org-babel-results-keyword to NAME, and then what you are suggesting
> happens automatically. But in the earlier thread on the topic, Nicolas
> said that was not the right way.

I see. Sorry for not following the discussion. In that way, you get both
code block and result identified by the same NAME line, and Babel
appears to be smart enough to handle that without the code block
overwriting itself...

But this solution gives faulty exports if you're exporting both code and
results (`:exports both'). In HTML, you get two different elements with
the same id attribute, the code block and the table. That shouldn't
happen. I find Firefox resolves the conflict by jumping to whichever of
the two elements appears first.

It seems to me that you would have the same problem even if the exporter
did pick up the name from the RESULTS line and make a cross-reference to
it, as you expect it to. The target would still be ambiguous.

I submit that the best way to get a cross-reference to a generated table
in all circumstances is to manually name that table with a #+NAME line
and a *unique* name, i.e. *different* from that of the source block that
generated it. This seems a reasonable requirement.

Yours,
Christian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]