diff --git a/configuration b/configuration
index ce385a08c30..5a2cfa2b258 100644
--- a/configuration
+++ b/configuration
@@ -14,7 +14,7 @@
export DENO=v2.3.1
# TODO figure out where 0.1.41 apple silicon libs are available
export DENO_DOM=v0.1.41-alpha-artifacts
-export PANDOC=3.6.3
+export PANDOC=3.7.0.2
export DARTSASS=1.87.0
export ESBUILD=0.25.3
export TYPST=0.13.0
diff --git a/dev-docs/update-pandoc-checklist.md b/dev-docs/update-pandoc-checklist.md
index ac3115da0ad..e59a80321d1 100644
--- a/dev-docs/update-pandoc-checklist.md
+++ b/dev-docs/update-pandoc-checklist.md
@@ -2,10 +2,30 @@
Carlos needs to run this:
-- [ ] Ensure archives are upgraded
-- [ ] Run `AWS_PROFILE=... ./package/src/quarto-bld update-pandoc PANDOC_VERSION`
+- [x] Ensure archives are upgraded
+- [x] Run `AWS_PROFILE=... ./package/src/quarto-bld update-pandoc PANDOC_VERSION`
- [ ] look at `git diff`, specifically for changes in Pandoc templates, and adjust as needed.
+As a reminder, our templates are kept in the same directories as Pandoc's templates, but with different names. `git diff` will show the diff in Pandoc's template; we have to manually patch
+ours. (We can't just use `patch` because the templates have diverged too much)
+
+### Pandoc templates
+
+The general rule for the naming is that "format.template" indicates Pandoc naming, and "template.format" indicates ours. Examples below:
+
+#### beamer
+
+- Pandoc's: src/resources/formats/beamer/pandoc/beamer.template
+- Ours: src/resources/formats/beamer/pandoc/template.tex
+
+Partials:
+
+- Pandoc's:
+ - src/resources/formats/beamer/pandoc/latex.common
+- Ours:
+ - src/resources/formats/beamer/pandoc/common.latex
+
+
## Manual steps
- [ ] Update schemas by inspecting [their changelog](https://github.com/jgm/pandoc/blob/main/changelog.md) for new commands, deprecation removals, etc
diff --git a/src/resources/formats/beamer/pandoc/babel-lang.tex b/src/resources/formats/beamer/pandoc/babel-lang.tex
index f29c833cb1e..ad1cc90c499 100644
--- a/src/resources/formats/beamer/pandoc/babel-lang.tex
+++ b/src/resources/formats/beamer/pandoc/babel-lang.tex
@@ -3,9 +3,9 @@
$--
$if(lang)$
\ifLuaTeX
-\usepackage[bidi=basic$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=basic,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\else
-\usepackage[bidi=default$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=default,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\fi
$if(babel-lang)$
$if(mainfont)$
@@ -18,12 +18,7 @@
$for(babelfonts/pairs)$
\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
$endfor$
-% get rid of language-specific shorthands (see #6817):
-\let\LanguageShortHands\languageshorthands
-\def\languageshorthands#1{}
-$if(selnolig-langs)$
\ifLuaTeX
- \usepackage[$for(selnolig-langs)$$it$$sep$,$endfor$]{selnolig} % disable illegal ligatures
+ \usepackage{selnolig} % disable illegal ligatures
\fi
-$endif$
$endif$
\ No newline at end of file
diff --git a/src/resources/formats/beamer/pandoc/latex.common b/src/resources/formats/beamer/pandoc/latex.common
index 3f93b1b883a..cb745941de6 100644
--- a/src/resources/formats/beamer/pandoc/latex.common
+++ b/src/resources/formats/beamer/pandoc/latex.common
@@ -183,9 +183,9 @@ $-- Babel language support
$--
$if(lang)$
\ifLuaTeX
-\usepackage[bidi=basic$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=basic,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\else
-\usepackage[bidi=default$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=default,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\fi
$if(babel-lang)$
$if(mainfont)$
@@ -198,15 +198,10 @@ $endif$
$for(babelfonts/pairs)$
\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
$endfor$
-% get rid of language-specific shorthands (see #6817):
-\let\LanguageShortHands\languageshorthands
-\def\languageshorthands#1{}
-$if(selnolig-langs)$
\ifLuaTeX
- \usepackage[$for(selnolig-langs)$$it$$sep$,$endfor$]{selnolig} % disable illegal ligatures
+ \usepackage{selnolig} % disable illegal ligatures
\fi
$endif$
-$endif$
$--
$-- pagestyle
$--
diff --git a/src/resources/formats/jats/pandoc/default-templates/article.jats_publishing b/src/resources/formats/jats/pandoc/default-templates/article.jats_publishing
index d402b8bbd39..b33263cfd33 100644
--- a/src/resources/formats/jats/pandoc/default-templates/article.jats_publishing
+++ b/src/resources/formats/jats/pandoc/default-templates/article.jats_publishing
@@ -98,7 +98,7 @@ $if(author.surname)$
$if(author.non-dropping-particle)$${author.non-dropping-particle} $endif$$author.surname$
$author.given-names$$if(author.dropping-particle)$ ${author.dropping-particle}$endif$
$if(author.prefix)$
-${author.suffix}
+${author.prefix}
$endif$
$if(author.suffix)$
${author.suffix}
diff --git a/src/resources/formats/jats/pandoc/default-templates/default.jats_articleauthoring b/src/resources/formats/jats/pandoc/default-templates/default.jats_articleauthoring
index 627911ae516..5a4fa212872 100644
--- a/src/resources/formats/jats/pandoc/default-templates/default.jats_articleauthoring
+++ b/src/resources/formats/jats/pandoc/default-templates/default.jats_articleauthoring
@@ -31,7 +31,7 @@ $if(author.surname)$
$if(author.non-dropping-particle)$${author.non-dropping-particle} $endif$${author.surname}
${author.given-names}$if(author.dropping-particle)$ ${author.dropping-particle}$endif$
$if(author.prefix)$
-${author.suffix}
+${author.prefix}
$endif$
$if(author.suffix)$
${author.suffix}
diff --git a/src/resources/formats/pdf/pandoc/babel-lang.tex b/src/resources/formats/pdf/pandoc/babel-lang.tex
index f29c833cb1e..ad1cc90c499 100644
--- a/src/resources/formats/pdf/pandoc/babel-lang.tex
+++ b/src/resources/formats/pdf/pandoc/babel-lang.tex
@@ -3,9 +3,9 @@
$--
$if(lang)$
\ifLuaTeX
-\usepackage[bidi=basic$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=basic,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\else
-\usepackage[bidi=default$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=default,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\fi
$if(babel-lang)$
$if(mainfont)$
@@ -18,12 +18,7 @@
$for(babelfonts/pairs)$
\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
$endfor$
-% get rid of language-specific shorthands (see #6817):
-\let\LanguageShortHands\languageshorthands
-\def\languageshorthands#1{}
-$if(selnolig-langs)$
\ifLuaTeX
- \usepackage[$for(selnolig-langs)$$it$$sep$,$endfor$]{selnolig} % disable illegal ligatures
+ \usepackage{selnolig} % disable illegal ligatures
\fi
-$endif$
$endif$
\ No newline at end of file
diff --git a/src/resources/formats/pdf/pandoc/latex.common b/src/resources/formats/pdf/pandoc/latex.common
index 3f93b1b883a..cb745941de6 100644
--- a/src/resources/formats/pdf/pandoc/latex.common
+++ b/src/resources/formats/pdf/pandoc/latex.common
@@ -183,9 +183,9 @@ $-- Babel language support
$--
$if(lang)$
\ifLuaTeX
-\usepackage[bidi=basic$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=basic,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\else
-\usepackage[bidi=default$for(babeloptions)$,$babeloptions$$endfor$]{babel}
+\usepackage[bidi=default,shorthands=off,$for(babeloptions)$,$babeloptions$$endfor$]{babel}
\fi
$if(babel-lang)$
$if(mainfont)$
@@ -198,15 +198,10 @@ $endif$
$for(babelfonts/pairs)$
\babelfont[$babelfonts.key$]{rm}{$babelfonts.value$}
$endfor$
-% get rid of language-specific shorthands (see #6817):
-\let\LanguageShortHands\languageshorthands
-\def\languageshorthands#1{}
-$if(selnolig-langs)$
\ifLuaTeX
- \usepackage[$for(selnolig-langs)$$it$$sep$,$endfor$]{selnolig} % disable illegal ligatures
+ \usepackage{selnolig} % disable illegal ligatures
\fi
$endif$
-$endif$
$--
$-- pagestyle
$--