New plugin: Citations (with Zotero)

Hello!
Does somebody know if it is possible to limit the number of words with the variable {{title}}? For example, if the title of some paper has 10 words, is it possible to restrict the result to the first 4 or 5 words?
Thank you so much in advance!

2 Likes

I need some help here. Has anyone experienced that the plugin suddenly can’t read the .bib file? I have the same .bib file that I have used for ages, and I know that it is full of data, but the Citations plugin says it has loaded 0 references! I have tried to do a new automatic export with BetterBibTex in Zotero and pointing the Citations plugin towards the new file, but still nothing. Hope anyone can help!

@Kullenej I have just tested it and it’s still working for me.
But I remember in the beginning I struggled with something similar, and it turned out I had a few invalid things in the bib file. (I use BibDesk to maintain the bib file, and if you put some invalid characters (like special characters) in some of the fields, then apparently the bib file gets invalid, and the plugin can’t read it at all. Biblatex still read my bib file fine.)

If you remember what were the last items you added after which it stopped working, you may want to check them. You can also make a copy of the .bib file, delete the last added items, and see if it works – if so, the problem is in the last added items.

Thank you so much - that was the problem of course! :smile:

1 Like

I’m having the same issue that @Thom had last January, but the root cause seems to be different.

I have Better BibTex installed in Zotero, I’ve exported my library as Better CSL JSON, I’ve copied the path to My Library.json and pasted it into Obsidian’s ‘Citation database path’ which acknowledges “Loaded library with 3777 references.” Keying Shift + Option + E brings up the list of references, but when I click Enter to insert the correct citation I get the error “Unable to access literature note. Please check that the literature note folder exists, or update the Citations plugin settings.”

Any ideas?

2 Likes

For people already using this great plugin, I made a companion Zotero add-on that marks which Zotero items you have already made Obsidian notes for.

The ZoteroObsidianCitations add-on searches your Obsidian Vault and adds a tag to the corresponding items in your Zotero database. You can color this tag so that Zotero items associated with MD notes are visible at a glance. It also adds a contextual menu to the Zotero items that lets you open an existing MD note in Obsidian.

The add-on is very minimal so let me know if it doesn’t work for your use-case, if you find bugs, or if there are other features you’d like to see.

E.g., in this image, the blue marker shows which items I’ve made Obsidian notes for

ZoteroObsidianCitationsMenu

6 Likes

I find your addon SUPER, even if it has not yet led to the goal or success with me.

I export Zotero items that I want to work with in Obsidian with the Zotero addon “mdnotes”.
This creates Markdown files with the title
@CITEKEY.md” (example: “@Akal_ea_2018_DistributedSensing.md”).

These are located in the Obsidian Vault in a folder. The files also contain the additional Zotero link with the Zotero ID as the metadata field:

