summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2024-02-18 11:44:03 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2024-02-18 11:44:03 -0800
commitb36052144b3fe49077ad70c6bd54d4747a4c0d03 (patch)
tree3838a4fb7f7d652f2d4cf0ec9dc6840ad850608a /test
parent8d63ed444901d0c5ef675788dbd90ea99e2f494c (diff)
LaTeX writer: fix bug when a language is specified in two different ways.
If you used `lang: de-DE` but then had a span or div with `lang=de`, the preamble would try to load `ngerman` twice, leading to an error. This fix ensures that a language is only loaded once. Closes #9472.
Diffstat (limited to 'test')
-rw-r--r--test/command/9472.md85
1 files changed, 85 insertions, 0 deletions
diff --git a/test/command/9472.md b/test/command/9472.md
new file mode 100644
index 000000000..48fec385d
--- /dev/null
+++ b/test/command/9472.md
@@ -0,0 +1,85 @@
+```
+% pandoc -t latex -s
+---
+lang: de-DE
+---
+
+More text in English. ['Zitat auf Deutsch.']{lang=de}
+
+[Bonjour]{lang=fr} [café]{lang="fr-FR"}
+^D
+% Options for packages loaded elsewhere
+\PassOptionsToPackage{unicode}{hyperref}
+\PassOptionsToPackage{hyphens}{url}
+%
+\documentclass[
+]{article}
+\usepackage{amsmath,amssymb}
+\usepackage{iftex}
+\ifPDFTeX
+ \usepackage[T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ \usepackage{textcomp} % provide euro and other symbols
+\else % if luatex or xetex
+ \usepackage{unicode-math} % this also loads fontspec
+ \defaultfontfeatures{Scale=MatchLowercase}
+ \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
+\fi
+\usepackage{lmodern}
+\ifPDFTeX\else
+ % xetex/luatex font selection
+\fi
+% Use upquote if available, for straight quotes in verbatim environments
+\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
+\IfFileExists{microtype.sty}{% use microtype if available
+ \usepackage[]{microtype}
+ \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
+}{}
+\makeatletter
+\@ifundefined{KOMAClassName}{% if non-KOMA class
+ \IfFileExists{parskip.sty}{%
+ \usepackage{parskip}
+ }{% else
+ \setlength{\parindent}{0pt}
+ \setlength{\parskip}{6pt plus 2pt minus 1pt}}
+}{% if KOMA class
+ \KOMAoptions{parskip=half}}
+\makeatother
+\usepackage{xcolor}
+\setlength{\emergencystretch}{3em} % prevent overfull lines
+\providecommand{\tightlist}{%
+ \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
+\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
+\ifLuaTeX
+\usepackage[bidi=basic]{babel}
+\else
+\usepackage[bidi=default]{babel}
+\fi
+\babelprovide[main,import]{ngerman}
+\babelprovide[import]{french}
+% get rid of language-specific shorthands (see #6817):
+\let\LanguageShortHands\languageshorthands
+\def\languageshorthands#1{}
+\ifLuaTeX
+ \usepackage{selnolig} % disable illegal ligatures
+\fi
+\usepackage{bookmark}
+\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
+\urlstyle{same}
+\hypersetup{
+ pdflang={de-DE},
+ hidelinks,
+ pdfcreator={LaTeX via pandoc}}
+
+\author{}
+\date{}
+
+\begin{document}
+
+More text in English. \foreignlanguage{ngerman}{`Zitat auf Deutsch.'}
+
+\foreignlanguage{french}{Bonjour} \foreignlanguage{french}{café}
+
+\end{document}
+
+```