
В одном из моих (крупных) проектов несколько лет назад я использовал fourier в качестве основного шрифта и roboto condensed в качестве шрифта без засечек по умолчанию (в основном в заголовках (под)разделов). Это работало отлично.
Я попытался перекомпилировать проект сегодня и обнаружил, что, среди прочего, курсив и наклонный стили игнорируются. Похоже, это происходит из-за взаимодействия между roboto condensed и fourier.
Вот минимальный рабочий пример, демонстрирующий мою проблему:
\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 confededно требует еще несколько трюков, чтобы убрать раздражающие ложные предупреждения. Я также добавил масштабирование для Roboto, который в противном случае выше, чем Фурье (на самом деле Utopia).
\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, другое решение — загрузить OTF-версии шрифтов в LuaLaTeX (или XeLaTeX). Вы можете загрузить Erewhon Math в качестве замены Фурье через fourier-otf
или unicode-math
, а версию OpenType Roboto — через \setsansfont
.
Я бы рекомендовал использовать современный набор инструментов, когда это возможно, и устаревшие 8-битные шрифты, когда это необходимо. Обновление сотрет большую часть технического долга перед старыми пакетами.