Sense-making of Academic Literature Using Tinderbox

Thank you. Extremely useful & exactly what I needed.

This is an incredibly useful thread. I am an academic with very suboptimal scripting skills. Have used TBX and DT since Version 1 (of both) but for me they are still largely separate. I don’t have any means (other than copying and pasting) to get information from DT into TBX.

In addition to TBX and DT, I use Scrivener and Zotero for bibliographic management. I know that Jeff uses Papers, and his scripts are written for them. Does anyone else use Zotero to extract abstracts? I’m still not clear how folks are moving information from Devonthink to TBX.

Thanks for any advice.

You can drag records from DEVONthink and drop them into Tinderbox 7 :slight_smile:

It’ll set the $Name, $Text, and $URL of the new TB note.

This is another excellent thread, and I hope this does not deviate to far from this. It is realated to the concept of making sense of academic literature. Does anyone have thoughts on how to organize annotations? The original article plus the thoughts shared on this thread are great for getting information into Tinderbox, but my question is to see how others organize their thoughts and annotations? I am looking for ideas on how others have used prototypes and attributes to annotate notes? Or are you just adding your own thoughts to the $Text? I have began to play around with either linking back to the original “source” note or automatically assigning attributes based on the parent note but at this point it seems like there must be a more elegant way to do my research and annotations. Thanks for any ideas to move me in a different direction.

Don

I’m not sure I understood very well your question as English is not my native language, but to answer you: I use to separate my thoughts from my reading notes. When I take a reading note, I just indicate the page number and some words about the text I’m currently reading. If that part of that text is in relation with my research, I copy and paste my note into a specific container or into Scrivener which is the app I use to write a text whom I have already write some substantial parts. And I use several system attributes to gather my notes: $Citation for a quotation, $Definition for the definition of a concept, for instance. So, I can launch a request or create an agent to collect all the definitions I already have by authors. Sometimes, I use a specific prototype that I call “margin note” and that is similar to yellow sticky notes. In this way, in Map View, I can easily visualize my “margin notes”.

3 Likes

I think it is important to separate annotations from the notes or documents that are the object for the annotation. If the annotations are related or linked to other documents, but themselves are stand-alone, then your can not only trace the annotation to the source, but also work with annotations independently of the source – group them, look for patterns, prioritize the annotations. Whatever your need is.

One simple approach is to use Tinderbox “footnotes”. Here is a simple video illustrating how footnotes can be set up. The steps shown are:

  1. Select text in a note.
  2. Choose Note > Footnote
  3. Tinderbox creates a footnote linked to the select text.
  4. Add your comment to that footnote note
  5. Select some text in that footnote note
  6. Link back to the source

See also

Footnotes at aTbRef
Creating footnotes
An alternate to using footnotes

2 Likes

Thank you for the suggestions. This forum has really been helpful in both exploring the vast options available as well as setting up mini experiments to see what will work best. I appreciate the openness and dedication of the users.

Don

Pat,
Just dragged a PDF from DT to TBX. Basically set the URL and all text from article is inside the note. I changed the note to an article ref type and same thing. Assume I am missing something.

So…

  • $Name == the DEVONthink record’s title
  • $Text == the DEVONthink record’s content
  • $URL == the DEVONthink record’s x-devonthink URL

Is that correct?

(if so, that’s what should happen… what do you want to have happen instead?)

btw I think it only works in TB 7

Note that in the next release (and current backstage release), Tinderbox will also import styled text (and embedded links) from DEVONthink

5 Likes

Jeff, in your system doesn’t a Tinderbox agent basically do the job of a DevonThink tag?

1 Like

Yes. But to keep things organized I prefer viewing in TB Outline view.

I am trying to adapt Jeff’s system for Zotero. Looking at an old post from Mark B. I realized that the key may be to export in RIS format. I tried it and it works with a drag and drop. This is great. But there is no abstract field attached. What is the best way to modify the prototype (I assume) to include the abstract field from the exported RIS cite in Zotero. Or is the problem, possibly, that the RIS drag and drop from Zotero does not include the abstract field?
Thanks.

1 Like

Wrote too soon. Looked at Zotero RIS export and it appears it does include the abstract: kb:field mappings [Zotero Documentation]

1 Like

We don’t import that RIS abstract field, as it’s not entirely clear whether people would want this. Happy to hear opinions for and against.

1 Like

@eastgate, @lfriedla
All of the RIS data is imported into the ReferenceRIS attribute; you just need to add code that copies the relevant data from ReferenceRIS into your chosen user attribute (or maybe $Text in the case of an abstract).

There was a related thread here, in the context of Bookends that died because of an apparent bug in Bookends or maybe Tinderbox.

In the case of Zotero this actually works. Here is adapted code for Lew Friedland that reads the ReferenceRIS , extracts the relevant information from the RIS tag AB and puts it into the user-defined attribute Abstract.

Steps
(1) You need to create a new User attribute to hold the data. Call it Abstract, of type string.
(2) I’ll assume you’ve already got a Reference prototype in your Prototype container – one is created automatically when you first drag in a Reference. Modify the rule for the Reference to:

if($ReferenceRIS.contains("AB -")){ $ReferenceRIS.contains("AB - ([^\n]*)\n"); $Abstract=$1.replace("AB - ","").replace("\n","")} else {$Abstract=""}

(3) Add the user-defined Abstract as a KA to the Reference prototype.

Now, assuming you have a Zotero example with an abstract, dragging it into Tinderbox gives you a reference with the Abstract KA populated with the text from the Abstract field in Zotero – and if there is no AB field then the abstract is empty.

This works with BibDesk too, but, again, not with Bookends.

However, in the case of Zotero there is a problem with journal articles having Journal Name mapped into the BookTitle KA. The problem here is that Zotero is using the RIS tag T2 to hold the Journal Name, while Tinderbox is expecting it be contained in RIS tag JA. RIS contains ambiguities. Again, you can add code that maps RIS tags into the appropriate TBx KAs.

Let me know if this works for you…

1 Like

Mark, guess it’s obvious, but I would like to have the abstract field included in the prototype. Not sure about others, but I’m guessing many academics would. Would provide a kind of shortcut solution to Jeff Taekman’s workflow.
Lew

Thank you very much. I’m afraid I have a couple of low level questions.
I did create the abstract attribute as a string field.
But I don’t know how to modify the rule for reference or where to copy the code. I have tried looking it up in several places including Tinderbox Reference File. I’m sure it’s there but I can’t find it. Also, assume KA is Key Attribute, but how do you change the user-defined to a KA?

Lew, no problem at all.

Step by step:

(1) Go into the Prototype container and select the prototype Reference – which will have been created if you’ve dragged in even one reference into the Tinderbox file;

(2) Right-click and select Get Info… (or invoke it by the shortcut);

(3) Select ‘attributes’ from the left-hand column, and then ‘General’ from the next column.

(4) Scroll down in the next column till you get to Rule.

(5) Copy my code above and paste it into the Rule text box.

(6) Dismiss the pop-up.

(7) With the Reference still selected click on the ‘+’ button in the Notes pane. Scroll down the list of attribute types till you get to User. Select User. Tick the box next to Abstract.

(8) You now have a Reference prototype with the KA ‘Abstract’.

You should find that all existing references that you’ve already dragged in now have a Abstract KA, and that the Abstract is populated with the Abtract text from Zotero.

Enjoy!

1 Like

Thanks again. Works beautifully and I learned a few things in the process.