문제가 있는 글꼴 상호 작용

문제가 있는 글꼴 상호 작용

몇 년 전 나의 (큰) 프로젝트 중 하나에서 저는 푸리에를 기본 글꼴로 사용하고 로보토 압축을 기본 산세리프 글꼴(주로 (하위) 섹션 제목에 사용됨)로 사용했습니다. 이것은 잘 작동했습니다.

오늘 프로젝트를 다시 컴파일하려고 시도했는데 그 중에서도 이탤릭체와 기울어진 스타일이 무시된다는 사실을 발견했습니다. 이는 로보토 응축과 푸리에의 상호작용에 따른 것으로 보인다.

내 문제를 보여주는 최소한의 작업 예는 다음과 같습니다.

\documentclass{memoir}

\usepackage{fourier}
\usepackage[condensed]{roboto}

\begin{document}
    Test \textit{Test} \textsl{Test} \textbf{Test} \(Test\) \textsf{Test}
\end{document}

출력은 다음과 같습니다.

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

\usepackage[condensed]{roboto}으로 바꾸면 \usepackage{roboto}출력은 다음과 같습니다.

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

보시다시피 후자는 잘 작동하지만 전자는 그렇지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변1

이는 다음과 매우 유사합니다.Roboto 응축을 사용할 때 다른 글꼴의 이탤릭체 문제하지만 짜증나는 가짜 경고를 제거하려면 몇 가지 트릭이 더 필요합니다. 또한 푸리에(실제로는 Utopia)보다 큰 Roboto에 대한 스케일링도 추가했습니다.

\documentclass{memoir}
\usepackage[T1]{fontenc} % fourier does it, so it's best here

% avoid a spurious warning about cmr
\DeclareFontShape{T1}{cmr}{c}{n}{<->ssub*cmr/m/n}{} % avoid a spurious warning

% load roboto (but scaled because fourier is less tall)
\usepackage[scaled=0.9,condensed]{roboto}

% avoid a spurious warning about futs
\input{t1futs.fd}
\DeclareFontShape{T1}{futs}{c}{n}{<->ssub*futs/m/n}{} % avoid a spurious warning

% load fourier
\usepackage{fourier}

% fix the wrong setting by roboto
\renewcommand{\seriesdefault}{m}

\begin{document}

Test \textit{Test} \textsl{Test} \textbf{Test} \(Test\) \textsf{Test}

\end{document}

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

답변2

주석에서 PDFTeX를 사용하고 있다고 언급했지만 또 다른 해결책은 LuaLaTeX(또는 XeLaTeX)에서 OTF 버전의 글꼴을 로드하는 것입니다. fourier-otf또는 를 통해 푸리에 대체품으로 Erewhon Math를 로드할 수 있으며 를 unicode-math사용하여 Roboto의 OpenType 버전을 로드할 수 있습니다 \setsansfont.

가능하다면 최신 툴체인을 사용하고, 필요한 경우 레거시 8비트 글꼴을 사용하는 것이 좋습니다. 업그레이드하면 기존 패키지에 대한 많은 기술적 부채가 사라질 것입니다.

관련 정보