Link to specific paragraph within a note

Hi, I just updated to the latest version of TB. It’s been a while since I tried to work with links and I don’t really know what is possible now that wasn’t possible in earlier versions of TB.

My question is very simple. Is it possible to do in TB what you can do in HTML by specifying an anchor in your link?:

<a href="../html-link.html#Specific Paragraph in Page">HTML link code generator</a>

Linking is very useful but I have some notes that are pretty long and I would like to point my links to specific paragraphs within those notes.

I have done some searches in this forum but I don’t seem to find any relevant information. I saw a post where there was a discussion of the syntax for ziplinks: [[Note Name|Text for link:: some text]] but that doesn’t give me what I need. Is there a way to insert ‘#anchor identifier in target’ somewhere?

Thanks.

JM

Hi, welcome back to the forum. In short, Yes, Linking to target $Text is possible, though (not knowing your assumptions) not necessarily in the way you imagine. I don’t recall the change, in that very early Tinderbox allowed it before going away until v7.5.0+.

What I’ve not tested, and which arises from this is whether the ziplinks method can link to pre-existing target $Text. My hunch is (@eastgate?) that if it does it links to the _first string match in $Text. By comparison, manual methods of setting the link may offer more target fidelity.

No: zip links are always basic links.. (I’m wrong!)

There is not, at present, a mechanism or specifying a destination anchor for ziplinks.

I hate to demur, but all ziplinks are text links as they must start from a $Text anchor.

I think what is meant above is that they can’t (at as v8.9.0) be a text-to-text link. Rather all ziplinks are ‘text’ links as you cannot specify (via ziplinks syntax) a target $Text anchor.

1 Like

Thanks Marks for the quick response but I’m still a bit confused about whether this is possible and, if it is indeed possible, what syntax do I need to use to implement it.

I’ve followed Mark’s link to Linking to target $Text. Actually I had already checked this resource before asking the question in the forum but this just doesn’t seem to work for me. I do exactly what the instructions say but when I click the link it takes me to the desired note but it doesn’t scroll down to the the part of the note that I had selected as anchor. Perhaps there is something very obvious I’m not getting but I really cannot achieve the desired result.

I’m a bit curious as to how this is supposed to work. The instructions say “Then, select the destination and scroll so the destination text is visible”. That is, you are not even supposed to introduce any symbol or code that would signal the anchor. Does that mean TB somehow memorizes the location after the scrolling and that information is captured when you drag the link from the parking space? That’s the only way I can think of this could be accomplished.

So the question is, how do I specify a target $Text anchor in my links?

The target text in Linking to target $Text mentioned above is the span of characters that were selected when the link was made.

OK. I think I’m not understanding something that must be pretty fundamental.

My understanding of the instructions in Linking to target $Text is the following:

  • I’m inside a note (Note A) and I want to create a link that takes me to a specific paragraph in a different note (Note B).

  • I select some text or write some new text that will be the link. Once I select the text, the little T on the upper left corner of the note appears. I drag that to the Link parking space.

  • I go to Note B and I scroll down to the paragraph that contains what would be the anchor in HTML (i.e. the target text). Then I select the target text and I drag the link that I created in Note A to Note B. A link is successfully created but …

  • when I go back to Note A and click on the link and it takes me to the beginning of Note B. That is, it does not take me to the paragraph where I selected the text that was intended to be the target text.

What am I doing wrong?

JM

Further to the last you can’t either drag the parked link onto the target $text, forming a (zero-length) link anchor. Or, having selected and scrolled the target note, select some text as the target anchor and drag-drop the parked link onto that.

How are links marked? As character offsets in the plain text version of $Text. An example is here.

If a link to a note’s $Text is in a position of the scope of the default loading position, i.e. several ‘page lengths’ down, then Tinderbox will scrool the note to show that position. The target anchor is not marked in the text.

@satikusala

Michael - If you have the time/interest, I suspect text to text links would be a great topic to demonstrate on a video. I am trying to follow instructions in multiple posts and not sure I quite grasp it yet.

