diff --git a/AUTHORS.md b/AUTHORS.md
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -108,6 +108,7 @@
 - Eigil Rischel
 - Elliot Bobrow
 - Emanuel Evans
+- Emmanuel Ferdman
 - Emerson Harkin
 - Emily Bourke
 - Emily Eisenberg
@@ -128,6 +129,7 @@
 - Florian Eitel
 - Florian Klink
 - Florian Kohrt
+- FoxChillz
 - Francesco Mazzoli
 - Francesco Occhipinti
 - François Gannaz
diff --git a/MANUAL.txt b/MANUAL.txt
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -1,7 +1,7 @@
 ---
 title: Pandoc User's Guide
 author: John MacFarlane
-date: 2025-10-05
+date: 2025-10-20
 ---
 
 # Synopsis
@@ -7874,7 +7874,7 @@
    processed on a server, this has the potential to reveal anything
    readable by the process running the server. Using the `-f html+raw_html`
    will mitigate this threat by causing the whole `iframe`
-   to be parsed as a raw HTML block. Using `--sandbox will also
+   to be parsed as a raw HTML block. Using `--sandbox` will also
    protect against the threat.
 
 5. If your application uses pandoc as a Haskell library (rather than
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,53 @@
 # Revision history for pandoc
 
+## pandoc 3.8.2.1 (2025-10-20)
+
+  * HTML reader: allow blank space between open and close `iframe`.
+
+  * RTF reader: improve hyperlink parsing (#11211).
+
+  * Org reader:
+
+    + Parse parameter lists on unknown blocks (#11188, Albert
+      Krewinkel). The reader tries to parse the rest of the opening
+      line of a block, e.g., `#+begin_myblock …`, as a parameters
+      list. It first assumes that the parameters are in lisp-style
+      (`:key value`), then alternatively tries to read python-style
+      key-value pairs (`key=value`) and falls back to reading the
+      entire remaining line as a single `parameter` attribute.
+    + Add support for dynamic blocks.
+
+  * Docx writer: properly handle nested comment spans (#8189, #6959,
+    mourino).
+
+  * RST writer: Don't use simple tables with RowSpans (#11214,
+    Tuong Nguyen Manh).
+
+  * Typst writer: Escape open paren after non-space (#11210).
+    This fixes an issue that occurs if an open paren comes
+    right after e.g. `#strong[test]`.
+
+  * Typst template: ensure that title block is properly centered (#11221).
+
+  * LaTeX writer/template: small fix for unnumbered tables for
+    compatibility with older LaTeX installations (#11201).
+    Thanks to @priiduonu for the solution.
+
+  * MANUAL.txt: Fixed missing backtick (#11209, FoxChillz).
+
+  * Correct anchor references to `pandoc.text` module documentation (#11111,
+    Emmanuel Ferdman).
+
+  * Fixed golden test regeneration in Docx reader test.
+
+  * Allow unicode-data 0.8.
+
+  * Use citeproc 0.11. This fixes a significant performance
+    regression in pandoc 3.8, which was due to a rewrite of the
+    default chicago-author-date.csl file. Performance with `--citeproc`
+    is now on par with what we had in pandoc 3.7, even with the
+    revised Chicago styles.
+
 ## pandoc 3.8.2 (2025-10-05)
 
   * Markdown reader/writer: implement new `table_attributes` extension
@@ -10,7 +58,7 @@
     handle it. Now arbitrary attributes are allowed, and they work in
     both the reader and writer.
 
-   * Typst writer: don't add superfluous semicolons (#11196).
+  * Typst writer: don't add superfluous semicolons (#11196).
     Previously we added semicolons after inline commands not
     followed by spaces, but mainly this was to deal with one issue:
     the presence of a semicolon after an inline command, which
diff --git a/data/templates/common.latex b/data/templates/common.latex
--- a/data/templates/common.latex
+++ b/data/templates/common.latex
@@ -69,6 +69,7 @@
 $--
 $if(tables)$
 \usepackage{longtable,booktabs,array}
+\newcounter{none} % for unnumbered tables
 $if(multirow)$
 \usepackage{multirow}
 $endif$
diff --git a/data/templates/template.typst b/data/templates/template.typst
--- a/data/templates/template.typst
+++ b/data/templates/template.typst
@@ -72,9 +72,9 @@
     }
   }
 
-  block(below: 4mm)[
+  block(below: 1em, width: 100%)[
     #if title != none {
-      align(center)[#block(inset: 2em)[
+      align(center, block[
           #text(weight: "bold", size: 1.5em)[#title #if thanks != none {
               footnote(thanks, numbering: "*")
               counter(footnote).update(n => n - 1)
@@ -84,8 +84,7 @@
               parbreak()
               text(weight: "bold", size: 1.25em)[#subtitle]
             }
-          )
-        ]]
+           )])
     }
 
     #if authors != none and authors != [] {
