Parece que la expansión del microtipo se desactiva cuando se cambia el tamaño de fuente del tamaño de fuente predeterminado. Aquí hay dos fragmentos de código, en el primero la expansión funciona, en el segundo no (como si al microtipo nunca se le hubieran dado opciones de estirar y reducir).
Obras:
% main.tex
\documentclass[9pt]{extarticle}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=true,stretch=500,shrink=500]{microtype}
\setmainfont[Ligatures=TeX,Renderer=Basic]{Warnock Pro}
\sloppy
\begin{document}
\color{textblack}
\fontsize{9pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
Dominio:
>> lualatex main.tex
No funciona:
%main.tex
\documentclass[9pt]{extarticle}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=true,stretch=500,shrink=500]{microtype}
\setmainfont[Ligatures=TeX,Renderer=Basic]{Warnock Pro}
\sloppy
\begin{document}
\color{textblack}
\fontsize{8.8pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
Dominio:
>> lualatex main.tex
Producción: Sugiera si esto se puede solucionar y cómo, o si hay un problema con mi código.
Gracias,
Un hombre
Respuesta1
microtype configura la expansión de fuente solo para un conjunto restringido de tamaños de fuente. Si agrega su tamaño a la lista, funciona (redefinir el texto básico probablemente no sea la mejor manera de hacerlo):
\documentclass{article}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=true,stretch=500,shrink=500]{microtype}
\DeclareMicrotypeSet*{basictext}
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2,TU},
family = {rm*,sf*},
series = {md*},
size = {normalsize,footnotesize,small,large,9.1} %added 9.1
}
\setmainfont[Ligatures=TeX]{Arial}
\begin{document}
\fontsize{9.1pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
También puede eliminar la restricción, por ejemplo, utilizando otro conjunto distinto al predeterminado:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=true,stretch=500,shrink=500]{microtype}
\UseMicrotypeSet[expansion]{alltext}
\setmainfont[Ligatures=TeX]{Arial}
\begin{document}
\fontsize{9.1pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
O incluso más conciso, pasando expansion=alltext
como una opción de paquete mientras se carga microtipo:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=alltext,stretch=500,shrink=500]{microtype}% expansion=all would also work as that set too does not have restrictions on size, and is the least restrictive of all predefined sets
\setmainfont[Ligatures=TeX]{Arial}
\begin{document}
\fontsize{9.1pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
Respuesta2
Para ser sincero, no sé por qué la gente consume microtype
nada. Por supuesto, tiene algunas interfaces agradables como textls
, pero para ampliar puedo lograr lo mismo con dos líneas de Lua y una función de fuente. Esto tampoco tiene el problema del tamaño de fuente.
%main.tex
\documentclass[9pt]{extarticle}
\usepackage[english]{babel}
\usepackage{color}
\usepackage{blindtext}
\usepackage{multicol}
\definecolor{textblack}{RGB}{26,25,25}
\usepackage{fontspec}
\usepackage[expansion=false]{microtype}
\directlua{
fonts.expansions.setups.default.stretch = 500
fonts.expansions.setups.default.shrink = 500
}
\adjustspacing=2
\setmainfont[Ligatures=TeX,Renderer=Basic,RawFeature={expansion=default}]{Roboto}
\sloppy
\begin{document}
\color{textblack}
\fontsize{8.8pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
Explicación de los comandos utilizados:
\adjustspacing
: Del manual de luatex: "Cuando\adjustspacing
tiene el valor 2, la optimización hz se aplicará a los glifos y kerns. Cuando el valor es 3, solo se tratarán los glifos. Un valor menor que 2 desactiva esta función". Por lo tanto,\adjustspacing=2
habilita la expansión de fuentes, equivalente amicrotype
'sexpansion=true
(que de todos modos es la predeterminada).\directlua{...stretch = 500, ...}
: equivalente de lualatex paramicrotype
la opción del paquetestretch=500
.\usepackage[expansion=false]{microtype}
Pasarexpansion=false
garantiza que aún puedas usar microtype para sus otras características, mientras que la expansión se maneja usando lua. Si no apruebaexpansion=false
, su ejecución de lualatex fallará con un error: "error: (expansión de fuente): la fuente se ha expandido con un paso de expansión diferente" y no se producirá ningún pdf.