I think I agree, but so I’m clear can you explain the exact use case you want to cover (there are a ton of ways to link text in Tinderbox).

A good example would be if I am reading a PDF which is an academic article that references some other article. I want to link the sentence which references the other article to the specific paragraph in the other PDF which is on-point. And vice-versa.

Thinking further - is that not possible in Tinderbox since we generally store only links to PDFs and not the PDFs themselves?

So perhaps the example would be if I link from a sentence in one abstract to a sentence in another abstract, where the abstracts are both in $Text ? In your dissertation, how do you connect ideas like this between two citations?

When you say link to a PDF, do you mean a PDF embedded in a note’s $Text? If so you can’t link to the contents of the PDF. As far as the app is concerned it is a single object in the text stream. Just because you can see the text encoded in the PDF (essentially the thumbnail) does not mean Tinderbox can do the same.

If the PDF is outside Tinderbox, e.g. DEVONthink or Bookends etc., then you need to generate the targetted URL in that app and use the URL as the target of a Web link in your Tinderbox not’es $Text (you can’t make note-level, i.e. basic, web links.

I think a bit more clarification is needed.

OK, since we are talking about videos, I think this might be the best way to show you what I’m apparently not getting from all of this. This is a video capture of my unsuccessful attempts to do something that is supposed to be very simple.

The quality of this screencast leaves a lot to be desired and cannot be compared with Michael really useful videos but it should suffice to see the steps I follow to create a link to a specific part of a note. What am I doing wrong?

Your video was most helpful and don’t worry about quality as it shows the process.

You were close. Your video was correct until the last part. When you have selected the target text in the text pane, you then drag-drop from the link park (left end of the tab bar) onto the selection in the text pane. Then complete the link details (type, etc.) in the pop-up to generate the link.

If you complete a link using the material shown in the video, on following the link, the target note’s $Text will be scrolled so the linked text is in view. But, my recollection is the target text anchor is not highlighted not do UI elements link the Link Browser show the target text.

So:

  • Yes, you can make a target text anchor for a link
  • Yes, the target link anchor will be scrolled on-screen if the link is followed.
  • No, the target anchor is not persistently indicated after following a link.
  • No, link target anchors are not shown in a note (unlike outbound link anchors).
  • No, link target anchors cannot be viewed in the UI (Browse Links, Roadmap, etc.)—they are only stored in the underlying XML of the TBX document.

For the ‘no’ items above, if you need these I suggest emailing in a feature request explaining clearly the needed change(s).

OK then how can one link such text if they are both in $Text in different notes?

Essentially I think a narrated video/example similar to the question from @jfontana would be very helpful.

OK! I see. This is actually what I tried to do the first time as it is literally what the instructions say. The problem is, however, that the arrow that appears when you drag the link from the link park to its destination disappears behind the text pane when you are attempting to drag it onto the note itself.

This made me think that I was not doing it properly and that’s why I decided to drag the link to the title of the note in the outline instead. I wasn’t going to tell you :wink: but for a while I thought the problem was that the instructions were not clear. Now I see the instructions are perfectly clear.

What perhaps is not so “clear” is the process itself in terms of its software implementation. I’m sure there are other development priorities but I think TB would improve in usability of you could make the arrow go all the way to the location in the note you want to be your destination instead of disappearing behind the pane.

+1

I assumed I was doing this wrong as well even after reading the instructions

You just drag onto the drop point. I agree the link doesn’t draw back (visibly) into the text space, but dropping the drag onto the selection will create a link to the selected text.

I don’t know whether to ‘missing’ section of link is a bug or an OS limitation. I’ll amend my article to make the instructions clearer and update it further when we know the cause of the missing part of the link line.

Yes, I see that now but I was confused because the arrow disappeared when it reached the pane.

Now I know how it works and I will try to remember but I can see other users reading the instructions and being equally confused when they they see the arrow hide behind the text pane.

Anyway, thanks a lot for your quick help and for your excellent documentation.