Negrito Small Caps em todas as seções, usando o pacote padrão lmodern

Negrito Small Caps em todas as seções, usando o pacote padrão lmodern

Estou escrevendo um documento usando o pacote lmodern e preciso redefinir todas as seções para que fiquem em negrito e em versalete. Não consigo alterar a fonte lmodern por outra, incluindo letras maiúsculas em negrito e truques como

\usepackage{lmodern}
\usepackage{fontspec}
\usepackage[T1]{fontenc}

{\fontfamily{cmr}\textsc{\textbf{Hello World}}}

não parece funcionar no Lualatex quando defino:

\titleformat{\section}[hang]{\centering\fontfamily{cmr}\large\textsc\textbf}{\Roman{section}.}{2ex}{}[]

Existe uma maneira de deixar todas as seções em negrito e versalete, mantendo o pacote moderno para o restante do documento?

Responder1

O lmodernpacote não é compatível com fontspec. E lmodernde qualquer maneira não é realmente compatível com LuaLaTeX.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}

Straße

Wrocław

\end{document}

Compile com LuaLaTeX para obter

insira a descrição da imagem aqui

No entanto, se você remover lmoderne fontenc, não obterá letras maiúsculas em negrito, porque essa combinação não está disponível em fontes Latin Modern.

\documentclass{article}

\begin{document}

Straße Wrocław

\textbf{\textsc{Abc}}

\end{document}

Agora, as primeiras palavras estão escritas conforme pretendido, mas não há versalete em negrito.

insira a descrição da imagem aqui

Você pode usar o New Computer Modern, que é essencialmente indistinguível do Latin Modern.

\documentclass{article}
\usepackage{fontsetup}
\usepackage{titlesec}

\titleformat{\section}[hang]
  {\filcenter\large\scshape\bfseries}
  {\Roman{section}.}
  {1em}
  {}

\begin{document}

\section{Straße Wrocław}

\textbf{\textsc{Abc}}

\end{document}

insira a descrição da imagem aqui

Responder2

Você não precisa do lmodernpacote, pois Latin Modern é a fonte lualatex padrão. Ele não tem letras maiúsculas em negrito, mas você pode definir uma família de fontes para Computer Modern Unicode e usá-la onde precisar de letras maiúsculas.

Você também nunca deve usar \usepackage[T1]{fontenc}com lualatex.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\cmu{CMU Serif}

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\cmu\Large\bfseries\scshape}}
                                         %%%%%%                 %%%%%%%%%%x

\makeatother
\begin{document}

{\cmu \textsc{Abc Def} \textsc{\bfseries Abc Def}}

\section{Caps and Small Caps}
xxx

\end{document}

informação relacionada