diff --git a/data/translations/aeb.yaml b/data/translations/aeb.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/aeb.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/afb.yaml b/data/translations/afb.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/afb.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/apd.yaml b/data/translations/apd.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/apd.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-DZ.yaml b/data/translations/ar-DZ.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-DZ.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-EG.yaml b/data/translations/ar-EG.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-EG.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-IQ.yaml b/data/translations/ar-IQ.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-IQ.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-JO.yaml b/data/translations/ar-JO.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-JO.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-LB.yaml b/data/translations/ar-LB.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-LB.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-MA.yaml b/data/translations/ar-MA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-MA.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-MR.yaml b/data/translations/ar-MR.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-MR.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-PS.yaml b/data/translations/ar-PS.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-PS.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-SA.yaml b/data/translations/ar-SA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-SA.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-SY.yaml b/data/translations/ar-SY.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-SY.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-TN.yaml b/data/translations/ar-TN.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-TN.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ar-YE.yaml b/data/translations/ar-YE.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ar-YE.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/arq.yaml b/data/translations/arq.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/arq.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ary.yaml b/data/translations/ary.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ary.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/arz.yaml b/data/translations/arz.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/arz.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/ayl.yaml b/data/translations/ayl.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ayl.yaml
@@ -0,0 +1,21 @@
+Abstract: ملخص
+Appendix: الملاحق
+Bibliography: المصادر
+Cc: نسخة ل‬
+Chapter: باب
+Contents: المحتويات
+Encl: المرفقات
+Figure: شكل
+Glossary: قاموس
+Index: الفهرس
+ListOfFigures: قائمة الأشكال
+ListOfTables: قائمة الجداول
+Page: صفحة
+Part: القسم
+Preface: مدخل
+Proof: برهان
+References: المراجع
+See: راجع
+SeeAlso: راجع أيضًا
+Table: جدول
+To: إلى
diff --git a/data/translations/bs-Latn.yaml b/data/translations/bs-Latn.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/bs-Latn.yaml
@@ -0,0 +1,21 @@
+Abstract: Sažetak
+Appendix: Dodatak
+Bibliography: Bibliografija
+Cc: Kopija
+Chapter: Poglavlje
+Contents: Sadržaj
+Encl: Prilozi
+Figure: Slika
+Glossary: Rječnik
+Index: Indeks
+ListOfFigures: Popis slika
+ListOfTables: Popis tabela
+Page: Stranica
+Part: Dio
+Preface: Predgovor
+Proof: Dokaz
+References: Literatura
+See: Vidjeti
+SeeAlso: Također vidjeti
+Table: Tabela
+To: Prima
diff --git a/data/translations/ckb.yaml b/data/translations/ckb.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ckb.yaml
@@ -0,0 +1,21 @@
+Abstract: پوختە
+Appendix: پاشکۆ
+Bibliography: کتێبنامە
+Cc: ڕوونووس
+Chapter: بەندی
+Contents: نێوەڕۆک
+Encl: هاوپێچ
+Figure: وێنەی
+Glossary: فەرهەنگۆک
+Index: پێنوێن
+ListOfFigures: لیستی وێنەکان
+ListOfTables: لیستی خشتەکان
+Page: لاپەڕە
+Part: بەشی
+Preface: پێشەكی
+Proof: سەلماندن
+References: سەرچاوەکان
+See: چاو لێکەن
+SeeAlso: هەروەها چاو لێکەن
+Table: خشتەی
+To: بۆ
diff --git a/data/translations/cu-Cyrs.yaml b/data/translations/cu-Cyrs.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/cu-Cyrs.yaml
@@ -0,0 +1,20 @@
+Abstract: А҆ннота́цїѧ
+Appendix: Приложе́нїе
+Bibliography: Вивлїогра́фїѧ
+Cc: исх.
+Chapter: Глава̀
+Contents: Содержа́нїе}
+Encl: вкл.
+Figure: И҆з̾ѡбраже́нїе
+Index: Предмѣ́тный ᲂу҆каза́тель
+ListOfFigures: Надписа́нїе и҆з̾ѡбраже́нїй
+ListOfTables: Надписа́нїе табли́цъ
+Page: с.
+Part: Ча́сть
+Preface: Предисло́вїе
+Proof: Доказа́тельство
+References: Примѣча̑нїѧ
+See: зрѝ
+SeeAlso: зрѝ та́кожде
+Table: Табли́ца
+To: вх.
diff --git a/data/translations/de-1901.yaml b/data/translations/de-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-1996.yaml b/data/translations/de-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-AT-1901.yaml b/data/translations/de-AT-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-AT-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-AT-1996.yaml b/data/translations/de-AT-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-AT-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-AT.yaml b/data/translations/de-AT.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-AT.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-CH-1901.yaml b/data/translations/de-CH-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-CH-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-CH-1996.yaml b/data/translations/de-CH-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-CH-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-CH.yaml b/data/translations/de-CH.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-CH.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-DE-1901.yaml b/data/translations/de-DE-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-DE-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-DE-1996.yaml b/data/translations/de-DE-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-DE-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-DE.yaml b/data/translations/de-DE.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-DE.yaml
@@ -0,0 +1,21 @@
+Abstract: Zusammenfassung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Glossar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: siehe
+SeeAlso: siehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-AT-1901.yaml b/data/translations/de-Latf-AT-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-AT-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-AT-1996.yaml b/data/translations/de-Latf-AT-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-AT-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-AT.yaml b/data/translations/de-Latf-AT.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-AT.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-CH-1901.yaml b/data/translations/de-Latf-CH-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-CH-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-CH-1996.yaml b/data/translations/de-Latf-CH-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-CH-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-CH.yaml b/data/translations/de-Latf-CH.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-CH.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Beilage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-DE-1901.yaml b/data/translations/de-Latf-DE-1901.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-DE-1901.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-DE-1996.yaml b/data/translations/de-Latf-DE-1996.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-DE-1996.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf-DE.yaml b/data/translations/de-Latf-DE.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf-DE.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/de-Latf.yaml b/data/translations/de-Latf.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/de-Latf.yaml
@@ -0,0 +1,21 @@
+Abstract: Zuſammenfaſſung
+Appendix: Anhang
+Bibliography: Literaturverzeichnis
+Cc: Verteiler
+Chapter: Kapitel
+Contents: Inhaltsverzeichnis
+Encl: Anlage(n)
+Figure: Abbildung
+Glossary: Gloſſar
+Index: Index
+ListOfFigures: Abbildungsverzeichnis
+ListOfTables: Tabellenverzeichnis
+Page: Seite
+Part: Teil
+Preface: Vorwort
+Proof: Beweis
+References: Literatur
+See: ſiehe
+SeeAlso: ſiehe auch
+Table: Tabelle
+To: An
diff --git a/data/translations/el-polyton.yaml b/data/translations/el-polyton.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/el-polyton.yaml
@@ -0,0 +1,21 @@
+Abstract: Περίληψη
+Appendix: Παράρτημα
+Bibliography: Βιβλιογραφία
+Cc: Κοινοποίηση
+Chapter: Κεφάλαιο
+Contents: Περιεχόμενα
+Encl: Συνημμένα
+Figure: Σχῆμα
+Glossary: Γλωσσάρι
+Index: Εὑρετήριο
+ListOfFigures: Κατάλογος Σχημάτων
+ListOfTables: Κατάλογος Πινάκων
+Page: Σελίδα
+Part: Μέρος
+Preface: Πρόλογος
+Proof: Ἀπόδειξη
+References: Ἀναφορές
+See: βλέπε
+SeeAlso: βλέπε ἐπίσης
+Table: Πίνακας
+To: Πρὸς
diff --git a/data/translations/en-AU.yaml b/data/translations/en-AU.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/en-AU.yaml
@@ -0,0 +1,21 @@
+Abstract: Abstract
+Appendix: Appendix
+Bibliography: Bibliography
+Cc: cc
+Chapter: Chapter
+Contents: Contents
+Encl: encl
+Figure: Figure
+Glossary: Glossary
+Index: Index
+ListOfFigures: List of Figures
+ListOfTables: List of Tables
+Page: Page
+Part: Part
+Preface: Preface
+Proof: Proof
+References: References
+See: see
+SeeAlso: see also
+Table: Table
+To: To
diff --git a/data/translations/en-CA.yaml b/data/translations/en-CA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/en-CA.yaml
@@ -0,0 +1,21 @@
+Abstract: Abstract
+Appendix: Appendix
+Bibliography: Bibliography
+Cc: cc
+Chapter: Chapter
+Contents: Contents
+Encl: encl
+Figure: Figure
+Glossary: Glossary
+Index: Index
+ListOfFigures: List of Figures
+ListOfTables: List of Tables
+Page: Page
+Part: Part
+Preface: Preface
+Proof: Proof
+References: References
+See: see
+SeeAlso: see also
+Table: Table
+To: To
diff --git a/data/translations/en-GB.yaml b/data/translations/en-GB.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/en-GB.yaml
@@ -0,0 +1,21 @@
+Abstract: Abstract
+Appendix: Appendix
+Bibliography: Bibliography
+Cc: cc
+Chapter: Chapter
+Contents: Contents
+Encl: encl
+Figure: Figure
+Glossary: Glossary
+Index: Index
+ListOfFigures: List of Figures
+ListOfTables: List of Tables
+Page: Page
+Part: Part
+Preface: Preface
+Proof: Proof
+References: References
+See: see
+SeeAlso: see also
+Table: Table
+To: To
diff --git a/data/translations/en-NZ.yaml b/data/translations/en-NZ.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/en-NZ.yaml
@@ -0,0 +1,21 @@
+Abstract: Abstract
+Appendix: Appendix
+Bibliography: Bibliography
+Cc: cc
+Chapter: Chapter
+Contents: Contents
+Encl: encl
+Figure: Figure
+Glossary: Glossary
+Index: Index
+ListOfFigures: List of Figures
+ListOfTables: List of Tables
+Page: Page
+Part: Part
+Preface: Preface
+Proof: Proof
+References: References
+See: see
+SeeAlso: see also
+Table: Table
+To: To
diff --git a/data/translations/en-US.yaml b/data/translations/en-US.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/en-US.yaml
@@ -0,0 +1,21 @@
+Abstract: Abstract
+Appendix: Appendix
+Bibliography: Bibliography
+Cc: cc
+Chapter: Chapter
+Contents: Contents
+Encl: encl
+Figure: Figure
+Glossary: Glossary
+Index: Index
+ListOfFigures: List of Figures
+ListOfTables: List of Tables
+Page: Page
+Part: Part
+Preface: Preface
+Proof: Proof
+References: References
+See: see
+SeeAlso: see also
+Table: Table
+To: To
diff --git a/data/translations/fr-BE.yaml b/data/translations/fr-BE.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-BE.yaml
@@ -0,0 +1,20 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Figure
+Glossary: Glossaire
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Table
diff --git a/data/translations/fr-CA.yaml b/data/translations/fr-CA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-CA.yaml
@@ -0,0 +1,20 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Figure
+Glossary: Glossaire
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Table
diff --git a/data/translations/fr-CH.yaml b/data/translations/fr-CH.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-CH.yaml
@@ -0,0 +1,20 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Figure
+Glossary: Glossaire
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Table
diff --git a/data/translations/fr-FR.yaml b/data/translations/fr-FR.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-FR.yaml
@@ -0,0 +1,19 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Fig.
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: Partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Tab.
diff --git a/data/translations/fr-LU.yaml b/data/translations/fr-LU.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-LU.yaml
@@ -0,0 +1,20 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Figure
+Glossary: Glossaire
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Table
diff --git a/data/translations/fr-x-acadian.yaml b/data/translations/fr-x-acadian.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/fr-x-acadian.yaml
@@ -0,0 +1,20 @@
+Abstract: Résumé
+Appendix: Annexe
+Bibliography: Bibliographie
+Cc: Copie à
+Chapter: Chapitre
+Contents: Table des matières
+Encl: P.~J.
+Figure: Figure
+Glossary: Glossaire
+Index: Index
+ListOfFigures: Table des figures
+ListOfTables: Liste des tableaux
+Page: page
+Part: partie
+Preface: Préface
+Proof: Démonstration
+References: Références
+See: voir
+SeeAlso: voir aussi
+Table: Table
diff --git a/data/translations/kmr.yaml b/data/translations/kmr.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/kmr.yaml
@@ -0,0 +1,21 @@
+Abstract: Kurtebîr
+Appendix: Tebînîya
+Bibliography: Çavkanîya Pirtukan
+Cc: Belavker
+Chapter: Serê
+Contents: Navêrok
+Encl: Dumahik
+Figure: Dimenê
+Glossary: Çavkanîya lêkolînê
+Index: Endeks
+ListOfFigures: Hejmara Dimena
+ListOfTables: Hejmara Kevalen
+Page: Rûpelê
+Part: Bêşa
+Preface: Peşgotin
+Proof: Delîl
+References: Pirtuken bijartî
+See: binêra
+SeeAlso: le vêya ji binêra
+Table: Kevala
+To: Ji bo
diff --git a/data/translations/la-x-classic.yaml b/data/translations/la-x-classic.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/la-x-classic.yaml
@@ -0,0 +1,20 @@
+Abstract: Summarium
+Appendix: Additamentum
+Bibliography: Conspectus librorum
+Cc: Exemplar
+Chapter: Caput
+Contents: Index
+Encl: Additur
+Figure: Descriptio
+Glossary: Glossarium
+Index: Index rerum notabilium
+ListOfFigures: Conspectus descriptionum
+ListOfTables: Conspectus tabularum
+Page: charta
+Part: Pars
+Preface: Praefatio
+Proof: Demonstratio
+References: Conspectus librorum
+See: cfr.
+SeeAlso: cfr.
+Table: Tabula
diff --git a/data/translations/la-x-ecclesia.yaml b/data/translations/la-x-ecclesia.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/la-x-ecclesia.yaml
@@ -0,0 +1,20 @@
+Abstract: Summarium
+Appendix: Additamentum
+Bibliography: Conspectus librorum
+Cc: Exemplar
+Chapter: Caput
+Contents: Index
+Encl: Additur
+Figure: Descriptio
+Glossary: Glossarium
+Index: Index rerum notabilium
+ListOfFigures: Conspectus descriptionum
+ListOfTables: Conspectus tabularum
+Page: charta
+Part: Pars
+Preface: Praefatio
+Proof: Demonstratio
+References: Conspectus librorum
+See: cfr.
+SeeAlso: cfr.
+Table: Tabula
diff --git a/data/translations/la-x-medieval.yaml b/data/translations/la-x-medieval.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/la-x-medieval.yaml
@@ -0,0 +1,20 @@
+Abstract: Summarium
+Appendix: Additamentum
+Bibliography: Conspectus librorum
+Cc: Exemplar
+Chapter: Caput
+Contents: Index
+Encl: Additur
+Figure: Descriptio
+Glossary: Glossarium
+Index: Index rerum notabilium
+ListOfFigures: Conspectus descriptionum
+ListOfTables: Conspectus tabularum
+Page: charta
+Part: Pars
+Preface: Præfatio
+Proof: Demonstratio
+References: Conspectus librorum
+See: cfr.
+SeeAlso: cfr.
+Table: Tabula
diff --git a/data/translations/pa-Guru.yaml b/data/translations/pa-Guru.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/pa-Guru.yaml
@@ -0,0 +1,20 @@
+Abstract: ਨਿਚੋੜ
+Appendix: ਲੜੀਵਾਰ
+Bibliography: ਸੰਬੰਧਤ ਹਵਾਲੇ
+Cc: ਕਾਪੀ
+Chapter: ਪਾਠ
+Contents: ਸਮਗਰੀ
+Encl: ਨੱਥੀ
+Figure: ਸ਼ਕਲ
+Glossary: ਕੁੰਜੀ
+Index: ਸੂਚੀ
+ListOfFigures: ਸ਼ਕਲਾਂ ਦੀ ਲੜੀ
+ListOfTables: ਲੜੀਆਂ ਦਾ ਲੇਖਾ
+Page: ਵਰਕਾ
+Part: ਹਿੱਸਾ
+Preface: ਮੁੱਖਬੰਦ
+Proof: ਪਰਮਾਣ
+References: ਹਵਾਲਾ
+See: ਵੇਖੋ
+SeeAlso: ਹੋਰ
+Table: ਲੇਖਾ
diff --git a/data/translations/ro-MD.yaml b/data/translations/ro-MD.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/ro-MD.yaml
@@ -0,0 +1,21 @@
+Abstract: Rezumat
+Appendix: Anexa
+Bibliography: Bibliografie
+Cc: Copie
+Chapter: Capitolul
+Contents: Cuprins
+Encl: Anexă
+Figure: Figura
+Glossary: Glosar
+Index: Index
+ListOfFigures: Listă de figuri
+ListOfTables: Listă de tabele
+Page: Pagina
+Part: Partea
+Preface: Prefaţă
+Proof: Demonstraţie
+References: Bibliografie
+See: Vezi
+SeeAlso: Vezi de asemenea
+Table: Tabela
+To: Pentru
diff --git a/data/translations/sr-Cyrl-BA.yaml b/data/translations/sr-Cyrl-BA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Cyrl-BA.yaml
@@ -0,0 +1,21 @@
+Abstract: Сажетак
+Appendix: Додатак
+Bibliography: Библиографиjа
+Cc: Копиjе
+Chapter: Глава
+Contents: Садржаj
+Encl: Прилози
+Figure: Слика
+Glossary: Речник
+Index: Индекс
+ListOfFigures: Списак слика
+ListOfTables: Списак табела
+Page: страна
+Part: Део
+Preface: Предговор
+Proof: Доказ
+References: Литература
+See: види
+SeeAlso: видитакође
+Table: Табела
+To: Прима
diff --git a/data/translations/sr-Cyrl-ME.yaml b/data/translations/sr-Cyrl-ME.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Cyrl-ME.yaml
@@ -0,0 +1,21 @@
+Abstract: Сажетак
+Appendix: Додатак
+Bibliography: Библиографиjа
+Cc: Копиjе
+Chapter: Глава
+Contents: Садржаj
+Encl: Прилози
+Figure: Слика
+Glossary: Речник
+Index: Индекс
+ListOfFigures: Списак слика
+ListOfTables: Списак табела
+Page: страна
+Part: Део
+Preface: Предговор
+Proof: Доказ
+References: Литература
+See: види
+SeeAlso: видитакође
+Table: Табела
+To: Прима
diff --git a/data/translations/sr-Cyrl-XK.yaml b/data/translations/sr-Cyrl-XK.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Cyrl-XK.yaml
@@ -0,0 +1,21 @@
+Abstract: Сажетак
+Appendix: Додатак
+Bibliography: Библиографиjа
+Cc: Копиjе
+Chapter: Глава
+Contents: Садржаj
+Encl: Прилози
+Figure: Слика
+Glossary: Речник
+Index: Индекс
+ListOfFigures: Списак слика
+ListOfTables: Списак табела
+Page: страна
+Part: Део
+Preface: Предговор
+Proof: Доказ
+References: Литература
+See: види
+SeeAlso: видитакође
+Table: Табела
+To: Прима
diff --git a/data/translations/sr-Latn-BA.yaml b/data/translations/sr-Latn-BA.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Latn-BA.yaml
@@ -0,0 +1,21 @@
+Abstract: Sažetak
+Appendix: Dodatak
+Bibliography: Bibliografija
+Cc: Kopije
+Chapter: Glava
+Contents: Sadržaj
+Encl: Prilozi
+Figure: Slika
+Glossary: Rečnik
+Index: Indeks
+ListOfFigures: Spisak slika
+ListOfTables: Spisak tabela
+Page: strana
+Part: Deo
+Preface: Predgovor
+Proof: Dokaz
+References: Literatura
+See: vidi
+SeeAlso: vidi takođe
+Table: Tabela
+To: Prima
diff --git a/data/translations/sr-Latn-ME.yaml b/data/translations/sr-Latn-ME.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Latn-ME.yaml
@@ -0,0 +1,21 @@
+Abstract: Sažetak
+Appendix: Dodatak
+Bibliography: Bibliografija
+Cc: Kopije
+Chapter: Glava
+Contents: Sadržaj
+Encl: Prilozi
+Figure: Slika
+Glossary: Rečnik
+Index: Indeks
+ListOfFigures: Spisak slika
+ListOfTables: Spisak tabela
+Page: strana
+Part: Deo
+Preface: Predgovor
+Proof: Dokaz
+References: Literatura
+See: vidi
+SeeAlso: vidi takođe
+Table: Tabela
+To: Prima
diff --git a/data/translations/sr-Latn-XK.yaml b/data/translations/sr-Latn-XK.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Latn-XK.yaml
@@ -0,0 +1,21 @@
+Abstract: Sažetak
+Appendix: Dodatak
+Bibliography: Bibliografija
+Cc: Kopije
+Chapter: Glava
+Contents: Sadržaj
+Encl: Prilozi
+Figure: Slika
+Glossary: Rečnik
+Index: Indeks
+ListOfFigures: Spisak slika
+ListOfTables: Spisak tabela
+Page: strana
+Part: Deo
+Preface: Predgovor
+Proof: Dokaz
+References: Literatura
+See: vidi
+SeeAlso: vidi takođe
+Table: Tabela
+To: Prima
diff --git a/data/translations/sr-Latn-ijekavsk.yaml b/data/translations/sr-Latn-ijekavsk.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-Latn-ijekavsk.yaml
@@ -0,0 +1,21 @@
+Abstract: Sažetak
+Appendix: Dodatak
+Bibliography: Bibliografija
+Cc: Kopije
+Chapter: Glava
+Contents: Sadržaj
+Encl: Prilozi
+Figure: Slika
+Glossary: Rječnik
+Index: Indeks
+ListOfFigures: Spisak slika
+ListOfTables: Spisak tabela
+Page: strana
+Part: Dio
+Preface: Predgovor
+Proof: Dokaz
+References: Literatura
+See: vidi
+SeeAlso: vidi takođe
+Table: Tabela
+To: Prima
diff --git a/data/translations/sr-ijekavsk.yaml b/data/translations/sr-ijekavsk.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/sr-ijekavsk.yaml
@@ -0,0 +1,21 @@
+Abstract: Сажетак
+Appendix: Додатак
+Bibliography: Библиографиjа
+Cc: Копиjе
+Chapter: Глава
+Contents: Садржаj
+Encl: Прилози
+Figure: Слика
+Glossary: Рјечник
+Index: Индекс
+ListOfFigures: Списак слика
+ListOfTables: Списак табела
+Page: страна
+Part: Дио
+Preface: Предговор
+Proof: Доказ
+References: Литература
+See: види
+SeeAlso: види такође
+Table: Табела
+To: Прима
diff --git a/data/translations/zh-CN.yaml b/data/translations/zh-CN.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/zh-CN.yaml
@@ -0,0 +1,21 @@
+Abstract: 摘要
+Appendix: 附录
+Bibliography: 参考文献
+Cc: 抄送
+Chapter: 章
+Contents: 目录
+Encl: 附件
+Figure: 图
+Glossary: 词汇表
+Index: 索引
+ListOfFigures: 插图
+ListOfTables: 表格
+Page: 页
+Part: 部分
+Preface: 前言
+Proof: 证明
+References: 参考文献
+See: 参照
+SeeAlso: 参照
+Table: 表
+To: 收件人
diff --git a/data/translations/zh-TW.yaml b/data/translations/zh-TW.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/zh-TW.yaml
@@ -0,0 +1,21 @@
+Abstract: 摘要
+Appendix: 附錄
+Bibliography: 參考文獻
+Cc: 抄送
+Chapter: 章
+Contents: 目錄
+Encl: 附件
+Figure: 圖
+Glossary: 詞彙表
+Index: 索引
+ListOfFigures: 插圖
+ListOfTables: 表格
+Page: 頁
+Part: 部分
+Preface: 前言
+Proof: 證明
+References: 參考文獻
+See: 參照
+SeeAlso: 參照
+Table: 表
+To: 收件人
diff --git a/data/translations/zh.yaml b/data/translations/zh.yaml
new file mode 100644
--- /dev/null
+++ b/data/translations/zh.yaml
@@ -0,0 +1,13 @@
+Abstract: 摘要
+Appendix: 附录
+Bibliography: 参考文献
+Chapter: 章
+Contents: 目录
+Figure: 图
+Index: 索引
+ListOfFigures: 插图
+ListOfTables: 表格
+Part: 部分
+Proof: 证明
+References: 参考文献
+Table: 表
diff --git a/pandoc.cabal b/pandoc.cabal
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -1,6 +1,6 @@
 cabal-version:   2.4
 name:            pandoc
