Mit LuaLaTeX habe ich den gleichen Code von verschiedenen Distributionen kompiliert:
LuaLaTeX 0.95.0/TeXLive 2016
LuaLaTeX 1.0.4/MiKTeX 2.9.6236
auf die neuesten Versionen aktualisiert.
Leider habe ich zum polyglossia
Verhalten unterschiedliche Ergebnisse erhalten.
Mit folgendem Code:
%%============================ Compiler Directives =======================%%
%% %%
% !TeX program = lualatex
% !TeX encoding = utf8
% !TeX spellcheck = uk_UA
\documentclass{article}
%%============================ languagee ann encodings ===================%%
\usepackage{polyglossia}
\setmainlanguage{ukrainian}
\setotherlanguage{russian}
\setotherlanguage{english}
\setsansfont{Arial}
\setmainfont{Times New Roman}
\setmonofont{Consolas}
\defaultfontfeatures{Ligatures={TeX}}
\usepackage[math-style=TeX]{unicode-math}
%%========================================================================%%
\begin{document}
Some text
Якийсь текст
Какой-то текст
\end{document}
LuaLaTeX 0.95.0/TeXLive 2016 funktioniert einwandfrei.
Aber LuaLaTeX 1.0.4/MiKTeX 2.9.6236 erzeugt einen Fehler:
! Package polyglossia Error: The current roman font does not contain the Cyrillic script!
(polyglossia) Please define \cyrillicfont with \newfontfamily.
See the polyglossia package documentation for explanation.
Die Hauptfrage ist:Warum sollte ich nur bei LuaLaTeX 1.0.4/MiKTeX 2.9.6236
anderen, nicht intuitiven Konstruktionen für die Verwendung von Schriftarten, die sich vom Lateinischen unterscheiden, etwas anderes tun?
Ist das ein Fehler von LuaLaTeX 1.0.4?
Ich stelle fest, dass in ausgewählten Schriftarten die erforderlichen Symbole vorhanden sind.
Antwort1
Aus Ihrer Protokolldatei kann man ersehen, dass Sie eine lokale Version von times.ttf verwenden, E:/Projects/LaTeX/Z_LaTeX_XP/Fizmatlit/localtexmf/fonts/truetype/times.ttf
und man kann auch sehen, dass diese Schriftart nicht über die richtigen Skriptfunktionen verfügt:
. fontspec info: "no-scripts"
.
. Font "TimesNewRoman" does not contain any OpenType `Script' information.
Es ist also sehr wahrscheinlich, dass die Schriftart fehlerhaft ist, und da dies der Fall ist, localtexmf
ist es auch wahrscheinlich, dass nur Ihr Miktex-System sie verwendet, was erklären würde, warum nur Miktex nicht funktioniert. Diese Art von Fehlern hängt normalerweise von einer konkreten Schriftartdatei ab und kann daher leicht system- und schriftartabhängig sein.
Antwort2
funktioniert mit LuaTeX 1.0.4:
\documentclass{article}
\usepackage[math-style=TeX]{unicode-math}
\usepackage{libertine}
\setmonofont[Scale=0.9,FakeStretch=0.9]{Consolas}
\newfontface\cyrillicfont{Linux Libertine O}
\usepackage{polyglossia}
\setmainlanguage{ukrainian}
\setotherlanguage{russian}
\setotherlanguage{english}
\begin{document}
Some text
Якийсь текст
Какой-то текст
\ttfamily
Some text
Якийсь текст
Какой-то текст
\end{document}