Parece que a expansão do microtipo é desativada quando o tamanho da fonte é alterado do tamanho da fonte padrão. Aqui estão dois trechos de código: no primeiro, a expansão funciona, no segundo, não (como se o microtipo nunca tivesse recebido opções de esticar e encolher).
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{9pt}{12pt}\selectfont
\begin{multicols}{3}
\blindtext[10]
\end{multicols}
\end{document}
Comando:
>> lualatex main.tex
Não 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}
Comando:
>> lualatex main.tex
Saída: Por favor, sugira se e como isso pode ser corrigido ou se há algum problema com meu código.
Obrigado,
Um homem
Responder1
microtype configura a expansão da fonte apenas para um conjunto restrito de tamanho de fonte. Se você adicionar seu tamanho à lista, ele funcionará (redefinir o texto básico provavelmente não é a melhor maneira de fazer isso):
\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}
Você também pode suspender a restrição, por exemplo, usando outro conjunto que não o padrão:
\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}
OU ainda mais conciso, passando expansion=alltext
como uma opção de pacote ao carregar o 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}
Responder2
Para ser franco, não sei por que as pessoas usam microtype
. É verdade que ele tem algumas interfaces interessantes como textls
, mas para expansão posso conseguir as mesmas coisas com duas linhas de Lua e um recurso de fonte. Isso também não apresenta o problema do tamanho da fonte.
%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}
Explicação dos comandos usados:
\adjustspacing
: Do manual luatex: "Quando\adjustspacing
tiver valor 2, a otimização hz será aplicada a glifos e kerns. Quando o valor for 3, apenas glifos serão tratados. Um valor menor que 2 desativa esse recurso." Portanto,\adjustspacing=2
habilita a expansão da fonte, equivalente amicrotype
'sexpansion=true
(que é o padrão).\directlua{...stretch = 500, ...}
: equivalente a lualatex paramicrotype
a opção de pacote destretch=500
.\usepackage[expansion=false]{microtype}
A passagemexpansion=false
garante que você ainda possa usar o microtipo para seus outros recursos, enquanto a expansão é tratada usando lua. Se você não passarexpansion=false
, sua execução do lualatex falhará com um erro: "erro: (expansão da fonte): a fonte foi expandida com etapa de expansão diferente" e nenhum pdf será produzido.