-version:         3.8.2
+version:         3.8.2.1
 build-type:      Simple
 license:         GPL-2.0-or-later
 license-file:    COPYING.md
@@ -503,7 +503,7 @@
                  blaze-markup          >= 0.8      && < 0.9,
                  bytestring            >= 0.9      && < 0.13,
                  case-insensitive      >= 1.2      && < 1.3,
-                 citeproc              >= 0.10     && < 0.11,
+                 citeproc              >= 0.11     && < 0.12,
                  commonmark            >= 0.2.6.1  && < 0.3,
                  commonmark-extensions >= 0.2.6    && < 0.3,
                  commonmark-pandoc     >= 0.2.3    && < 0.3,
@@ -549,7 +549,7 @@
                  text-conversions      >= 0.3      && < 0.4,
                  time                  >= 1.5      && < 1.16,
                  unicode-collation     >= 0.1.1    && < 0.2,
-                 unicode-data          >= 0.6      && < 0.8,
+                 unicode-data          >= 0.6      && < 0.9,
                  unicode-transforms    >= 0.3      && < 0.5,
                  yaml                  >= 0.11     && < 0.12,
                  libyaml               >= 0.1.4    && < 0.2,
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs
--- a/src/Text/Pandoc/Readers/HTML.hs
+++ b/src/Text/Pandoc/Readers/HTML.hs
@@ -514,6 +514,7 @@
 pIframe = try $ do
   guardDisabled Ext_raw_html
   tag <- pSatisfy (tagOpen (=="iframe") (isJust . lookup "src"))
