Especificar fuente en cursiva para PDFlaTeX

Especificar fuente en cursiva para PDFlaTeX

Para mi documento PDFlaTeX me gustaría usar roboto slab light para el texto principal y roboto en los títulos. Tengo los siguientes problemas:

  1. Si configuro roboto slab light como fuente principal, entonces no sé cómo configurar roboto solo para títulos. Intento hacer eso con \sffamily, pero no funciona. Lo que obtengo es un documento escrito completamente en roboto slab light (títulos incluidos)
  2. roboto slab light es que no tiene cursiva. ¿Cómo especificar una fuente diferente (por ejemplo, roboto) para usar con \textit y \emph{}?

Aquí un ejemplo:

\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}

Respuesta1

Cargue explícitamente el archivo de definición de fuente, para que luego pueda agregar algunas declaraciones.

Para los títulos de las secciones, especifique la Roboto-LFfamilia.

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Esto requiere un cambio a LuaLaTeX y es posible que no funcione en todas las situaciones. Pero está suficientemente relacionado con la pregunta original:

Usando fontspecla sintaxis, puedes crear una familia de fuentes híbridas. La fuente normal puede ser de un archivo, la negrita puede ser de una familia diferente y la cursiva puede ser de una familia diferente. Lo configura solicitando los nombres de archivos específicos (se prefiere Open Type, segunda opción TrueType). Como esto:

% !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}

Sin embargo , no pude hacerlo funcionar con el \titleformat*comando.

No utilizas paquetes fontencni inputenc. En algunos casos (no en todos) no se cargan las fuentes a través de \usepackage{font}. texto robot

información relacionada