Проблемы с курсивом в других шрифтах при использовании roboto confeded

Проблемы с курсивом в других шрифтах при использовании roboto confeded

Я только что понял, что в основном тексте рукописи моей книги (используется ) отсутствуют все курсивные шрифты \textit{}.

Я сузил проблему до использования шрифта Roboto Condensed.

\documentclass{scrbook} 

\usepackage[utf8]{inputenc}\usepackage[T1]{fontenc} 
\usepackage{fbb}           
%If I unclude the next line, the “text” will no longer be in italiscs
%\usepackage[condensed]{roboto} 

\begin{document}

Test \textit{text}.

\end{document}

Когда я раскомментирую строку Roboto (или просто удалю «concentred»), «text» больше не будет выделен курсивом.

Я посмотрел на старые версии и перекомпилировал одну из середины 2019 года, когда курсив еще был. После перекомпиляции курсив там тоже исчез. Думаю, это как-то связано с изменениями в TeX Live 2019. Есть идеи, как подойти к этой проблеме?

Если это поможет, вот часть журнала, где возникают проблемы при использовании roboto condensed:

(/usr/local/texlive/2020/texmf-dist/tex/latex/fbb/T1fbb-TLF.fd)

LaTeX Font Warning: Font shape `T1/fbb-TLF/c/n' undefined
(Font)              using `T1/fbb-TLF/m/n' instead on input line 112.

)) (/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
) (./Test.aux) (/usr/local/texlive/2020/texmf-dist/tex/latex/ly1/ly1ptm.fd)

LaTeX Font Warning: Font shape `T1/fbb-TLF/c/it' undefined
(Font)              using `T1/fbb-TLF/c/n' instead on input line 10.


LaTeX Font Warning: Font shape `T1/fbb-TLF/c/sl' undefined
(Font)              using `T1/fbb-TLF/c/it' instead on input line 12.

[1{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./Test.aux)

LaTeX Font Warning: Some font shapes were not available, defaults substituted.

решение1

По неизвестным причинам roboto.styпереопределяет \mddefaultна \mddefault@sfwhich, с condensedопцией is c.

Поскольку fbbсжатая серия не предусмотрена, вы получаете замену шрифта.

Вот исправление, которое также позволяет избежать ложных предупреждений.

\documentclass{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

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

% first roboto to avoid other spurious warnings
\usepackage[condensed]{roboto}

\usepackage{fbb}

% fix the bad declaration made by roboto
\renewcommand{\seriesdefault}{m}

\begin{document}


Test \textit{text}.

\textsf{Condensed}

\end{document}

введите описание изображения здесь

решение2

roboto заставляет серию по умолчанию использовать сжатую версию — на мой взгляд, странный выбор, если roboto используется только для шрифтов без засечек — но fbb не поддерживает эту серию.

\documentclass{scrbook}

%\usepackage[utf8]{inputenc} % unneeded in new systems
\usepackage[T1]{fontenc}
\usepackage{fbb}
\usepackage[condensed]{roboto}

\makeatletter
\renewcommand\seriesdefault{\mddefault\@empty}
\makeatother
\begin{document}

Test \textit{text} \sffamily Text \textit{text}

\end{document}

введите описание изображения здесь

Связанный контент