我面临的问题也描述在babel 手册1.1 单语文档。
我有多语言文档,laualatex 遵守规定,例如法语和德语连字符未预加载。文档已排版,但连字符不正确。
在章节中2 使用 language.dat 加载语言,其中写道,如果使用 luatex,则连字模式会在语言请求时动态加载。这就是我的情况。
该机制完全基于 language.dat 设计。并且有文字写道:“如果从以前的版本升级,则必须重建格式。”(我已经使用 Miktex 安装几年了,只是进行更新。)
此时,我不知道该怎么做。我想我走在正确的轨道上,但我没有language.dat
在 Miktex 发行版中找到该文件,而且我不知道它应该位于何处。
我按以下方式使用 babel:
\RequirePackage[main=czech,greek,russian,ngerman,english,french]{babel}
\babelfont[greek]{rm}{Cambria}
\babelfont[russian]{rm}{Cambria}
\babelfont[ukrainian]{rm}{Cambria}
\babelfont[ngerman]{rm}{Cambria}
\babelfont[english]{rm}{Cambria}
\babelfont[italian]{rm}{Cambria}
\babelfont[french]{rm}{Cambria}
% https://tex.stackexchange.com/questions/544153/devanagari-typesetting-in-windows-texmaker-miktex
\newfontfamily\sanskritfont{Shobhika}[
Script = Devanagari,
Language = Sanskrit]
\newfontscript{Devanagari}{deva}
\babelfont[sanskrit-devanagari]{rm}{Shobhika}
\setlocalecaption{czech}{chapter}{Přednáška}
\newcommand{\GREEK}[1]{\foreignlanguage{greek}{#1}}
\newcommand{\GERMAN}[1]{\foreignlanguage{ngerman}{#1}}
\newcommand{\ITALY}[1]{\foreignlanguage{italian}{#1}}
\newcommand{\FRENCH}[1]{\foreignlanguage{french}{#1}}
\newcommand{\ENG}[1]{\foreignlanguage{english}{#1}}
Package babel Warning: No hyphenation patterns were preloaded for
(babel) the language `LANG' into the format.
(babel) Please, configure your TeX system to add them and
(babel) rebuild the format. Now I will use the patterns
(babel) preloaded for \language=0 instead on input line 57.
@Javier Bezos 向我索要 MNWE。我尽量将所有内容保持在最低限度。抱歉,本段文字是捷克语。
MNWE:
\documentclass[12pt]{scrbook}
\usepackage{geometry}
\geometry{a6paper}
% https://tex.stackexchange.com/questions/544153/devanagari-typesetting-in-windows-texmaker-miktex
% https://tex.stackexchange.com/questions/455788/
\usepackage[czech]{babel}
\babelfont[greek]{rm}{Cambria}
% https://tex.stackexchange.com/questions/544153/devanagari-typesetting-in-windows-texmaker-miktex
\newfontfamily\sanskritfont{Shobhika}[
Script = Devanagari,
Language = Sanskrit]
\newfontscript{Devanagari}{deva}
\babelfont[sanskrit-devanagari]{rm}{Shobhika}
\setmainfont{TeX Gyre Termes} % {TeX Gyre Pagella}
\begin{document}
Ve třetí části velkého indického eposu Mahábhárata se mocný duch Jakša ptá nejstaršího a
nejmoudřejšího Pánduovce \foreignlanguage{sanskrit-devanagari}{पाण्डव} o němž pojednává
staroindický epos \emph{Mahábhárata}. Judhišthiry, jaké je největší ze všech mysterií.
Šiva (Devanágarí: \foreignlanguage{sanskrit-devanagari}{शिव})
Zdá se vám to podivné? Je to jako sledovat Slunce při úchvatném západu, kdy pomalu mizí za
vzdálenými mraky. Avšak vy si náhle uvědomíte, že se nehýbe Slunce, ale že jev je způsoben
otáčením zeměkoule. Ve své mysli spatříte celou naši planetu - včetně vás samotných - jak se
otáčí na opačnou stranu směrem od Slunce. V tom okamžiku pohlédnete na svět
Greek:
\foreignlanguage{greek}{Κύκλος γαλακτικός}
\end{document}
在 lualatex 日志中,它抱怨道fontspec
- 字体“Shobhika”和脚本“Devanagari”无法使用“语言‘梵语’”。有趣的是,梵文文本被打印出来了。令人不安的是,捷克语单词在行尾的拆分不起作用。参见下面的图片,我试图圈出未拆分的单词。
日志文件的一部分:
(C:/Users/HP/AppData/Local/Programs/MiKTeX/tex/generic/babel/locale/sa/babel-sanskrit-devanagari.tex) (./grain0089_a.aux
Package babel Info: The following font families will use the default
(babel) settings for all or some languages:
(babel) * \rmfamily = TeXGyreTermes(0)
(babel) TeXGyreTermes:mode=node;script=latn;language=dflt;+tlig; at 12.0pt
(babel) * \sffamily = lmss
(babel) [lmsans12-regular]:+tlig;
(babel) * \ttfamily = lmtt
(babel) [lmmono12-regular]:
(babel) There is nothing intrinsically wrong with it, but
(babel) 'babel' will no set Script and Language, which could
(babel) be relevant in some languages. If your document uses
(babel) these families, consider redefining them with \babelfont.
(babel) Reported on input line 4.
答案1
首先,完全忽略 显示的警告fontspec
。它非常具有误导性,而且毫无用处。
似乎在babel
动态加载语言的方式上有一个错误,但有一个简单的解决方法:只需sanskrit-devanagari
明确声明:
\documentclass[12pt]{scrbook}
\usepackage{geometry}
\geometry{a6paper}
\usepackage[czech]{babel}
\babelprovide[import]{sanskrit-devanagari}
\babelfont{rm}{TeX Gyre Termes}
\babelfont[greek]{rm}{Cambria}
\babelfont[sanskrit-devanagari]{rm}{Shobhika}
\begin{document}
Ve třetí části velkého indického eposu Mahábhárata se mocný duch
Jakša ptá nejstaršího a nejmoudřejšího Pánduovce
\foreignlanguage{sanskrit-devanagari}{पाण्डव} o němž pojednává
staroindický epos \emph{Mahábhárata}. Judhišthiry, jaké je největší
ze všech mysterií.
Šiva (Devanágarí: \foreignlanguage{sanskrit-devanagari}{शिव})
Zdá se vám to podivné? Je to jako sledovat Slunce při úchvatném
západu, kdy pomalu mizí za vzdálenými mraky. Avšak vy si náhle
uvědomíte, že se nehýbe Slunce, ale že jev je způsoben otáčením
zeměkoule. Ve své mysli spatříte celou naši planetu - včetně vás
samotných - jak se otáčí na opačnou stranu směrem od Slunce. V tom
okamžiku pohlédnete na svět
Greek:
\foreignlanguage{greek}{Κύκλος γαλακτικός}
\end{document}