+  skipMany pBlank
   pCloses "iframe" <|> eof
   url <- canonicalizeUrl $ fromAttrib "src" tag
   if T.null url
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs
--- a/src/Text/Pandoc/Readers/Org/Blocks.hs
+++ b/src/Text/Pandoc/Readers/Org/Blocks.hs
@@ -73,6 +73,7 @@
 block :: PandocMonad m => OrgParser m (F Blocks)
 block = choice [ mempty <$ blanklines
                , table
+               , dynamicBlock
                , orgBlock
                , figure
                , example
@@ -115,7 +116,7 @@
 
 stringyMetaAttribute :: Monad m => OrgParser m (Text, Text)
 stringyMetaAttribute = try $ do
-  metaLineStart *> notFollowedBy (stringAnyCase "begin_")
+  metaLineStart *> notFollowedBy (stringAnyCase "begin" *> oneOf ":_")
   attrName <- T.toLower <$> many1TillChar nonspaceChar (char ':')
   skipSpaces
   attrValue <- anyLine <|> ("" <$ newline)
@@ -188,7 +189,7 @@
       "latex"     -> rawBlockLines (return . B.rawBlock (T.toLower blkType))
       "ascii"     -> rawBlockLines (return . B.rawBlock (T.toLower blkType))
       "example"   -> exampleBlock blockAttrs
-      "quote"     -> parseBlockLines (fmap B.blockQuote)
+      "quote"     -> \x -> ignHeaders *> parseBlockLines (fmap B.blockQuote) x
       "verse"     -> verseBlock
       "src"       -> codeBlock blockAttrs
       "note"      -> admonitionBlock "note" blockAttrs
@@ -200,9 +201,11 @@
         -- case-sensitive checks
         case blkType of
           "abstract" -> metadataBlock
-          _ -> parseBlockLines $
-                   let (ident, classes, kv) = attrFromBlockAttributes blockAttrs
-                   in fmap $ B.divWith (ident, classes ++ [blkType], kv)
+          _ -> \bt -> do
+            params <- blockParameters
+            let (ident, classes, kv) = attrFromBlockAttributes blockAttrs
+                toDiv = (B.divWith (ident, classes ++ [blkType], kv <> params))
+            parseBlockLines (fmap toDiv) bt
  where
    blockHeaderStart :: Monad m => OrgParser m Text
    blockHeaderStart = try $ do
@@ -214,7 +217,7 @@
 admonitionBlock :: PandocMonad m
                 => Text -> BlockAttributes -> Text -> OrgParser m (F Blocks)
 admonitionBlock blockType blockAttrs rawtext = do
-  bls <- parseBlockLines id rawtext
+  bls <- ignHeaders *> parseBlockLines id rawtext
   let id' = fromMaybe mempty $ blockAttrName blockAttrs
   pure $ fmap
     (B.divWith (id', [blockType], []) .
@@ -235,7 +238,7 @@
 rawBlockLines f blockType = ignHeaders *> (f <$> rawBlockContent blockType)
 
 parseBlockLines :: PandocMonad m => (F Blocks -> F Blocks) -> Text -> OrgParser m (F Blocks)
-parseBlockLines f blockType = ignHeaders *> (f <$> parsedBlockContent)
+parseBlockLines f blockType = (f <$> parsedBlockContent)
  where
    parsedBlockContent :: PandocMonad m => OrgParser m (F Blocks)
    parsedBlockContent = try $ do
@@ -244,8 +247,13 @@
 
 -- | Read the raw string content of a block
 rawBlockContent :: Monad m => Text -> OrgParser m Text
-rawBlockContent blockType = try $ do
-  blkLines <- manyTill rawLine blockEnder
+rawBlockContent blockType = rawBlockContent' $
+   stringAnyCase ("#+end_" <> blockType)
+
+-- | Read the raw string content of a block
+rawBlockContent' :: Monad m => OrgParser m Text -> OrgParser m Text
+rawBlockContent' blockEnder = try $ do
+  blkLines <- manyTill rawLine (try $ skipSpaces <* blockEnder)
   tabStop <- getOption readerTabStop
   trimP <- orgStateTrimLeadBlkIndent <$> getState
   -- split lines into indentation/contents tuples
@@ -265,9 +273,6 @@
    rawLine :: Monad m => OrgParser m Text
    rawLine = try $ ("" <$ blankline) <|> anyLine
 
-   blockEnder :: Monad m => OrgParser m ()
-   blockEnder = try $ skipSpaces <* stringAnyCase ("#+end_" <> blockType)
-
    commaEscaped suff = case T.uncons suff of
      Just (',', cs)
        | "*"  <- T.take 1 cs -> cs
@@ -308,6 +313,7 @@
 -- metadata under a key of the same name.
 metadataBlock :: PandocMonad m => Text -> OrgParser m (F Blocks)
 metadataBlock blockType = try $ do
+  ignHeaders
   content <- parseBlockLines id blockType
   meta'   <- orgStateMeta <$> getState
   updateState $ \st ->
@@ -438,6 +444,34 @@
   endOfValue = lookAhead $  try (skipSpaces <* oneOf "\n\r")
                         <|> try (skipSpaces1 <* orgArgKey)
 
+
+--
+-- Dynamic block (#+begin: ...  #+end:)
+--
+
+-- | Parses a Dynamic Block, i.e., a block delimited by #+BEGIN: and
+-- #+END:.
+dynamicBlock :: PandocMonad m => OrgParser m (F Blocks)
+dynamicBlock = try $ do
+  metaLineStart *> stringAnyCase "begin:" *> spaces
+  blockname <- optionMaybe orgArgWord
+  blockArgs <- blockParameters
+  contents <- do
+    raw <- rawBlockContent' $ metaLineStart *> stringAnyCase "end:"
+    parseFromString blocks (raw <> "\n")
+  let attr = ("", maybe [] (:[]) blockname, blockArgs)
+  return $ B.divWith attr <$> contents
+
+-- | Parse block arguments; in order, this tries to parse a Lisp-style
+-- argument list, a set of key-value pairs using /equals/, and as a
+-- fallback the whole line as a single /parameters/ argument.
+blockParameters :: PandocMonad m => OrgParser m [(Text, Text)]
+blockParameters = choice
+  [ try $ manyTill ((,) <$> orgArgKey <*> orgParamValue) newline
+  , try $ manyTill ((,) <$> (spaces *> orgArgWord <* char '=') <*> orgArgWord)
+                   newline
+  , (\x -> [ ("parameters", x) | not (T.null x)]) <$> (skipSpaces *> anyLine)
+  ]
 
 --
 -- Drawers
diff --git a/src/Text/Pandoc/Readers/RTF.hs b/src/Text/Pandoc/Readers/RTF.hs
--- a/src/Text/Pandoc/Readers/RTF.hs
+++ b/src/Text/Pandoc/Readers/RTF.hs
@@ -784,27 +784,41 @@
 
 -- {\field{\*\fldinst{HYPERLINK "http://pandoc.org"}}{\fldrslt foo}}
 handleField :: PandocMonad m => Blocks -> [Tok] -> RTFParser m Blocks
-handleField bs
-  (Tok _
-    (Grouped
-     (Tok _ (ControlSymbol '*')
-     :Tok _ (ControlWord "fldinst" Nothing)
-     :Tok _ (Grouped (Tok _ (UnformattedText insttext):rest))
-     :_))
-  :linktoks)
-  | Just linkdest <- getHyperlink insttext
-  = do let linkdest' = case rest of
-                         (Tok _ (ControlSymbol '\\')
-                          : Tok _ (UnformattedText t)
-                          : _) | Just bkmrk <- T.stripPrefix "l" t
-                           -> "#" <> unquote bkmrk
-                         _ -> linkdest
-       modifyGroup $ \g -> g{ gHyperlink = Just linkdest' }
-       result <- foldM processTok bs linktoks
-       modifyGroup $ \g -> g{ gHyperlink = Nothing }
-       return result
-handleField bs _ = pure bs
+handleField bs ts = do
+  let isFieldMod (Tok _ (ControlWord w _)) =
+        w `elem` ["flddirty", "fldedit", "fldlock", "fldpriv"]
+      isFieldMod _ = False
+  case dropWhile isFieldMod ts of
+    [Tok _ (Grouped
+       (Tok _ (ControlSymbol '*')
+       :Tok _ (ControlWord "fldinst" Nothing)
+       :Tok _ (Grouped instrtoks)
+       :_)),
+     Tok _ (Grouped
+       (Tok _ (ControlWord "fldrslt" Nothing)
+       :Tok _ (Grouped resulttoks) : _))] -> do
+         case getHyperlink instrtoks of
+           Just linkdest -> do
+             modifyGroup $ \g -> g{ gHyperlink = Just linkdest }
+             result <- foldM processTok bs resulttoks
+             modifyGroup $ \g -> g{ gHyperlink = Nothing }
+             return result
+           Nothing -> foldM processTok bs resulttoks
+    _ -> pure bs
 
+getHyperlink :: [Tok] -> Maybe Text
+getHyperlink [] = Nothing
+getHyperlink (Tok _ (UnformattedText w) : rest)
+  | Just w' <- unquote <$> T.stripPrefix "HYPERLINK" (T.strip w)
+    = if T.null w'
+         then case rest of
+                (Tok _ (ControlSymbol '\\') : Tok _ (UnformattedText b) : _)
+                  | Just bkmrk <- unquote <$> T.stripPrefix "l " (T.strip b)
+                    -> Just $ "#" <> bkmrk
+                _ -> Just mempty
+         else Just w'
+getHyperlink (_:ts) = getHyperlink ts
+
 unquote :: Text -> Text
 unquote = T.dropWhile (=='"') . T.dropWhileEnd (=='"') . T.strip
 
@@ -943,12 +957,6 @@
       UnformattedText t -> pict{ picData = t }
       _ -> pict
 
-
-getHyperlink :: Text -> Maybe Text
-getHyperlink t =
-  case T.stripPrefix "HYPERLINK" (T.strip t) of
-    Nothing -> Nothing
-    Just rest -> Just $ unquote rest
 
 processFontTable :: [Tok] -> FontTable
 processFontTable = snd . foldl' go (0, mempty)
diff --git a/src/Text/Pandoc/Writers/Docx/OpenXML.hs b/src/Text/Pandoc/Writers/Docx/OpenXML.hs
--- a/src/Text/Pandoc/Writers/Docx/OpenXML.hs
+++ b/src/Text/Pandoc/Writers/Docx/OpenXML.hs
@@ -773,17 +773,20 @@
       kvs' = filter (("id" /=) . fst) kvs
   modify $ \st -> st{ stComments = (("id",ident'):kvs', ils) : stComments st }
   return [ Elem $ mknode "w:commentRangeStart" [("w:id", ident')] () ]
-inlineToOpenXML' _ (Span (ident,["comment-end"],kvs) _) =
+inlineToOpenXML' opts (Span (ident,["comment-end"],kvs) content) = do
   -- prefer the "id" in kvs, since that is the one produced by the docx
   -- reader.
   let ident' = fromMaybe ident (lookup "id" kvs)
-  in return . map Elem $
-     [ mknode "w:commentRangeEnd" [("w:id", ident')] ()
-     , mknode "w:r" []
-       [ mknode "w:rPr" []
-         [ mknode "w:rStyle" [("w:val", "CommentReference")] () ]
-       , mknode "w:commentReference" [("w:id", ident')] () ]
-     ]
+  -- process nested content: see #8189
+  nestedContent <- inlinesToOpenXML opts content
+  let thisCommentEnd =
+        [ mknode "w:commentRangeEnd" [("w:id", ident')] ()
+        , mknode "w:r" []
+          [ mknode "w:rPr" []
+            [ mknode "w:rStyle" [("w:val", "CommentReference")] () ]
+          , mknode "w:commentReference" [("w:id", ident')] () ]
+        ]
+  return $ map Elem thisCommentEnd ++ nestedContent
 inlineToOpenXML' opts (Span (ident,classes,kvs) ils) = do
   stylemod <- case lookup dynamicStyleKey kvs of
                    Just (fromString . T.unpack -> sty) -> do
diff --git a/src/Text/Pandoc/Writers/LaTeX/Table.hs b/src/Text/Pandoc/Writers/LaTeX/Table.hs
--- a/src/Text/Pandoc/Writers/LaTeX/Table.hs
+++ b/src/Text/Pandoc/Writers/LaTeX/Table.hs
@@ -98,7 +98,7 @@
   modify $ \s -> s{ stTable = True }
   notes <- notesToLaTeX <$> gets stNotes
   beamer <- gets stBeamer
-  let makeUnnumbered x = "{\\def\\LTcaptype{} % do not increment counter" $$ x $$ "}"
+  let makeUnnumbered x = "{\\def\\LTcaptype{none} % do not increment counter" $$ x $$ "}"
   return
     $ (if null capt then makeUnnumbered else id)
     $ "\\begin{longtable}[]" <>
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs
--- a/src/Text/Pandoc/Writers/RST.hs
+++ b/src/Text/Pandoc/Writers/RST.hs
@@ -328,7 +328,7 @@
 blockToRST (BlockQuote blocks) = do
   contents <- blockListToRST blocks
   return $ nest 3 contents <> blankline
-blockToRST (Table _attrs blkCapt specs thead tbody tfoot) = do
+blockToRST (Table _attrs blkCapt specs thead@(TableHead _ theadRows) tbody tfoot@(TableFoot _ tfootRows)) = do
   let (caption, aligns, widths, headers, rows) =
         toLegacyTable blkCapt specs thead tbody tfoot
   caption' <- inlineListToRST caption
@@ -341,7 +341,9 @@
   opts <- gets stOptions
   let specs' = map (\(_,width) -> (AlignDefault, width)) specs
       renderGrid = gridTable opts blocksToDoc specs' thead tbody tfoot
-      isSimple = all (== 0) widths && length widths > 1
+      rowHasRowSpan (Row _ cells) = any cellHasRowSpan cells
+      cellHasRowSpan (Cell _ _ rowSpan _ _) = rowSpan > 1
+      isSimple = all (== 0) widths && length widths > 1 && not (any rowHasRowSpan $ theadRows ++ tableBodiesToRows tbody ++ tfootRows)
       renderSimple = do
         tbl' <- simpleTable opts blocksToDoc thead tbody tfoot
         if offset tbl' > writerColumns opts
@@ -926,7 +928,7 @@
   headerDocs <- if all isEmptyRow headers
                    then return []
                    else fixEmpties <$> mapM rowToDoc headers
-  rowDocs <- fixEmpties <$> mapM rowToDoc ((concatMap tableBodyToRows tbody) ++ footers)
+  rowDocs <- fixEmpties <$> mapM rowToDoc ((tableBodiesToRows tbody) ++ footers)
   let numChars = maybe 0 maximum . NE.nonEmpty . map (offset . fst)
   let colWidths = map numChars $ transpose (headerDocs ++ rowDocs)
   let hline = nowrap $ hsep (map (\n -> literal (T.replicate n "=")) colWidths)
@@ -953,8 +955,6 @@
 
     cellToDocs (Cell _ _ _ colSpan blocks) = applyColSpan colSpan <$> (blocksToDoc opts) blocks
 
-    tableBodyToRows (TableBody _ _ headerRows bodyRows) = headerRows ++ bodyRows
-
     applyColSpan col@(ColSpan colSpan) doc
       | colSpan > 1 =
           -- Fill up columns for the col spans by adding empty docs without a ColSpan.
@@ -991,3 +991,10 @@
             then colWidthsSum + colWidthsLength - 1
             else colWidthsSum
       in  literal $ T.replicate dashLength "-"
+
+-- | Concatenates the header and body Rows of a List of TableBody into a flat
+-- List of Rows.
+tableBodiesToRows :: [TableBody] -> [Row]
+tableBodiesToRows = concatMap tableBodyToRows
+  where
+    tableBodyToRows (TableBody _ _ headerRows bodyRows) = headerRows ++ bodyRows
diff --git a/src/Text/Pandoc/Writers/Typst.hs b/src/Text/Pandoc/Writers/Typst.hs
--- a/src/Text/Pandoc/Writers/Typst.hs
+++ b/src/Text/Pandoc/Writers/Typst.hs
@@ -409,7 +409,25 @@
   return $ hang ind (marker <> space) contents
 
 inlinesToTypst :: PandocMonad m => [Inline] -> TW m (Doc Text)
-inlinesToTypst ils = hcat <$> mapM inlineToTypst ils
+inlinesToTypst ils = hcat <$> mapM inlineToTypst (escapeParens ils)
+
+-- Add an escape before a parenthesis right after a non-space element.
+-- Otherwise we risk `#emph[test](3)` which will error. See #11210.
+escapeParens :: [Inline] -> [Inline]
+escapeParens [] = []
+escapeParens (s : x : xs)
+  | isSpacey s
+    = s : x : escapeParens xs
+escapeParens (Str t : xs)
+  | Just ('(',_) <- T.uncons t
+    = RawInline (Format "typst") "\\" : Str t : escapeParens xs
+escapeParens (x : xs) = x : escapeParens xs
+
+isSpacey :: Inline -> Bool
+isSpacey Space = True
+isSpacey SoftBreak = True
+isSpacey LineBreak = True
+isSpacey _ = False
 
 inlineToTypst :: PandocMonad m => Inline -> TW m (Doc Text)
 inlineToTypst inline =
diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs
--- a/test/Tests/Readers/Docx.hs
+++ b/test/Tests/Readers/Docx.hs
@@ -57,7 +57,8 @@
   (do df <- B.readFile docxFP
       runIOorExplode (readDocx opts df))
   (nativeDiff nativeFP)
-  (\a -> runIOorExplode (writeNative def a) >>= BS.writeFile nativeFP . UTF8.fromText)
+  (\a -> runIOorExplode (writeNative def{ writerTemplate = Just mempty} a)
+            >>= BS.writeFile nativeFP . UTF8.fromText)
 
 testForWarningsWithOptsIO :: ReaderOptions -> String -> FilePath -> [String] -> IO TestTree
 testForWarningsWithOptsIO opts name docxFile expected = do
diff --git a/test/command/11188.md b/test/command/11188.md
new file mode 100644
--- /dev/null
+++ b/test/command/11188.md
@@ -0,0 +1,80 @@
+Parsing PARAMETERS of Org-mode blocks
+
+```
+% pandoc -f org --to=native
+#+attr_html: :width 10px
+#+BEGIN_myex :this that
+huhu
+#+END_myex
+^D
+[ Div
+    ( ""
+    , [ "myex" ]
+    , [ ( "width" , "10px" ) , ( "this" , "that" ) ]
+    )
+    [ Para [ Str "huhu" ] ]
+]
+```
+
+Python-style parameters are accepted, too.
+
+```
+% pandoc -f org --to=native
+#+BEGIN_myblock width=10px
+[[image.svg][logo]]
+#+END_myblock
+^D
+[ Div
+    ( "" , [ "myblock" ] , [ ( "width" , "10px" ) ] )
+    [ Para
+        [ Span
+            ( ""
+            , [ "spurious-link" ]
+            , [ ( "target" , "image.svg" ) ]
+            )
+            [ Emph [ Str "logo" ] ]
+        ]
+    ]
+]
+```
+
+The fallback is to put the remainder of the line into a `parameters`
+attribute.
+
+```
+% pandoc -f org --to=native
+#+BEGIN_myblock these are parameters in an unsupported format
+/OK/
+#+END_myblock
+^D
+[ Div
+    ( ""
+    , [ "myblock" ]
+    , [ ( "parameters"
+        , "these are parameters in an unsupported format"
+        )
+      ]
+    )
+    [ Para [ Emph [ Str "OK" ] ] ]
+]
+```
+
+Also works on dynamic blocks.
+
+```
+% pandoc -f org --to=markdown
+#+BEGIN: clocktable :scope subtree :maxlevel 3
+#+CAPTION: Clock summary at [2025-10-18 Sat 17:23]
+| Headline     | Time   |
+|--------------+--------|
+| *Total time* | *0:00* |
+#+END:
+^D
+::: {.clocktable scope="subtree" maxlevel="3"}
+  Headline         Time
+  ---------------- ----------
+  **Total time**   **0:00**
+
+  : Clock summary at \[2025-10-18 Sat 17:23\]
+:::
+```
diff --git a/test/command/11210.md b/test/command/11210.md
new file mode 100644
--- /dev/null
+++ b/test/command/11210.md
@@ -0,0 +1,13 @@
+```
+% pandoc -t typst -f man
+.PP
+.IR login (1)
+.PP
+and a regular (paren) that should not be escaped.
+^D
+#emph[login]\(1)
+
+and a regular (paren) that should not be escaped.
+
+```
+
diff --git a/test/command/11211.md b/test/command/11211.md
new file mode 100644
--- /dev/null
+++ b/test/command/11211.md
@@ -0,0 +1,16 @@
+```
+% pandoc -f rtf -t native
+{\field{\*\fldinst{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033
+\loch\af2\dbch\af2\hich\f2\insrsid10976062\strike0\ulnone\cf1 HYPERLINK "https://example.com"}{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b28000000680074007400700073003a002f002f006500780061006d0070006c0065002e0063006f006d000000}}
+{\fldrslt{\rtlch\ab0\ai0\af2\alang1025\afs22\ltrch\b0\i0\fs22\lang1033\langnp1033\langfe1033\langfenp1033\loch\af2\dbch\af2\hich\f2\strike0\ul\cf2 link}}}
+^D
+[ Para
+    [ Underline
+        [ Link
+            ( "" , [] , [] )
+            [ Str "link" ]
+            ( "https://example.com" , "" )
+        ]
+    ]
+]
+```
diff --git a/test/command/6959.md b/test/command/6959.md
new file mode 100644
--- /dev/null
+++ b/test/command/6959.md
@@ -0,0 +1,12 @@
+```
+% pandoc -t docx -o - | pandoc -f docx -t markdown --track-changes=all
+[This is the comment]{.comment-start id="1" author="Mike"
+date="2020-12-17T16:53:00Z"} [Here is my reply]{.comment-start id="2"
+author="Mike" date="2020-12-17T17:39:00Z"} This is the content being
+commented on [[]{.comment-end id="2"}]{.comment-end id="1"}
+^D
+[This is the comment]{.comment-start id="1" author="Mike"
+date="2020-12-17T16:53:00Z"} [Here is my reply]{.comment-start id="2"
+author="Mike" date="2020-12-17T17:39:00Z"} This is the content being
+commented on [[]{.comment-end id="2"}]{.comment-end id="1"}
+```
diff --git a/test/command/7272.md b/test/command/7272.md
--- a/test/command/7272.md
+++ b/test/command/7272.md
@@ -14,7 +14,7 @@
   </tbody>
 </table>
 ^D
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}
   >{\raggedright\arraybackslash}p{(\linewidth - 0\tabcolsep) * \real{1.0000}}@{}}
 \toprule\noalign{}
diff --git a/test/command/8638.md b/test/command/8638.md
--- a/test/command/8638.md
+++ b/test/command/8638.md
@@ -7,7 +7,7 @@
 | oranges | 4.25  |
 ^D
 \begin{frame}
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}lr@{}}
 \toprule\noalign{}
 fruit & price \\
diff --git a/test/command/9350.md b/test/command/9350.md
--- a/test/command/9350.md
+++ b/test/command/9350.md
@@ -2,7 +2,7 @@
 % pandoc -f html -t latex
 <table><tbody><tr></tr></tbody></table>
 ^D
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}l@{}}
 \toprule\noalign{}
 \endhead
diff --git a/test/command/rst-writer-gridtable-if-rowspans.md b/test/command/rst-writer-gridtable-if-rowspans.md
new file mode 100644
--- /dev/null
+++ b/test/command/rst-writer-gridtable-if-rowspans.md
@@ -0,0 +1,246 @@
+```
+% pandoc -f native -t rst
+[ Table
+    ( "" , [] , [] )
+    (Caption Nothing [])
+    [ ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    ]
+    (TableHead ( "" , [] , [] ) [])
+    [ TableBody
+        ( "" , [] , [] )
+        (RowHeadColumns 0)
+        []
+        [ Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 2)
+                (ColSpan 1)
+                [ Plain [ Str "2" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        , Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        , Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "2" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        ]
+    ]
+    (TableFoot ( "" , [] , [] ) [])
+, Table
+    ( "" , [] , [] )
+    (Caption Nothing [])
+    [ ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    ]
+    (TableHead
+       ( "" , [] , [] )
+       [ Row
+           ( "" , [] , [] )
+           [ Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "1" ] ]
+           , Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 2)
+               (ColSpan 1)
+               [ Plain [ Str "2" ] ]
+           , Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "3" ] ]
+           ]
+       , Row
+           ( "" , [] , [] )
+           [ Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "1" ] ]
+           , Cell
+               ( "" , [] , [] )
+               AlignDefault
+               (RowSpan 1)
+               (ColSpan 1)
+               [ Plain [ Str "3" ] ]
+           ]
+       ])
+    [ TableBody
+        ( "" , [] , [] )
+        (RowHeadColumns 0)
+        []
+        [ Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "2" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        ]
+    ]
+    (TableFoot ( "" , [] , [] ) [])
+, Table
+    ( "" , [] , [] )
+    (Caption Nothing [])
+    [ ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    , ( AlignDefault , ColWidthDefault )
+    ]
+    (TableHead ( "" , [] , [] ) [])
+    [ TableBody
+        ( "" , [] , [] )
+        (RowHeadColumns 0)
+        [] []
+    ]
+    (TableFoot ( "" , [] , [] )
+        [ Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 2)
+                (ColSpan 1)
+                [ Plain [ Str "2" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        , Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+        , Row
+            ( "" , [] , [] )
+            [ Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "1" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "2" ] ]
+            , Cell
+                ( "" , [] , [] )
+                AlignDefault
+                (RowSpan 1)
+                (ColSpan 1)
+                [ Plain [ Str "3" ] ]
+            ]
+    ])
+]
+^D
++---+---+---+
+| 1 | 2 | 3 |
++---+   +---+
+| 1 |   | 3 |
++---+---+---+
+| 1 | 2 | 3 |
++---+---+---+
+
++---+---+---+
+| 1 | 2 | 3 |
++---+   +---+
+| 1 |   | 3 |
++===+===+===+
+| 1 | 2 | 3 |
++---+---+---+
+
++===+===+===+
+| 1 | 2 | 3 |
++---+   +---+
+| 1 |   | 3 |
++---+---+---+
+| 1 | 2 | 3 |
++===+===+===+
+```
diff --git a/test/docx/golden/comments.docx b/test/docx/golden/comments.docx
Binary files a/test/docx/golden/comments.docx and b/test/docx/golden/comments.docx differ
diff --git a/test/docx/mendeley_citations_plus.native b/test/docx/mendeley_citations_plus.native
--- a/test/docx/mendeley_citations_plus.native
+++ b/test/docx/mendeley_citations_plus.native
@@ -121,9 +121,9 @@
                              [ Str "ACM" , Space , Str "Inroads" ]
                          )
                        , ( "id" , MetaString "ITEM-1" )
-                       , ( "issue" , MetaString "1" )
+                       , ( "issue" , MetaInlines [ Str "1" ] )
                        , ( "issued" , MetaString "2011-02" )
-                       , ( "page" , MetaString "32-37" )
+                       , ( "page" , MetaInlines [ Str "32-37" ] )
                        , ( "publisher" , MetaInlines [ Str "ACM" ] )
                        , ( "publisher-place"
                          , MetaInlines
@@ -152,7 +152,7 @@
                              ]
                          )
                        , ( "type" , MetaString "article-journal" )
-                       , ( "volume" , MetaString "2" )
+                       , ( "volume" , MetaInlines [ Str "2" ] )
                        ])
                 , MetaMap
                     (fromList
@@ -206,7 +206,7 @@
                              ]
                          )
                        , ( "id" , MetaString "ITEM-2" )
-                       , ( "issue" , MetaString "4" )
+                       , ( "issue" , MetaInlines [ Str "4" ] )
                        , ( "issued" , MetaString "2015" )
                        , ( "title"
                          , MetaInlines
@@ -246,7 +246,7 @@
                              ]
                          )
                        , ( "type" , MetaString "article-journal" )
-                       , ( "volume" , MetaString "6" )
+                       , ( "volume" , MetaInlines [ Str "6" ] )
                        ])
                 ]
             )
@@ -268,7 +268,7 @@
               { citationId = "ITEM-1"
               , citationPrefix = [ Str "prefix" ]
               , citationSuffix =
-                  [ Str ",", Space , Str "123" , Space , Str "suffix" ]
+                  [ Str "," , Space , Str "123" , Space , Str "suffix" ]
               , citationMode = NormalCitation
               , citationNoteNum = 0
               , citationHash = 0
@@ -302,7 +302,12 @@
               { citationId = "ITEM-1"
               , citationPrefix = [ Str "prefix" ]
               , citationSuffix =
-                  [ Str ",", Space , Str "10-20" , Space , Str "suffix" ]
+                  [ Str ","
+                  , Space
+                  , Str "10-20"
+                  , Space
+                  , Str "suffix"
+                  ]
               , citationMode = NormalCitation
               , citationNoteNum = 0
               , citationHash = 0
diff --git a/test/docx/zotero_citations_plus.native b/test/docx/zotero_citations_plus.native
--- a/test/docx/zotero_citations_plus.native
+++ b/test/docx/zotero_citations_plus.native
@@ -54,10 +54,12 @@
                              ]
                          )
                        , ( "id" , MetaString "10" )
-                       , ( "issue" , MetaString "18" )
+                       , ( "issue" , MetaInlines [ Str "18" ] )
                        , ( "issued" , MetaString "2016" )
                        , ( "language" , MetaInlines [ Str "en" ] )
-                       , ( "page" , MetaString "9852\8211\&9859" )
+                       , ( "page"
+                         , MetaInlines [ Str "9852\8211\&9859" ]
+                         )
                        , ( "title"
                          , MetaInlines
                              [ Str "New"
@@ -90,7 +92,7 @@
                              ]
                          )
                        , ( "type" , MetaString "article-journal" )
-                       , ( "volume" , MetaString "43" )
+                       , ( "volume" , MetaInlines [ Str "43" ] )
                        ])
                 , MetaMap
                     (fromList
@@ -131,10 +133,12 @@
                              [ Str "Climate" , Space , Str "Dynamics" ]
                          )
                        , ( "id" , MetaString "109" )
-                       , ( "issue" , MetaString "11-12" )
+                       , ( "issue" , MetaInlines [ Str "11-12" ] )
                        , ( "issued" , MetaString "2013-12" )
                        , ( "language" , MetaInlines [ Str "en" ] )
-                       , ( "page" , MetaString "3325\8211\&3338" )
+                       , ( "page"
+                         , MetaInlines [ Str "3325\8211\&3338" ]
+                         )
                        , ( "title"
                          , MetaInlines
                              [ Str "A"
@@ -165,7 +169,7 @@
                              ]
                          )
                        , ( "type" , MetaString "article-journal" )
-                       , ( "volume" , MetaString "41" )
+                       , ( "volume" , MetaInlines [ Str "41" ] )
                        ])
                 , MetaMap
                     (fromList
@@ -280,7 +284,9 @@
                        , ( "id" , MetaString "6" )
                        , ( "issued" , MetaString "2016" )
                        , ( "language" , MetaInlines [ Str "en" ] )
-                       , ( "page" , MetaString "3751\8211\&3777" )
+                       , ( "page"
+                         , MetaInlines [ Str "3751\8211\&3777" ]
+                         )
                        , ( "title"
                          , MetaInlines
                              [ Str "The"
@@ -297,7 +303,7 @@
                              ]
                          )
                        , ( "type" , MetaString "article-journal" )
-                       , ( "volume" , MetaString "9" )
+                       , ( "volume" , MetaInlines [ Str "9" ] )
                        ])
                 ]
             )
