hans / obsidian-citation-plugin

Obsidian plugin which integrates your academic reference manager with the Obsidian editor. Search your references from within Obsidian and automatically create and reference literature notes for papers and books.
MIT License
1.12k stars 83 forks source link

Insert backlink(s) to PDF of the reference (e.g., from "file" field from the BibTeX entry, if available) #181

Open davidromerot opened 2 years ago

davidromerot commented 2 years ago

Is your feature request related to a problem? Please describe. Not a problem, but a workflow improvement. Use case: I am reading a paper in an external PDF viewer (b/c I cannot annotate the PDF with Obsidian's internal viewer). I decide I want to write literature notes for this PDF, so I use the shortcut (C-S-o) to create a literature note from the template. Currently, I have no way of linking to the PDF file, b/c the template cannot insert BibTeX's {{file}} field in the YAML at the top of the note.

Describe the solution you'd like Ability to include a file (or files) link(s) into the template for the literature note, either in the YAML header (e.g., adding a {{file}} option for the template), or just as a regular backlink at the bottom or top of the note itself. This obsidian/markdown/gfm backlink would be created by processing the "file" field from the BibTeX entry, potentially adding several links (if there is more than one file in that BibTeX entry). That way, in the future I can read the literature note and quickly/easily navigate to the corresponding PDF.

Ideally, this would also insert links/contents of the PDF annotations, but I know that is a much more complicated matter.

Note that this workflow is independent of Zotero. Of course, for Zotero the plugin already has a protocol-type link to open the PDF or go to that entry inside Zotero.

Describe alternatives you've considered N/A

Additional context

ToppDev commented 1 year ago

Any progress/plans for this one? I would love to have a {{file}} variable for the templates.

For me also it would be enough to just use the first file of an entry, if there are multiple.

If it helps, the field looks like this with me (; is used to separate the entries)

file = {.../library/first.pdf;.../library/second.pdf;.../library/Third.pdf}