Add a citation help partial with corpus, KorAP and annotation parts

Add a citation help partial that lists how to cite a KorAP instance: the
corpus it serves, KorAP itself, and the annotation and classification
tools its data was prepared with. Instances include it wherever they
present citation information, e.g. on a documentation page.

It is assembled from three parts -- corpus, korap and annotation -- so
that an instance can replace individual parts and inherit the rest.
Kalamar ships no corpus of its own, so the corpus part is a placeholder
that instances replace by the citations for their corpus, while the
korap and annotation parts are normally inherited unchanged.

Every entry carries a COinS (Z3988) span, which lets reference managers
such as Zotero import it with one click. The section headings are
localized in kalamar.dict and kept free of corpus-specific names.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Change-Id: Ib9ccc607fe5387027b8d151901d364f6589b62ac
diff --git a/kalamar.dict b/kalamar.dict
index 42f7362..1a5769a 100644
--- a/kalamar.dict
+++ b/kalamar.dict
@@ -54,6 +54,10 @@
     },
     activateJS => 'Für den vollen Funktionsumfang aktivieren Sie bitte JavaScript!',
     faq => 'FAQ',
+    citationIntro => 'Wenn Sie die hier bereitgestellten Forschungswerkzeuge und Korpusdaten in Ihrer Forschung verwenden, zitieren Sie bitte mindestens je eine der aufgeführten Publikationen zu KorAP und zur Korpusgrundlage sowie – sofern einschlägig – die relevanten Publikationen zu den verwendeten Annotationen, Klassifikationen und Aufbereitungen:',
+    corpusPub => 'Korpusgrundlage',
+    korapPub => 'KorAP',
+    annotationToolPub => 'Korpusaufbereitung, Annotation und Klassifikation',
     tutorial => 'Hilfe',
     tour => 'Tour',
     notAvailInCorpus => 'Im vorliegenden Korpus nicht verfügbar',
@@ -204,6 +208,10 @@
     },
     activateJS => 'To make use of all features, please activate JavaScript!',
     faq => 'FAQ',
+    citationIntro => 'If you use the research tools and corpus data provided here in your research, please cite at least one of the listed publications on KorAP and on the underlying corpus and, where applicable, the relevant publications on the annotations, classifications and preparation steps used:',
+    corpusPub => 'Corpus basis',
+    korapPub => 'KorAP',
+    annotationToolPub => 'Corpus preparation, annotation and classification',
     'oclock' => 'o\'clock',
     underConstruction => 'Under Construction!',
     tutorial => 'Help',
diff --git a/t/citation.t b/t/citation.t
new file mode 100644
index 0000000..fc8c086
--- /dev/null
+++ b/t/citation.t
@@ -0,0 +1,26 @@
+use Mojo::Base -strict;
+use Test::More;
+use Test::Mojo;
+use Mojo::File qw/curfile/;
+
+my $t = Test::Mojo->new('Kalamar');
+push @{$t->app->renderer->paths}, curfile->dirname;
+
+my $c = $t->app->build_controller;
+
+# By default all three shipped parts are used; Kalamar ships no corpus, so
+# the corpus part is a placeholder.
+my $default = $c->include('partial/citation');
+like($default, qr/Under Construction/, 'corpus part is a placeholder by default');
+like($default, qr/KorAP architecture/, 'korap part is shipped');
+like($default, qr/MaltParser/, 'annotation part is shipped');
+
+# Each part can be replaced by an instance template.
+my $custom = $c->include('partial/citation',
+  corpus_citation => 'custom/partial/citation/corpus');
+like($custom, qr/The Example Corpus/, 'corpus part replaced by the instance template');
+unlike($custom, qr/Under Construction/, 'placeholder no longer rendered');
+like($custom, qr/KorAP architecture/, 'korap part still inherited');
+like($custom, qr/MaltParser/, 'annotation part still inherited');
+
+done_testing;
diff --git a/t/custom/partial/citation.html.ep b/t/custom/partial/citation.html.ep
index bc92d8f..d47c05d 100644
--- a/t/custom/partial/citation.html.ep
+++ b/t/custom/partial/citation.html.ep
@@ -1,5 +1,5 @@
 <section>
