aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/templates/default.latex8
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs10
-rw-r--r--test/command/9472.md2
-rw-r--r--test/writer.latex3
-rw-r--r--test/writers-lang-and-dir.latex2
5 files changed, 15 insertions, 10 deletions
diff --git a/data/templates/default.latex b/data/templates/default.latex
index 3bca1402f..24d078a39 100644
--- a/data/templates/default.latex
+++ b/data/templates/default.latex
@@ -443,13 +443,15 @@ $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
+\fi
+$endif$
$endif$
$for(header-includes)$
$header-includes$
$endfor$
-\ifLuaTeX
- \usepackage{selnolig} % disable illegal ligatures
-\fi
$if(dir)$
\ifPDFTeX
\TeXXeTstate=1
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 2e6cd6649..bbd8591a7 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -33,13 +33,14 @@ import Control.Monad
import Data.Containers.ListUtils (nubOrd)
import Data.Char (isDigit)
import Data.List (intersperse, (\\))
-import Data.Maybe (catMaybes, fromMaybe, isJust, mapMaybe, isNothing)
+import Data.Maybe (catMaybes, fromMaybe, isJust, mapMaybe, isNothing,
+ maybeToList)
import Data.Monoid (Any (..))
import Data.Text (Text)
import qualified Data.Text as T
import Network.URI (unEscapeString)
import Text.DocTemplates (FromContext(lookupContext), renderTemplate)
-import Text.Collate.Lang (renderLang)
+import Text.Collate.Lang (renderLang, Lang(langLanguage))
import Text.Pandoc.Class.PandocMonad (PandocMonad, report, toLang)
import Text.Pandoc.Definition
import Text.Pandoc.Highlighting (formatLaTeXBlock, formatLaTeXInline, highlight,
@@ -262,6 +263,11 @@ pandocToLaTeX options (Pandoc meta blocks) = do
(map literal
(nubOrd . catMaybes . filter (/= babelLang)
$ map toBabel docLangs))
+ $ defField "selnolig-langs"
+ (literal . T.intercalate "," $
+ let langs = docLangs ++ maybeToList mblang
+ in (["english" | any ((== "en") . langLanguage) langs] ++
+ ["german" | any ((== "de") . langLanguage) langs]))
$ defField "latex-dir-rtl"
((render Nothing <$> getField "dir" context) ==
Just ("rtl" :: Text)) context
diff --git a/test/command/9472.md b/test/command/9472.md
index 48fec385d..7da450ee9 100644
--- a/test/command/9472.md
+++ b/test/command/9472.md
@@ -61,7 +61,7 @@ More text in English. ['Zitat auf Deutsch.']{lang=de}
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
- \usepackage{selnolig} % disable illegal ligatures
+ \usepackage[german]{selnolig} % disable illegal ligatures
\fi
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
diff --git a/test/writer.latex b/test/writer.latex
index b1d784f02..5027b85cc 100644
--- a/test/writer.latex
+++ b/test/writer.latex
@@ -60,9 +60,6 @@
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
-\ifLuaTeX
- \usepackage{selnolig} % disable illegal ligatures
-\fi
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same}
diff --git a/test/writers-lang-and-dir.latex b/test/writers-lang-and-dir.latex
index 7d3fcc86f..3d12f0c1e 100644
--- a/test/writers-lang-and-dir.latex
+++ b/test/writers-lang-and-dir.latex
@@ -55,7 +55,7 @@
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
- \usepackage{selnolig} % disable illegal ligatures
+ \usepackage[english,german]{selnolig} % disable illegal ligatures
\fi
\ifPDFTeX
\TeXXeTstate=1