@@ -412,7 +418,7 @@
               { citationId = "10"
               , citationPrefix = [ Str "prefix" ]
               , citationSuffix =
-                  [ Str ",", Space , Str "2" , Space , Str "suffix" ]
+                  [ Str "," , Space , Str "2" , Space , Str "suffix" ]
               , citationMode = NormalCitation
               , citationNoteNum = 0
               , citationHash = 0
diff --git a/test/tables.latex b/test/tables.latex
--- a/test/tables.latex
+++ b/test/tables.latex
@@ -19,7 +19,7 @@
 
 Simple table without caption:
 
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}rlcl@{}}
 \toprule\noalign{}
 Right & Left & Center & Default \\
@@ -92,7 +92,7 @@
 
 Multiline table without caption:
 
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}
   >{\centering\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1500}}
   >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1375}}
@@ -119,7 +119,7 @@
 
 Table without column headers:
 
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}rlcr@{}}
 \toprule\noalign{}
 \endhead
@@ -133,7 +133,7 @@
 
 Multiline table without column headers:
 
-{\def\LTcaptype{} % do not increment counter
+{\def\LTcaptype{none} % do not increment counter
 \begin{longtable}[]{@{}
   >{\centering\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1500}}
   >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1375}}
diff --git a/test/writer.typst b/test/writer.typst
--- a/test/writer.typst
+++ b/test/writer.typst
@@ -96,9 +96,9 @@
     }
   }
 
-  block(below: 4mm)[
+  block(below: 1em, width: 100%)[
     #if title != none {
-      align(center)[#block(inset: 2em)[
+      align(center, block[
           #text(weight: "bold", size: 1.5em)[#title #if thanks != none {
               footnote(thanks, numbering: "*")
               counter(footnote).update(n => n - 1)
@@ -108,8 +108,7 @@
               parbreak()
               text(weight: "bold", size: 1.25em)[#subtitle]
             }
-          )
-        ]]
+           )])
     }
 
     #if authors != none and authors != [] {