-  <h4><%= loc 'recentCorpusPub' %></h4>
+  <h4><%= loc 'corpusPub' %></h4>
 
   <p class="bibentry">IDS (2023): <cite><a href="https://www.ids-mannheim.de/digspra/kl/projekte/korpora/">Deutsches Referenzkorpus / Archiv der Korpora geschriebener Gegenwartssprache</a></cite> 2023-I (Release vom 31.03.2023).<br />Mannheim: Leibniz-Institut für Deutsche Sprache.
   </p>
@@ -18,7 +18,7 @@
 </section>
 
 <section>
-  <h4><%= loc 'recentToolPub' %></h4>
+  <h4><%= loc 'korapPub' %></h4>
 
   <p class="bibentry">Diewald, Nils/Bodmer, Franck/Harders, Peter/Irimia, Elena/Kupietz, Marc/Margaretha, Eliza/Stallkamp, Helge (2021): <cite><a class="extern" href="https://nbn-resolving.org/urn:nbn:de:bsz:mh39-103342">KorAP und EuReCo – Recherchieren in mehrsprachigen vergleichbaren Korpora</a></cite><br />In: Lobin, Henning/Witt, Andreas/Wöllstein, Angelika (Hrsg.): Deutsch in Europa. Sprachpolitisch, grammatisch, methodisch. Jahrbuch des Instituts für Deutsche Sprache 2020. (= Jahrbuch des Instituts für Deutsche Sprache 2020). Berlin/Boston: de Gruyter, 287-294.
     <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_id=urn%3Aisbn%3A978-3-11-073519-2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=KorAP%20und%20EuReCo%20%E2%80%93%20Recherchieren%20in%20mehrsprachigen%20vergleichbaren%20Korpora&amp;rft.btitle=Deutsch%20in%20Europa.%20Sprachpolitisch%2C%20grammatisch%2C%20methodisch.&amp;rft.place=Berlin%20%5Bu.a.%5D&amp;rft.publisher=de%20Gruyter&amp;rft.series=Jahrbuch%20%2F%20Leibniz-Institut%20f%C3%BCr%20Deutsche%20Sprache%20(IDS)%20-%202020%20-&amp;rft.aufirst=Nils&amp;rft.aulast=Diewald&amp;rft.au=Nils%20Diewald&amp;rft.au=Franck%20Bodmer&amp;rft.au=Peter%20Harders&amp;rft.au=Elena%20Irimia&amp;rft.au=Marc%20Kupietz&amp;rft.au=Eliza%20Margaretha&amp;rft.au=Helge%20Stallkamp&amp;rft.au=Henning%20Lobin&amp;rft.au=Andreas%20Witt&amp;rft.au=Angelika%20W%C3%B6llstein&amp;rft.date=2021&amp;rft.pages=287-293&amp;rft.spage=287&amp;rft.epage=293&amp;rft.isbn=978-3-11-073519-2'></span>
