글꼴 크기가 변경되면 마이크로타입 확장이 비활성화됩니다! (루라텍스)

글꼴 크기가 변경되면 마이크로타입 확장이 비활성화됩니다! (루라텍스)

글꼴 크기가 기본 글꼴 크기에서 변경되면 마이크로타입의 확장이 비활성화되는 것 같습니다. 여기에 두 가지 코드가 있습니다. 첫 번째 확장에서는 작동하지만 두 번째에서는 작동하지 않습니다(마치 마이크로타입에 확장 및 축소 옵션이 제공되지 않은 것처럼).

공장:

% 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}

명령:

>> lualatex main.tex

산출: 확장 공사

작동하지 않습니다:

%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}

명령:

>> lualatex main.tex

산출: 확장이 작동하지 않습니다 이 문제를 해결할 수 있는지, 어떻게 해결할 수 있는지 또는 내 코드에 문제가 있는지 제안해 주세요.

감사해요,

한 남자

답변1

microtype은 제한된 글꼴 크기 세트에 대해서만 글꼴 확장을 설정합니다. 목록에 크기를 추가하면 작동합니다(기본 텍스트를 재정의하는 것이 아마도 최선의 방법은 아닐 것입니다).

\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}

예를 들어 기본값이 아닌 다른 세트를 사용하여 제한을 해제할 수도 있습니다.

\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}

expansion=alltext또는 마이크로타입을 로드하는 동안 패키지 옵션으로 전달하면 훨씬 더 간결해집니다 .

\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}

여기에 이미지 설명을 입력하세요

답변2

microtype솔직히 말해서 사람들이 왜 사용하는지 전혀 모르겠습니다 . 물론 와 같은 멋진 인터페이스도 있지만 textls확장을 위해 두 줄의 Lua와 글꼴 기능을 사용하여 동일한 작업을 수행할 수 있습니다. 이것은 또한 글꼴 크기 문제가 없습니다.

%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}

사용된 명령 설명:

  1. \adjustspacing: luatex 매뉴얼에서: " \adjustspacing값이 2이면 hz 최적화가 글리프와 커른에 적용됩니다. 값이 3이면 글리프만 처리됩니다. 2보다 작은 값은 이 기능을 비활성화합니다." 따라서 's \adjustspacing=2와 동등한 글꼴 확장을 활성화합니다 (어쨌든 기본적으로).microtypeexpansion=true
  2. \directlua{...stretch = 500, ...}microtype: 의 패키지 옵션 에 해당하는 lualatex입니다 stretch=500.
  3. \usepackage[expansion=false]{microtype}전달하면 expansion=false다른 기능에 마이크로타입을 계속 사용할 수 있으며 확장은 lua를 사용하여 처리됩니다. 를 통과하지 못하면 expansion=falselualatex 실행이 실패하고 "오류: (글꼴 확장): 글꼴이 다른 확장 단계로 확장되었습니다."라는 오류가 발생하며 PDF가 생성되지 않습니다.

관련 정보