...
- title:: A Distributed Sensing Approach for Single Platform Image-Based Localization
- local:: [local zotero](zotero://select/items/1_4AYCPGBV)
- cloud:: http://zotero.org/users/4847583/items/4AYCPGBV
...

Example file: @Akal_ea_2018_DistributedSensing.md

The corresponding Zotero items should now get a tag “ObsCite”.
In my case, there is NO exported JSON file of all Zotero items. Your addon aborts the sync with the error message “BBT JSON Library not found”.
What is the purpose of the BBT JSON Library? Surely the information is directly accessible to the addon in Zotero?
My Zotero contains about 80000 entries. If I would set an auto-export, every time I make a change in Zotero, the whole database would be exported.

In my opinion, this file is not necessary:

  • Search Obsidian folder
  • each file starting with “@” is a citekey probably present in Zotero
  • Search this citekey in the Zotero database
  • if found, then assign tag "ObsCite
  • if not found (e.g. because deleted in Zotero in the meantime but still present in Obsidian), then write to a “missing entry” list
  • Write the list with the missing entries:
    • as a Zotero note or
    • write it as a Markdown file into the specified folder with the citekeys
    • Suggested name: “zotero-obsidian-citations missing-entries.md”.

Is there a reason for needing the BBT JSON library that I’m just not seeing?

1 Like

EDIT: I added an option to specify a regex pattern to extract the Zotero Key from your MD notes (and fixed an issue to handle different patterns of MD file names). Please try the v0.0.2 release and let me know how it works.

thanks for trying it out, @bepl. As crazy as it sounds, the citekey isn’t directly accessible from within Zotero. Hopefully this will change in a future Zotero release. The sole purpose of the BetterBibTex JSON export is to map BBT citekeys to Zotero item IDs. You can see my discussion on this topic here: how does Zotero locate the correct item from a BBT citekey using the zotero://select/items/ link? - Zotero Forums

In your case, the item ID and BBT citekey are both explicit in your MD note, so I could add a setting to pull the item ID from the metadata of the note. If other people would also find that useful, please chime in. (In my case, only the citekey is explicit in the MD note so I need the JSON export to get the Zotero IDs.)

(FYI if missing entries are found, the add-on should prompt you to save the list as a text file – that’s already in place.)

Hi @dae , thank you so much for this plugin.

I have installed it, but have a problem specifying the source of Zotero item ID in the setup. I have no BBT json export, but a bib file. The notes are entitled as @citekey and some of them contain the RegEx.
How should I configure the plugin?

1 Like

Hi @warguelles — thanks for trying it out. Can you make an issue on the github and upload a sample MD file?

@dae thank you so much!

I just created the issue on github… hope it works!

@warguelles fyi I added an option that’ll work without a BBT JSON library export, assuming that the BBT citekeys are pinned in Zotero.

I’m having a problem getting “creators” show up in the {{author}} field. Does this have to do with the citation style rules itself or citations is not mapped correctly to include creators, directors, editors, etc. when querying the .bib library?

This is a fantastic plugin. Thank you.

My question: I have hundreds of citations in my reference manager library. I dont want to manually add them into obsidian by selecting them one by one and creating a new note. Is there a way to automate it so an Obsidian note is created for each citation in the exported library file? Sorry if there’s and obvious answer to this question. I’m just not sure how to do it. I’m a novice.

I would love to know this too. I’m having some success with this, but I don’t really know what I’m doing:

{{#if entry.titleShort}}{{entry.titleShort}}{{else}}{{title}}{{/if}}

This plug-in has transformed how I go about my academic notes, so thank you to those who wrote it.

I managed to get more or less everything up and running as I would like it to, but I just have one nagging little issue left:
If I use {{title}} or {{entry.titleShort}} in the Literature Note Title Template, I lose capitalization of every word except for the very first one. The same {{title}} instead renders with the correct capitalization in the Literature Note Content Template.

I noticed that I can manually fix this by going into the .bib file and manually surrounding every word that needs to be case-preserved in curly brackets. Not a feasible project for several thousand entries, obviously. Does anyone know a fix, a workaround or even where does the problem originate?
Thanks!

Hi. I like this plugin a lot.

However, I noticed that the {{year}} almost always is behind by one year from the actual year of publication in Zotero. I am a noob when it comes to the bib/json file. Is there any way to fix this? Thank you.

Many thanks to this awesome plugin!

I have two quick questions:

  1. Like many of you, I am using Dropbox to store my .bib file. I use Obsidian on multiple windows machines. Unfortunately, all have different internal file paths to the .bib file (work machines). Now when switching the PC, I always must update to the correct file path of the .bib file. I was wondering if there is a solution for this. I tried using %homedrive%%homepath% but had no luck. Zotfile has a elegant solution to this imo. Is there a workaround?

  2. Is there any way to quickly update multiple literature notes when I change some information in zotero. For example, if I change the cite key.

Many thanks!!

This plugging deserves an award! I used to do everything this plugging does manually, and it wasn’t very “clean.” This is amazing. Thank you!

Hi everyone,
brief question if anyone else experiences a similar issue.

I installed the plugin on the latest version of Obsidian on Mac.
In the preferences I defined the notes folder and created it in my vault. When I try to add a new note I get an error that the folder is not available and I should create it.
I checked it on the file system, iCloud, and it is actually there.

Uninstalling and reinstalling the plugin doesnt help. Any idea?

Thanks