diff --git a/t/custom/partial/citation/corpus.html.ep b/t/custom/partial/citation/corpus.html.ep
new file mode 100644
index 0000000..54000b2
--- /dev/null
+++ b/t/custom/partial/citation/corpus.html.ep
@@ -0,0 +1,5 @@
+<section>
+  <h4><%= loc 'corpusPub' %></h4>
+
+  <p class="bibentry">Example Institute (2026): <cite>The Example Corpus</cite>.</p>
+</section>
diff --git a/t/page.t b/t/page.t
index 123a720..6edbe85 100644
--- a/t/page.t
+++ b/t/page.t
@@ -42,13 +42,16 @@
 # Test additions
 $t = Test::Mojo->new('Kalamar' => {
   'Localize' => {
+    # Behave like a real instance conf: let these entries override the
+    # defaults now shipped in kalamar.dict (corpusPub etc.).
+    override => 1,
     dict => {
       en_howToCite => 'Citation Help',
       de_howToCite => 'Zitierhilfe',
-      en_recentCorpusPub => 'Recent publications to refer to DeReKo as linguistic research data',
-      de_recentCorpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
-      en_recentToolPub => 'Recent publications to refer to KorAP as a research tool',
-      de_recentToolPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
+      en_corpusPub => 'Recent publications to refer to DeReKo as linguistic research data',
+      de_corpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
+      en_korapPub => 'Recent publications to refer to KorAP as a research tool',
+      de_korapPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
       title_addon => 'Test',
     }
   },
diff --git a/templates/partial/citation.html.ep b/templates/partial/citation.html.ep
new file mode 100644
index 0000000..eb26106
--- /dev/null
+++ b/templates/partial/citation.html.ep
@@ -0,0 +1,17 @@
+%# Citation help: how to cite this KorAP instance -- the corpus it serves,
+%# KorAP itself, and the tools its data was annotated and classified with.
+%#
+%# Each part can be replaced by an instance template, e.g. to cite the corpus
+%# the instance actually serves -- Kalamar ships no corpus of its own, so the
+%# corpus part is only a placeholder:
+%#
+%#   %= include 'partial/citation', corpus_citation => 'custom/partial/citation/corpus'
+%#
+%# The korap and annotation parts describe KorAP and the standard
+%# KorAP-Ingestion pipeline and are normally used as they are.
+%# (%#-lines are comments and never reach the HTML.)
+<p class="citation-intro"><%== loc 'citationIntro' %></p>
+
+%== include stash('corpus_citation')     // 'partial/citation/corpus'
+%== include stash('korap_citation')      // 'partial/citation/korap'
+%== include stash('annotation_citation') // 'partial/citation/annotation'
diff --git a/templates/partial/citation/annotation.html.ep b/templates/partial/citation/annotation.html.ep
new file mode 100644
index 0000000..77b74df
--- /dev/null
+++ b/templates/partial/citation/annotation.html.ep
@@ -0,0 +1,54 @@
+%# Shared references for the annotation and classification tools of the
+%# standard KorAP-Ingestion pipeline. Normally inherited unchanged; replace
+%# per instance only if your pipeline differs.
+<section>
+  <h4><%= loc 'annotationToolPub' %></h4>
+
+  <p class="bibentry">Kupietz, Marc/Diewald, Nils/Lüngen, Harald/Margaretha Illig, Eliza/Stallkamp, Helge/Tran, Uyen-Nhu/Yaddehige, Rameela (2026): <cite><a class="extern" href="https://doi.org/10.63317/2xcbb5knp2mi">EuReCo, KorAP and DeReKo: Updates on Ingestion and Annotation Pipelines, Backend, Interfaces, Operation, and Corpora</a></cite><br />In: Proceedings of the 12th Workshop on the Challenges in the Management of Large Corpora (CMLC-12 2026). Palma de Mallorca, Spain: European Language Resources Association (ELRA), pp. 106–112. <a class="extern" href="https://doi.org/10.63317/2xcbb5knp2mi">https://doi.org/10.63317/2xcbb5knp2mi</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=EuReCo%2C%20KorAP%20and%20DeReKo%3A%20Updates%20on%20Ingestion%20and%20Annotation%20Pipelines%2C%20Backend%2C%20Interfaces%2C%20Operation%2C%20and%20Corpora&amp;rft.btitle=Proceedings%20of%20the%2012th%20Workshop%20on%20the%20Challenges%20in%20the%20Management%20of%20Large%20Corpora%20%28CMLC-12%202026%29&amp;rft.place=Palma%20de%20Mallorca%2C%20Spain&amp;rft.publisher=European%20Language%20Resources%20Association%20%28ELRA%29&amp;rft.aulast=Kupietz&amp;rft.aufirst=Marc&amp;rft.au=Marc%20Kupietz&amp;rft.au=Nils%20Diewald&amp;rft.au=Harald%20L%C3%BCngen&amp;rft.au=Eliza%20Margaretha%20Illig&amp;rft.au=Helge%20Stallkamp&amp;rft.au=Uyen-Nhu%20Tran&amp;rft.au=Rameela%20Yaddehige&amp;rft.date=2026&amp;rft.pages=106-112&amp;rft.spage=106&amp;rft.epage=112&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.63317%2F2xcbb5knp2mi'></span>
+  </p>
+
+  <p class="bibentry">Ecker, Jennifer/Kupietz, Marc (2026): <cite>Dynamic Thematic Classification for DeReKo: An Exploratory Study Using Wikipedia&#39;s Open Taxonomy</cite>.<br />In: Proceedings of the Conference on Natural Language Processing (KONVENS 2026). Hamburg (accepted). Classifier: <a class="extern" href="https://gitlab.ids-mannheim.de/ecker/wikiTaxonomy">https://gitlab.ids-mannheim.de/ecker/wikiTaxonomy</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=Dynamic%20Thematic%20Classification%20for%20DeReKo%3A%20An%20Exploratory%20Study%20Using%20Wikipedia%27s%20Open%20Taxonomy&amp;rft.btitle=Proceedings%20of%20the%20Conference%20on%20Natural%20Language%20Processing%20%28KONVENS%202026%29&amp;rft.place=Hamburg&amp;rft.aulast=Ecker&amp;rft.aufirst=Jennifer&amp;rft.au=Jennifer%20Ecker&amp;rft.au=Marc%20Kupietz&amp;rft.date=2026&amp;rft_id=https%3A%2F%2Fgitlab.ids-mannheim.de%2Fecker%2FwikiTaxonomy'></span>
+  </p>
+
+  <p class="bibentry">Ochs, Samira (2026): <cite><a class="extern" href="https://doi.org/10.65020/0619d927">Die morphosyntaktische Integration neuer Gendersuffixe: Eine korpusbasierte Analyse deutschsprachiger Pressetexte</a></cite>.<br />In: Gender Linguistics 2. <a class="extern" href="https://doi.org/10.65020/0619d927">https://doi.org/10.65020/0619d927</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Die%20morphosyntaktische%20Integration%20neuer%20Gendersuffixe%3A%20Eine%20korpusbasierte%20Analyse%20deutschsprachiger%20Pressetexte&amp;rft.jtitle=Gender%20Linguistics&amp;rft.volume=2&amp;rft.aulast=Ochs&amp;rft.aufirst=Samira&amp;rft.au=Samira%20Ochs&amp;rft.date=2026&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.65020%2F0619d927'></span>
+  </p>
+
+  <p class="bibentry">Ochs, Samira/Rüdiger, Jan Oliver (2025): <cite><a class="extern" href="https://doi.org/10.1515/9783111388694">Of stars and colons: A corpus-based analysis of gender-inclusive orthographies in German press texts</a></cite>.<br />In: Schmitz, Dominic/Stein, Simon David/Schneider, Viktoria (eds.): Linguistic intersections of language and gender. Of gender bias and gender fairness. Berlin/Boston: De Gruyter, pp. 31–62. <a class="extern" href="https://doi.org/10.1515/9783111388694">https://doi.org/10.1515/9783111388694</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Of%20stars%20and%20colons%3A%20A%20corpus-based%20analysis%20of%20gender-inclusive%20orthographies%20in%20German%20press%20texts&amp;rft.btitle=Linguistic%20intersections%20of%20language%20and%20gender.%20Of%20gender%20bias%20and%20gender%20fairness&amp;rft.place=Berlin%2FBoston&amp;rft.publisher=De%20Gruyter&amp;rft.aulast=Ochs&amp;rft.aufirst=Samira&amp;rft.au=Samira%20Ochs&amp;rft.au=Jan%20Oliver%20R%C3%BCdiger&amp;rft.date=2025&amp;rft.pages=31-62&amp;rft.spage=31&amp;rft.epage=62&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1515%2F9783111388694'></span>
+  </p>
+
+  <p class="bibentry">Honnibal, Matthew/Montani, Ines/Van Landeghem, Sofie/Boyd, Adriane (2020): <cite><a class="extern" href="https://doi.org/10.5281/zenodo.1212303">spaCy: Industrial-strength Natural Language Processing in Python</a></cite>. <a class="extern" href="https://doi.org/10.5281/zenodo.1212303">https://doi.org/10.5281/zenodo.1212303</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rft.title=spaCy%3A%20Industrial-strength%20Natural%20Language%20Processing%20in%20Python&amp;rft.type=software&amp;rft.creator=Matthew%20Honnibal&amp;rft.aulast=Honnibal&amp;rft.aufirst=Matthew&amp;rft.au=Matthew%20Honnibal&amp;rft.au=Ines%20Montani&amp;rft.au=Sofie%20Van%20Landeghem&amp;rft.au=Adriane%20Boyd&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.5281%2Fzenodo.1212303'></span>
+  </p>
+
+  <p class="bibentry">Straka, Milan (2018): <cite><a class="extern" href="https://doi.org/10.18653/v1/K18-2020">UDPipe 2.0 Prototype at CoNLL 2018 UD Shared Task</a></cite><br />In: Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies. Brussels, Belgium: Association for Computational Linguistics, pp. 197–207. <a class="extern" href="https://doi.org/10.18653/v1/K18-2020">https://doi.org/10.18653/v1/K18-2020</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=UDPipe%202.0%20Prototype%20at%20CoNLL%202018%20UD%20Shared%20Task&amp;rft.btitle=Proceedings%20of%20the%20CoNLL%202018%20Shared%20Task%3A%20Multilingual%20Parsing%20from%20Raw%20Text%20to%20Universal%20Dependencies&amp;rft.place=Brussels%2C%20Belgium&amp;rft.publisher=Association%20for%20Computational%20Linguistics&amp;rft.aulast=Straka&amp;rft.aufirst=Milan&amp;rft.au=Milan%20Straka&amp;rft.date=2018&amp;rft.pages=197-207&amp;rft.spage=197&amp;rft.epage=207&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.18653%2Fv1%2FK18-2020'></span>
+  </p>
+
+  <p class="bibentry">Manning, Christopher D./Surdeanu, Mihai/Bauer, John/Finkel, Jenny/Bethard, Steven J./McCloskey, David (2014): <cite><a class="extern" href="https://doi.org/10.3115/v1/P14-5010">The Stanford CoreNLP Natural Language Processing Toolkit</a></cite><br />In: Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations. Baltimore, Maryland: Association for Computational Linguistics, pp. 55–60. <a class="extern" href="https://doi.org/10.3115/v1/P14-5010">https://doi.org/10.3115/v1/P14-5010</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=The%20Stanford%20CoreNLP%20Natural%20Language%20Processing%20Toolkit&amp;rft.btitle=Proceedings%20of%2052nd%20Annual%20Meeting%20of%20the%20Association%20for%20Computational%20Linguistics%3A%20System%20Demonstrations&amp;rft.place=Baltimore%2C%20Maryland&amp;rft.publisher=Association%20for%20Computational%20Linguistics&amp;rft.aulast=Manning&amp;rft.aufirst=Christopher%20D.&amp;rft.au=Christopher%20D.%20Manning&amp;rft.au=Mihai%20Surdeanu&amp;rft.au=John%20Bauer&amp;rft.au=Jenny%20Finkel&amp;rft.au=Steven%20J.%20Bethard&amp;rft.au=David%20McCloskey&amp;rft.date=2014&amp;rft.pages=55-60&amp;rft.spage=55&amp;rft.epage=60&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.3115%2Fv1%2FP14-5010'></span>
+  </p>
+
+  <p class="bibentry">Mueller, Thomas/Schmid, Helmut/Schütze, Hinrich (2013): <cite><a class="extern" href="https://www.aclweb.org/anthology/D13-1032">Efficient Higher-Order CRFs for Morphological Tagging</a></cite><br />In: Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Seattle, Washington, USA: Association for Computational Linguistics, pp. 322–332. <a class="extern" href="https://www.aclweb.org/anthology/D13-1032">https://www.aclweb.org/anthology/D13-1032</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=Efficient%20Higher-Order%20CRFs%20for%20Morphological%20Tagging&amp;rft.btitle=Proceedings%20of%20the%202013%20Conference%20on%20Empirical%20Methods%20in%20Natural%20Language%20Processing&amp;rft.place=Seattle%2C%20Washington%2C%20USA&amp;rft.publisher=Association%20for%20Computational%20Linguistics&amp;rft.aulast=Mueller&amp;rft.aufirst=Thomas&amp;rft.au=Thomas%20Mueller&amp;rft.au=Helmut%20Schmid&amp;rft.au=Hinrich%20Sch%C3%BCtze&amp;rft.date=2013&amp;rft.pages=322-332&amp;rft.spage=322&amp;rft.epage=332&amp;rft_id=https%3A%2F%2Fwww.aclweb.org%2Fanthology%2FD13-1032'></span>
+  </p>
+
+  <p class="bibentry">The Apache Software Foundation (2010): <cite><a class="extern" href="https://opennlp.apache.org/">Apache OpenNLP</a></cite>. Machine-learning based toolkit for the processing of natural language text. <a class="extern" href="https://opennlp.apache.org/">https://opennlp.apache.org/</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rft.title=Apache%20OpenNLP&amp;rft.type=software&amp;rft.creator=The%20Apache%20Software%20Foundation&amp;rft.date=2010&amp;rft_id=https%3A%2F%2Fopennlp.apache.org%2F'></span>
+  </p>
+
+  <p class="bibentry">Nivre, Joakim/Hall, Johan/Nilsson, Jens (2006): <cite><a class="extern" href="http://www.lrec-conf.org/proceedings/lrec2006/pdf/162_pdf.pdf">MaltParser: A Data-Driven Parser-Generator for Dependency Parsing</a></cite><br />In: Proceedings of the Fifth International Conference on Language Resources and Evaluation (LREC’06). Genoa, Italy: European Language Resources Association (ELRA).
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=MaltParser%3A%20A%20Data-Driven%20Parser-Generator%20for%20Dependency%20Parsing&amp;rft.btitle=Proceedings%20of%20the%20Fifth%20International%20Conference%20on%20Language%20Resources%20and%20Evaluation%20%28LREC%2706%29&amp;rft.place=Genoa%2C%20Italy&amp;rft.publisher=European%20Language%20Resources%20Association%20%28ELRA%29&amp;rft.aulast=Nivre&amp;rft.aufirst=Joakim&amp;rft.au=Joakim%20Nivre&amp;rft.au=Johan%20Hall&amp;rft.au=Jens%20Nilsson&amp;rft.date=2006&amp;rft_id=http%3A%2F%2Fwww.lrec-conf.org%2Fproceedings%2Flrec2006%2Fpdf%2F162_pdf.pdf'></span>
+  </p>
+
+  <p class="bibentry">Weiß, Christian (2005): <cite><a class="extern" href="http://pub.ids-mannheim.de/laufend/opal/pdf/opal2005-1.pdf">Die thematische Erschließung von Sprachkorpora</a></cite>.<br />In: OPAL – Online publizierte Arbeiten zur Linguistik 2005(1). <a class="extern" href="http://pub.ids-mannheim.de/laufend/opal/pdf/opal2005-1.pdf">http://pub.ids-mannheim.de/laufend/opal/pdf/opal2005-1.pdf</a>.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Die%20thematische%20Erschlie%C3%9Fung%20von%20Sprachkorpora&amp;rft.jtitle=OPAL%20%E2%80%93%20Online%20publizierte%20Arbeiten%20zur%20Linguistik&amp;rft.volume=2005&amp;rft.issue=1&amp;rft.aulast=Wei%C3%9F&amp;rft.aufirst=Christian&amp;rft.au=Christian%20Wei%C3%9F&amp;rft.date=2005&amp;rft_id=http%3A%2F%2Fpub.ids-mannheim.de%2Flaufend%2Fopal%2Fpdf%2Fopal2005-1.pdf'></span>
+  </p>
+
+  <p class="bibentry">Schmid, Helmut (1994): <cite>Probabilistic Part-of-Speech Tagging Using Decision Trees</cite>.<br />In: International Conference on New Methods in Language Processing. Manchester, UK, pp. 44–49.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=Probabilistic%20Part-of-Speech%20Tagging%20Using%20Decision%20Trees&amp;rft.btitle=International%20Conference%20on%20New%20Methods%20in%20Language%20Processing&amp;rft.place=Manchester%2C%20UK&amp;rft.aulast=Schmid&amp;rft.aufirst=Helmut&amp;rft.au=Helmut%20Schmid&amp;rft.date=1994&amp;rft.pages=44-49&amp;rft.spage=44&amp;rft.epage=49'></span>
+  </p>
+</section>
diff --git a/templates/partial/citation/corpus.html.ep b/templates/partial/citation/corpus.html.ep
new file mode 100644
index 0000000..54efc75
--- /dev/null
+++ b/templates/partial/citation/corpus.html.ep
@@ -0,0 +1,10 @@
+%# References for the corpus behind this KorAP instance. Kalamar ships no
+%# corpus of its own, so this part is a placeholder meant to be replaced per
+%# instance by the citations for your corpus. The korap and annotation parts
+%# are usually inherited unchanged.
+%# (%#-lines are comments and never reach the HTML.)
+<section>
+  <h4><%= loc 'corpusPub' %></h4>
+
+  %= under_construction
+</section>
diff --git a/templates/partial/citation/korap.html.ep b/templates/partial/citation/korap.html.ep
new file mode 100644
index 0000000..96a8c6b
--- /dev/null
+++ b/templates/partial/citation/korap.html.ep
@@ -0,0 +1,19 @@
+%# Shared KorAP references. Normally inherited by every instance unchanged.
+<section>
+  <h4><%= loc 'korapPub' %></h4>
+
+<p class="bibentry">Diewald, Nils/Gierke, Marco/Kupietz, Marc/Lüngen, Harald (2024): <cite><a class="extern" href="https://doi.org/doi:10.1515/9783111389219-017">Das Orthografische Kernkorpus (OKK) in DeReKo: Zusammensetzung, Analyse- und Zugriffsmöglichkeiten über KorAP</a></cite>. In: Krome, Sabine/Habermann, Mechthild/Lobin, Henning/Wöllstein, Angelika (Hgg.): Schriftsystem – Norm – Schreibgebrauch. Berlin, Boston: De Gruyter, S. 329–344. <a href="https://doi.org/doi:10.1515/9783111389219-017">https://doi.org/doi:10.1515/9783111389219-017</a>. <span class="Z3988" title="url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_id=urn%3Aisbn%3A978-3-11-138921-9&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Das%20Orthografische%20Kernkorpus%20(OKK)%20in%20DeReKo%3A%20Zusammensetzung%2C%20Analyse-%20und%20Zugriffsm%C3%B6glichkeiten%20%C3%BCber%20KorAP&amp;rft.place=Berlin%2C%20Boston&amp;rft.publisher=De%20Gruyter&amp;rft.aufirst=Nils&amp;rft.aulast=Diewald&amp;rft.au=Nils%20Diewald&amp;rft.au=Marco%20Gierke&amp;rft.au=Marc%20Kupietz&amp;rft.au=Harald%20L%C3%BCngen&amp;rft.au=Sabine%20Krome&amp;rft.au=Mechthild%20Habermann&amp;rft.au=Henning%20Lobin&amp;rft.au=Angelika%20W%C3%B6llstein&amp;rft.date=2024&amp;rft.pages=329%E2%80%93344&amp;rft.spage=329&amp;rft.epage=344&amp;rft.isbn=978-3-11-138921-9"></span>
+</p>
+
+  <p class="bibentry">Diewald, Nils/Bodmer, Franck/Harders, Peter/Irimia, Elena/Kupietz, Marc/Margaretha, Eliza/Stallkamp, Helge (2021): <cite><a class="extern" href="https://nbn-resolving.org/urn:nbn:de:bsz:mh39-103342">KorAP und EuReCo – Recherchieren in mehrsprachigen vergleichbaren Korpora</a></cite><br />In: Lobin, Henning/Witt, Andreas/Wöllstein, Angelika (Hrsg.): Deutsch in Europa. Sprachpolitisch, grammatisch, methodisch. Jahrbuch des Instituts für Deutsche Sprache 2020. (= Jahrbuch des Instituts für Deutsche Sprache 2020). Berlin/Boston: de Gruyter, 287-294.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_id=urn%3Aisbn%3A978-3-11-073519-2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=KorAP%20und%20EuReCo%20%E2%80%93%20Recherchieren%20in%20mehrsprachigen%20vergleichbaren%20Korpora&amp;rft.btitle=Deutsch%20in%20Europa.%20Sprachpolitisch%2C%20grammatisch%2C%20methodisch.&amp;rft.place=Berlin%20%5Bu.a.%5D&amp;rft.publisher=de%20Gruyter&amp;rft.series=Jahrbuch%20%2F%20Leibniz-Institut%20f%C3%BCr%20Deutsche%20Sprache%20(IDS)%20-%202020%20-&amp;rft.aufirst=Nils&amp;rft.aulast=Diewald&amp;rft.au=Nils%20Diewald&amp;rft.au=Franck%20Bodmer&amp;rft.au=Peter%20Harders&amp;rft.au=Elena%20Irimia&amp;rft.au=Marc%20Kupietz&amp;rft.au=Eliza%20Margaretha&amp;rft.au=Helge%20Stallkamp&amp;rft.au=Henning%20Lobin&amp;rft.au=Andreas%20Witt&amp;rft.au=Angelika%20W%C3%B6llstein&amp;rft.date=2021&amp;rft.pages=287-293&amp;rft.spage=287&amp;rft.epage=293&amp;rft.isbn=978-3-11-073519-2'></span>
+  </p>
+
+  <p class="bibentry">Kupietz, Marc/Diewald, Nils/Margaretha, Eliza/Bodmer, Franck/Stallkamp, Helge/Harders, Peter (2020): <cite><a href="https://nbn-resolving.org/urn:nbn:de:bsz:mh39-97052">Recherche in Social-Media-Korpora mit KorAP</a></cite><br />In: Marx, Konstanze/Lobin, Henning/Schmidt, Axel (Hrsg.), Deutsch in Sozialen Medien. Interaktiv, multimodal, vielfältig, Jahrbuch des Instituts für Deutsche Sprache 2019. de Gruyter, Berlin/Boston, pp. 373–378.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=Recherche%20in%20Social-Media-Korpora%20mit%20KorAP&amp;rft.btitle=Deutsch%20in%20Sozialen%20Medien.%20Interaktiv%2C%20multimodal%2C%20vielf%C3%A4ltig&amp;rft.place=Berlin%2FBoston&amp;rft.publisher=de%20Gruyter&amp;rft.series=Jahrbuch%20des%20Instituts%20f%C3%BCr%20Deutsche%20Sprache%202019&amp;rft.aufirst=Marc&amp;rft.aulast=Kupietz&amp;rft.au=Marc%20Kupietz&amp;rft.au=Nils%20Diewald&amp;rft.au=Eliza%20Margaretha&amp;rft.au=Franck%20Bodmer&amp;rft.au=Helge%20Stallkamp&amp;rft.au=Peter%20Harders&amp;rft.date=2020&amp;rft.pages=373-378&amp;rft.spage=373&amp;rft.epage=378'></span>
+  </p>
+
+  <p class="bibentry">Diewald, Nils/Hanl, Michael/Margaretha, Eliza/Bingel, Joachim/Kupietz, Marc/Bański, Piotr/Witt, Andreas (2016): <cite><a href="https://nbn-resolving.org/urn:nbn:de:bsz:mh39-50361">KorAP architecture - Diving in the Deep Sea of Corpus Data</a></cite><br />In: Proceedings of the 10th International Conference on Language Resources and Evaluation (LREC 2016). Portorož/Paris: European Language Resources Association (ELRA), pp. 3586–3591.
+    <span class='Z3988' title='url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzotero.org%3A2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=proceeding&amp;rft.atitle=KorAP%20architecture%20-%20Diving%20in%20the%20Deep%20Sea%20of%20Corpus%20Data&amp;rft.btitle=Proceedings%20of%20the%20Tenth%20International%20Conference%20on%20Language%20Resources%20and%20Evaluation%20(LREC%202016)&amp;rft.place=Portoro%C5%BE%2C%20Slovenia&amp;rft.aufirst=Nils&amp;rft.aulast=Diewald&amp;rft.au=Nils%20Diewald&amp;rft.au=Michael%20Hanl&amp;rft.au=Eliza%20Margaretha&amp;rft.au=Joachim%20Bingel&amp;rft.au=Marc%20Kupietz&amp;rft.au=Piotr%20Ba%C5%84ski&amp;rft.au=Andreas%20Witt&amp;rft.date=2016&amp;rft.pages=3586-3591&amp;rft.spage=3586&amp;rft.epage=3591'></span>
+  </p>
+</section>