How to turn off #cite() linking to bibliography?

I am building a Curriculum Vitae with Typst through Quarto (which is irrelevant to my issue). I’ve had great success customizing everything to my liking, but one area I haven’t figured out or been able to find anything about is the ability to turn off citations that I’ve added to my CV from being linked to a bibliography. I’ve created a minimal example below.

#outline()

= Peer Reviewed Publications
== Journal Articles
#set enum(
  reversed: true,
  indent: 1em
)
+ #cite(<jumper_highly_2021>, form: "full")
+ #cite(<varadi_alphafold_2022>, form: "full")

#set text(size: 0pt, fill: white)
#bibliography("test.bib", style: "apa")

The test.bib file can be created with the citations shown, but the actual citation does not matter.

The typst code produces:

In my use case, I don’t want an actual bibliography at the end of my CV but rather list my citations as such in an order I set. The last issue I want to fix in my scenario is the ability to turn off the automatic linking of the citations to the hidden bibliography within the document. This would be confusing to people who I share my CV with as it takes one to a blank part of the CV.

Edit: I have found this open GitHub Issue in typst/typst related to turning off linking, but wanted to ask the broader community if they knew of a workaround. Thanks!

Hello.

It doesn’t compile. Not everyone has a bib file nearby.

What is “citations show”?

What is your order? Ability to select how a bibliography is sorted · Issue #3913 · typst/typst · GitHub

Use #show bibliography: none. Multiple bibliographies · Issue #1097 · typst/typst · GitHub

Workarounds to issues are posted in the issue’s page. Because there is no way to retrieve the formatted citations without cite, you can’t reimplement it without the link. Although it might be possible with alexandria – Typst Universe.

Apologizes if my post was not clear. I have attached the citations, but cannot directly upload the .bib file due to the typst forum not allowing .bib uploads. I meant to type “citations shown” which has been updated in my original post. By setting:

#set enum(
  reversed: true,
  indent: 1em
)
+ #cite(<jumper_highly_2021>, form: "full")
+ #cite(<varadi_alphafold_2022>, form: "full")

I am able to achieve the order that I want. In a CV, I like to list publications by date of publication, hence why I chose to use the #cite(form: "full") notation. In doing it this way, the citations appear in a numbered list like a bibliography without having to format a bibliography as issue #3913 discusses. I am very happy with this and have no issues or questions regarding any sorting of citations.

Using the #show bibliography: none works to remove some of my unnecessary code. I was not looking to replace cite with link because like you said you cannot retrieve formatted citations. But the generated PDF in-line citations made with cite contain links. My initial ask was to have an option in cite to dissallow or remove these links in the in-line citations in the PDF (I’m not meaning those in the doi or the url for the source but those when you hover over the authors’ name or the title). Prior to your suggestion of #show bibliography: none, these links redirected to the hidden bibliography at the end. Now they redirect to the outline, which is better than I had originally.

I figured I would ask here to get some guidance from the community as I’m still new to Typst and wanted to see if there was something I was missing that could help me. Thank you for your suggestions!

@article{jumper_highly_2021,
	title = {Highly accurate protein structure prediction with {AlphaFold}},
	volume = {596},
	issn = {0028-0836, 1476-4687},
	url = {https://www.nature.com/articles/s41586-021-03819-2},
	doi = {10.1038/s41586-021-03819-2},
	language = {en},
	number = {7873},
	urldate = {2025-05-27},
	journal = {Nature},
	author = {Jumper, John and Evans, Richard and Pritzel, Alexander and Green, Tim and Figurnov, Michael and Ronneberger, Olaf and Tunyasuvunakool, Kathryn and Bates, Russ and Žídek, Augustin and Potapenko, Anna and Bridgland, Alex and Meyer, Clemens and Kohl, Simon A. A. and Ballard, Andrew J. and Cowie, Andrew and Romera-Paredes, Bernardino and Nikolov, Stanislav and Jain, Rishub and Adler, Jonas and Back, Trevor and Petersen, Stig and Reiman, David and Clancy, Ellen and Zielinski, Michal and Steinegger, Martin and Pacholska, Michalina and Berghammer, Tamas and Bodenstein, Sebastian and Silver, David and Vinyals, Oriol and Senior, Andrew W. and Kavukcuoglu, Koray and Kohli, Pushmeet and Hassabis, Demis},
	month = aug,
	year = {2021},
	pages = {583--589},
}

@article{varadi_alphafold_2022,
	title = {{AlphaFold} {Protein} {Structure} {Database}: massively expanding the structural coverage of protein-sequence space with high-accuracy models},
	volume = {50},
	copyright = {https://creativecommons.org/licenses/by/4.0/},
	issn = {0305-1048, 1362-4962},
	shorttitle = {{AlphaFold} {Protein} {Structure} {Database}},
	url = {https://academic.oup.com/nar/article/50/D1/D439/6430488},
	doi = {10.1093/nar/gkab1061},
	language = {en},
	number = {D1},
	urldate = {2025-05-27},
	journal = {Nucleic Acids Research},
	author = {Varadi, Mihaly and Anyango, Stephen and Deshpande, Mandar and Nair, Sreenath and Natassia, Cindy and Yordanova, Galabina and Yuan, David and Stroe, Oana and Wood, Gemma and Laydon, Agata and Žídek, Augustin and Green, Tim and Tunyasuvunakool, Kathryn and Petersen, Stig and Jumper, John and Clancy, Ellen and Green, Richard and Vora, Ankur and Lutfi, Mira and Figurnov, Michael and Cowie, Andrew and Hobbs, Nicole and Kohli, Pushmeet and Kleywegt, Gerard and Birney, Ewan and Hassabis, Demis and Velankar, Sameer},
	month = jan,
	year = {2022},
	pages = {D439--D444},
}
#import "@preview/alexandria:0.2.0": (
  alexandria, get-bibliography, load-bibliography, render-bibliography,
)
#show: alexandria(prefix: "", read: path => read(path))

#outline()

= Peer Reviewed Publications
== Journal Articles
#set enum(reversed: true, indent: 1em)
+ #cite(<jumper_highly_2021>, form: "full")
+ #cite(<varadi_alphafold_2022>, form: "full")

#load-bibliography("test.bib", style: "apa")
#context render-bibliography(get-bibliography(""), title: none)

hayagriva.typ:

        if "entry" in body.meta {
          assert.ne(keys, none, message: "Alexandria: internal error: citation keys are missing")
          assert(body.meta.entry < keys.len(), message: "Alexandria: internal error: unmatched key in citegroup")
          let entry = keys.at(body.meta.entry)
          // it = link(entry, it)
        }

lib.typ:

    for (i, e) in bib.references.enumerate() {
      if i != 0 { gutter }
      [#metadata(none)#label(bib.prefix + e.key)]
      // hayagriva.render(e.reference)
    }

1 Like