Especifique a fonte em itálico para PDFlaTeX

Especifique a fonte em itálico para PDFlaTeX

Para o meu documento PDFlaTeX, gostaria de usar o Roboto Slab Light para o texto principal e o Roboto nos títulos. Estou tendo os seguintes problemas:

  1. se eu definir o roboto laje light como fonte principal, não saberei como definir o roboto apenas para títulos. Tento fazer isso com \sffamily, mas não funciona. O que recebo é um documento escrito completamente em roboto plate light (incl. títulos)
  2. Roboto Slab Light é que ele não possui itálico - como especificar uma fonte diferente (por exemplo, Roboto) para ser usada com \textit e \emph{}?

Aqui um exemplo:

\documentclass[a4paper, 12pt, english]{report}
\usepackage[rm, light]{roboto} %this makes roboto slab light the main document font
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{titling}
\titleformat*{\section}{\sffamily\Large} %with sffamily I try to set roboto regular as section title font

\begin{document}
\section{I need to be in roboto font}
I am normal text and need to be in roboto slab light font.
\textit{I am in italics and need a different font, e.g. roboto}
\end{document}

Responder1

Carregue explicitamente o arquivo de definição de fonte, para que você possa adicionar algumas declarações posteriormente.

Para os títulos das seções, especifique a Roboto-LFfamília.

\documentclass{report}
\usepackage[T1]{fontenc}

\usepackage[rm,light]{roboto}
\usepackage{titlesec}

\makeatletter
\input{\encodingdefault RobotoSlab-TLF.fd}
\DeclareFontShape{\encodingdefault}{\familydefault}{l}{it}{
 <->ssub*Roboto-TLF/l/it
}{}
\makeatother

\titleformat*{\section}{\fontfamily{Roboto-LF}\fontseries{m}\Large}

\begin{document}

\section{I need to be in roboto font}


I am normal text and need to be in roboto slab light font.
\textit{I am in italics and need a different font, e.g. roboto}
\end{document}

insira a descrição da imagem aqui

Responder2

Isso requer uma mudança para LuaLaTeX e pode não funcionar em todas as situações. Mas está suficientemente relacionado com a questão original:

Usando fontspeca sintaxe, você pode criar uma família de fontes híbridas. A fonte normal pode ser de um arquivo, o negrito pode ser de uma família diferente e o itálico pode ser de uma família diferente. Você o configura solicitando os nomes de arquivo específicos (Open Type preferencial, TrueType segunda opção). Assim:

% !TeX program = LuaLaTeX
% !TeX encoding = UTF-8
\documentclass{report}
\usepackage{fontspec}
% Note that \usepackage{roboto} is not used here.
% But you must the package installed, at least its TrueType fonts.
\setmainfont[ %
  ItalicFont=Roboto-LightItalic.ttf, % or whatever
  BoldFont=Roboto-Regular.ttf, % uses regular in place of bold
]{RobotoSlab-Light.ttf} % main font
%
\begin{document}
\section{\textbf{I need to be in roboto font}}
I am normal text and need to be in roboto slab light font.
\textit{I am in italics and need a different font, e.g. roboto}
\end{document}

No entanto , não consegui fazê-lo funcionar com o \titleformat*comando.

Você não usa pacotes fontencou inputenc. Em alguns casos (não todos) você não carrega as fontes via \usepackage{font}. texto robótico

informação relacionada