Upstream bugs
This is a legacy page which only applies to older installations, with a old TeXlive! installation
The current approach is to patch the files system-wide so on upgrade these changes will be overwritten by versions shipped by Debian.
The long term plan is to repackage texlive in a minimal package, so we can ship the latest versions.
Russian: undefined \chapterformat
On Debian 10 (Buster), Russian documents are hitting this bug: https://github.com/reutenauer/polyglossia/issues/210
commit d2f383ee4b84bbed78a618fc1261f7fb3ccf9447
Author: Maksim Zholudev <maximzms@gmail.com>
Date: Tue Aug 14 08:35:00 2018 +0300
Fix Russian language for KOMA-Script classes without chapters
diff --git a/tex/gloss-russian.ldf b/tex/gloss-russian.ldf
index d2c86a3..5d207ff 100644
--- a/tex/gloss-russian.ldf
+++ b/tex/gloss-russian.ldf
@@ -170,7 +170,8 @@
% The following is based on some ideas from ruscor.sty
\def\russian@capsformat{%
\ifdef{\KOMAScript}{%
- \renewcommand{\chapterformat}{\prechapter\thechapter\postchapter}%
+ \ifdef{\chapterformat}{%
+ \renewcommand{\chapterformat}{\prechapter\thechapter\postchapter}}{}%
\renewcommand{\sectionformat}{\presection\thesection\postsection}%
\renewcommand{\subsectionformat}{\presubsection\thesubsection\postsubsection}%
\renewcommand{\subsubsectionformat}{\presubsubsection\thesubsubsection\postsubsubsection}%
@@ -224,7 +225,8 @@
\def\noextras@russian{%
\ifdef{\KOMAScript}{%
- \renewcommand{\chapterformat}{\thechapter\autodot\enskip}%
+ \ifdef{\chapterformat}{%
+ \renewcommand{\chapterformat}{\thechapter\autodot\enskip}}{}%
\renewcommand{\sectionformat}{\thesection\autodot\enskip}%
\renewcommand{\subsectionformat}{\thesubsection\autodot\enskip}%
\renewcommand{\subsubsectionformat}{\thesubsubsection\autodot\enskip}%
You need to patch gloss-russian.ldf file. Save the patch in, e.g.
russian.patch and then as root execute:
patch -p1 /usr/share/texlive/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf russian.patch
French: missing spacing after punctuation
The polyglossia package shipped with Debian 9 (Stretch) is hit by this bug: tex.stackexchange.com (missing no-break spaces in French punctuation).
You can work around it in two ways:
-
Use LuaTeX instead of XeTeX (root users have access to the switch in the admin).
-
Patch polyglossia (see below).
Patching polyglossia
--- /usr/share/texlive/texmf-dist/tex/latex/polyglossia/gloss-french.ldf 2016-03-25 23:06:03.000000000 +0100
+++ texmf/tex/latex/polyglossia/gloss-french.ldf 2018-10-14 09:45:47.171843623 +0200
@@ -54,6 +54,13 @@
\XeTeXinterchartoks \french@punctguillend \french@punctthin = {\nobreak\thinspace}% "»;" -> "» ;"
\XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
\XeTeXinterchartoks \french@punctthin \french@punctguillend = {\nobreakspace}% "?»" -> "? »"
+
+ % see https://tex.stackexchange.com/questions/330844/prevent-line-break-before/330848#330848
+ \XeTeXinterchartoks 4095 \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
+ \XeTeXinterchartoks 4095 \french@punctthick = {\xpg@unskip\nobreakspace}%
+ \XeTeXinterchartoks 4095 \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
+ \XeTeXinterchartoks \french@punctguillstart 4095 = {\nobreakspace\xpg@nospace}% "« " -> "«~"
+
\fi
}
Save the patch in a file, e.g. french.patch and then as root execute:
patch -p1 /usr/share/texlive/texmf-dist/tex/latex/polyglossia/gloss-french.ldf french.patch
