Полужирный шрифт с заглавными буквами во всех разделах, с использованием пакета lmodern по умолчанию

Полужирный шрифт с заглавными буквами во всех разделах, с использованием пакета lmodern по умолчанию

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

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

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

похоже, не работает в Lualatex, когда я определяю:

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

Есть ли способ сделать все разделы жирным шрифтом и заглавными буквами, сохранив при этом современный стиль для остальной части документа?

решение1

Пакет lmodernнесовместим с fontspec. И lmodernвообще несовместим с LuaLaTeX.

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

\begin{document}

Straße

Wrocław

\end{document}

Скомпилируйте с помощью LuaLaTeX, чтобы получить

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

Однако если удалить lmodernи fontenc, то вы не получите полужирные маленькие заглавные буквы, поскольку эта комбинация недоступна в современных латинских шрифтах.

\documentclass{article}

\begin{document}

Straße Wrocław

\textbf{\textsc{Abc}}

\end{document}

Теперь первые слова набраны так, как и задумано, но нет жирных заглавных букв.

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

Вместо этого вы можете использовать New Computer Modern, который по сути ничем не отличается от 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}

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

решение2

Вам не нужен lmodernпакет, так как Latin Modern — это шрифт lualatex по умолчанию. Он не имеет жирных малых капителей, но вы можете определить семейство шрифтов для Computer Modern Unicode и использовать его там, где вам нужны малые капители.

Также никогда не следует использовать \usepackage[T1]{fontenc}с lualatex.

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

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

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