Citations and bibliography

This looks like a great start. Like many I would be happy to see a pandoc/citeproc-like way forward here. And just FWIW, Zettlr ( deals with citations in a fairly elegant way, might be worth a look.


I just tried obsidian-citation plugin which is a good start. I totally agree that there is no need to create a note for every citation. It would be nice if obsidian makes an embedded option of automatically rendering the citation written in Pandoc format as (author, year) or author (year).

1 Like

But… You can ?

It’s the same template form as the note.
You can also change the markdown link form ??

Also, for the auto-update, do you know that you can use Better BibTex in Zotero, so you can auto-update ???
Literally it’s on the README of the plugin :

Also, in Zotero you can change the citekey !
Don’t forget to have your citekey in your pandoc citation, unless it will be not recognize.

Thanks for your suggestion. It seems that Obsidian does not support rendering Pandoc {{citekey}} directly into sth. like author (year) and add APA reference underneath based on the .bib file. I’m right? Because I don’t want to create a note for every citation.

I don’t think Obsidian should replace the functionality of a reference manager. While I understand that some like to have everything under a single app, note-taking and reference management are two very different apps with very different needs.

I disagree with this. I see no reason to reinvent the wheel and create yet another custom syntax to define references. This would also be the way to define references in-document as you mentioned later on the thread. YAML might be verbose, but that’s because the elements required to format a reference demand it.

I agree with the rest, it definitely will be useful and valuable to display in the app and export the formatted references in the PDFs.

I agree with @argentum objections and this is why I created this new FR:

Which basically preaches a strict adherence to the Pandoc-standard and reuse of already existing tools for in-app preview (citeproc-js).


This will insert a Pandoc citation but this does not generate the bibliograhy/

I am well aware of Better BibTex and I am using it since many years. Auto-update works fine for small libraries. I have almost 13000 items, which make export of the full library extremely slow: Zotero / BBT are not designed to handle tasks asynchronously, which means that for a library of this size every action takes a few seconds, so if on top of each edit you add an auto-update, it’s hell (if you read well my first message, I already explained that it’s slow). So the solution is to move only items to be cited to a dedicated folder, but then… it’s again doing micro-management.

Sorry I think that I was not clear enough. I don’t want Obsidian to replace Zotero and serve as a bibliography management (I think merging too many functions is the best way to have something over-complex and slow). My point is to have a way to make give bibliographical information independently of another software (for example, to avoid saving every single link or video in Zotero). For example, let’s say I want to quote a book / video / links with metadata (authors, title, link, etc.) repetitively in a note: you cannot really do it now (footnotes give duplicate, tagged link allows just a link). What would be nice is a way to be able to insert the metadata in a note and be able to quote à la Pandoc without having to use Zotero.

In the current case all the YAML information is not necessary because we just need a proper link between a citation and the corresponding source. To take the example above, if I want to quote a video / book in a note (and in this note only), I don’t want to go through all the YAML writing, I just want to specify somewhere the metadata in the easiest possible way.

Example: write the text

[@Smith02, p. 1] blabla some text, [@Smith02, ch. 3] etc.

add at the end of the note:

[@Smith02]: Smith - Some title (2021)

and just render the same way with links (or replacing [@Smith02, p. 1] with [1, p. 1] as an option). There is no need for YAML metadata.

@WhiteNoise : thanks for the additional FR: for the reasons explained above, I don’t agree with the objections, but I would be already very happy to have pure Pandoc implemented. So if your proposal gets more attention and support, I am in :slight_smile:


Isn’t this exactly what a reference manager does?

As an alternative, download your citation as a bib file (which is also a way to do reference management) and put it in your vault, you can call this from pandoc.

Then this is not a proper citation and you could use an existing web clipper to write inline footnotes. Note that the footnote definitions can be written also immediately after the text you wrote and don’t need to go at the end of the file.

What I am explaining is that if I want to cite something in a unique Obsidian note and nowhere else in all my computer, I don’t see the point of inserting it in my reference manager. As I said, I have already 13000 items, if I can avoid adding many entries which I will use in a single context, then it would simplify my life. And current ways to cite (links or footnotes) are not adequate for reasons explained above and again below.

As explained above: generating a bibtex file from Zotero is a very long process in my case (and for anyone having a large library). And I don’t want to maintain two different reference management systems: you can imagine that if I have 13000 items, it’s too much work (and I don’t like pure bibtex management, even with jabref or kbibtex).

Again, I have already explained why footnote are not useful: if you want to refer the same footnote at multiple places, the inline footnote reference is rendered as [1-1], [1-2], etc. And all these back-reference appear after the footnote in the bottom. So if you want to cite something 35 times, you get 35 backlinks in the footnote and it’s ugly. If it were possible to disable backlinks, then this would be fine. The other problem is that if you cite with footnotes and want to add a specification like page number or time in video, then you need to create different footnotes and duplicate all information inside (except if you start using “ibid.” or crazy abbreviations, but I still think that citing should be automated: you give in one place the source information, then you cite possibly with more precise information, and you avoid duplicate of links/backreferences, etc.).

My intention is not to bother you, I am trying to explain the difficulties of what you’re asking. I can see where you are coming from, but it’s considerably hard (at least for me) to imagine a solution which doesn’t require reference management, but provides you all the citation capabilities you want.

By the way, if you are using Better BiBTeX with Zotero I would recommend generating smaller bib files (e.g. by exporting them from a collection). I think probably you’re not citing all 13k of them in obsidian, but even if you are, smaller bib files most likely will help you there. Another option is to have a separate profile for your casual web linking citations: kb:multiple profiles [Zotero Documentation]

1 Like

Similar topic question. What I’d like to do is create a citation / reference page, say to a book I’ve read and include the full citation on it like this:

then have the ability to link to it as a reference in another document WITHOUT Obsidian considering the initial citation an ‘uncreated’ page.

Right now, the only way I have found to do this, without creating an obtrusive colored blue blockquote, is to make the citation a link. However, when I do this Obsidian sees it as an unresolved link.
I don’t want a bunch of citations showing up on the Graph as links waiting to be turned into pages. They are already a page with a short title, full of notes and meta. I prefer to use the full citation instead of a shortened title page link.


I’m not sure I understood exactly what you’re trying to do.

If the citation is already in a page, and I assume under a ## Citation heading, couldn’t you embed that?

I can, I just don’t like the blockquote - If I add multiple references the bottom of my page ends up with a bunch of these blue blocks. Looks messy. I’d like to just have them neatly listed.

You can edit that with css (keep in mind it will apply to all your embeds). Otherwise, personally, I would use pandoc for this.

1 Like

Thanks, @argentum - I’m a complete newbie to pandoc so that may be temporarily over my head. :blush:
I’ll add it to my list of ‘things to learn’. I did check out the site though and I can see why you recommend it.

I appreciate having other inputs, I think it’s important to refine the idea. Overall, having pure Pandoc + literature note linking as explained in the other FR would satisfy 95% of my needs. Having the possibility to complement the bibliography by hand in the file itself would be great, but not imperative. However, I am not sure to see why it would be hard. And sorry about the tone, I got a bit irritated because I had the impression to explain several times the same thing, especially that I want to avoid as many actions as possible with Zotero because it is SO slow and I am already loosing so much time with this.

Indeed, you can have a reference section at the end of the markdown file with a few references not present in the bibliography file. These items could be formatted as:

[@notinbib]: Smith. “An amazing work”.

and I can use [@notinbib] to cite in the text, along with any other item present in the bibtex file., say [@inbib]. Now for the preview / export, Pandoc is first called to generate the bibliography from the bibtex file as usual, and it inserts it in the reference section (let’s say that there are 17 such items). Then we process by hand the remaining citation, replacing [@notinbib] by [18] in the text, and then append to the Pandoc-generated list all remaining items. Obviously, this works well for number-based citations, less for name-based citation, but I am sure we can come up with some heuristics/convention.

Also let me re-say a motivation for this: someone may not want to use a reference management software and just cite a few things in some notes, in which case having a simpler system may be appreciated.

I admit it starts to be specialized, so I could imagine this being done by a plugging and not in Obsidian’s core itself (which would process online pure Pandoc, following @WhiteNoise suggestion). The only thing is that the bibliography generation should allow for a way to intervene and reprocess/add references to the list with plugins.

Thanks for the suggestions. Now I am using a collection “Obsidian” where I am moving only what I may use in Obsidian. The only problem is that I have to think in advance what I will likely write on, and this adds some micro-management (moreover, because of the lag problem I mentioned, moving one item blocks Zotero for a few seconds, so it’s painful to move several documents one after this other). I had not thought of using two profiles: I have to think about it, although I fear that it would require too much shifting.

@melsophos does it help if you change your betterbibtex auto-export preferences from “on change” to “when idle”? This would prevent the betterbibtex plugin from processing a huge bib file each time you change a single letter in zotero - it would rather work in the background as soon as you switch back to obsidian or any other app…

1 Like

Just my 2 cents: learning how to use BibDesk was by far the best time investment in my academic life, and learned pretty early on that a central bib database is really the only way to go.
You may think that it’s not worth bothering with putting in a reference used only once. But you never know down the line if you’re going to use it again, and having to search for it in multiple places and in notes is just annoying (at least it was for me – have done my fair share of these things too).
Of course YMMV.


I am using “manually” to have full control on when it is done. I never tried “on idle” since I was not sure of when it would be triggered but maybe I can try. Thanks for suggesting!

I am new to the Obsidian community and this is my first post. So, I am very humbly offering my thoughts here as a point-of-view. I do so because I have a keen interest and hope for using obsidian as a knowledge-content management “tool” in a workflow spanning from post-capture of a reference source into ref mgmt syst (Zotero in my case), to the point of publishing articles, books and web content — all with content continuity.

I come from the Scrivener, Notion, Roam Research worlds as a reference point with great hope Obsidian intends to become such a tool on the longer end.

My attraction to Obsidian is its plain text, local file, interlinking knowledge graph design center for all the many reasons these are valuable, and these are the decisive reasons that warrant the investment of time differentially into learning, using and helping to advance the dev of Obsidian.

The paramount goal for me, and perhaps others here, is to end up possess a “knowledge-content creation workflow management system” on the long-end. The attraction to Obsidian in it having the base attributes mentioned above, and the potential for becoming such a system spanning functionality from content capture, to coding (classifying, tagging), content revision and maintenance, content inter-linking, content exploration, analysis and publishing.

This would mean Obsidian supporting a workflow that can would:

  • continuously build up a universally useful and accessible inter-linked, content-classified personal-professional knowledge-graph, and in so being
  • provide a tool useful for doing productive knowledge processing, content creation in service to our personal and career work needs
  • provide note functionality across the entire knowledge-content workflow from ideation to content analysis, creation and publishing of ongoing works, in all contemporary forms.

Note taking is vital to this, but hardly a “whole-product” solution or platform.

As a result, IMHO there are a couple of points in this discussion that while notable for being valid, seem vector away from clearly inform Obsidian development objectives in regard to WHAT independent of HOW:

  • Argentum, I believe you are 100% correct in saying that Obsidian should not seek to build and become a replacement for current reference management apps
  • However, needing Obsidian to be a note taking and using app that is low friction, productive and value-adding in using and syncing content that exists in reference mgmt and other apps critical to meet user content-knowledge management workflow, is another matter.
  • Yes, the needs of note-taking and reference management are different, but both are essential needs within any users singular but broader workflow.

Please forgive me for applying the metaphor, that if one needs and wants a hole put into something “to do their real work,” then that alone is the reason they will or should buy and use a drill. Obsidian is a drill. Therefore, creating and getting notes, citations, et al. into Obsidian is not the end goal, nor does the content used in our workflows, start or end in Obsidian.

Moving content through obsidian from external input to external use and end points of our workflow, effectively and efficiently, defines (in my view) the primary function of Obsidian or any such note-taking tool. This being even more so true for Obsidian because they are developing knowledge-graph functionality, and their revenue and business model is dependent upon the publishing end of such workflows.

In the end, I think this actually makes the point I am trying to highlight, indicating that for any next generation note taking tool to fill real world user needs, means doing so within real world user workflows. Especially those that lead to publishing. It would seem then that any such app logically be able to pull, use-modify and output not just reference management content and metadata. But, also do the same more broadly to and from apps that perform qualitative and statistical data analysis and others function needed by and before the publishing and presentation stage.

1 Like