Con LuaLaTeX compilé el mismo código mediante diferentes distribuciones:
LuaLaTeX 0.95.0/TeXLive 2016
LuaLaTeX 1.0.4/MiKTeX 2.9.6236
actualizado a las últimas versiones.
Desafortunadamente, obtuve resultados diferentes para polyglossia
el comportamiento.
Con el siguiente código:
%%============================ 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 funciona bien.
Pero LuaLaTeX 1.0.4/MiKTeX 2.9.6236 produce un error:
! 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.
La pregunta principal es:¿Por qué solo LuaLaTeX 1.0.4/MiKTeX 2.9.6236
debería usar otras construcciones no intuitivas para usar fuentes que difieran del latín?
¿Es esto un error de LuaLaTeX 1.0.4?
Observo que en las fuentes seleccionadas están presentes los símbolos necesarios.
Respuesta1
Desde su archivo de registro se puede ver que está utilizando una versión local de times.ttf E:/Projects/LaTeX/Z_LaTeX_XP/Fizmatlit/localtexmf/fonts/truetype/times.ttf
y también se puede ver que esta fuente no tiene las características de secuencia de comandos correctas:
. fontspec info: "no-scripts"
.
. Font "TimesNewRoman" does not contain any OpenType `Script' information.
Por lo tanto, es muy probable que la fuente sea defectuosa y, como está en un formato localtexmf
is, también es probable que solo su sistema miktex la esté usando, lo que explicaría por qué solo miktex no funciona. Este tipo de errores normalmente depende de un archivo de fuente concreto y, por lo tanto, puede depender fácilmente del sistema y de la fuente.
Respuesta2
funciona con 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}