
Я только что понял, что в основном тексте рукописи моей книги (используется ) отсутствуют все курсивные шрифты \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@sf
which, с 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}