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