Среды со шрифтом по умолчанию, другие тексты как \textsf

Среды со шрифтом по умолчанию, другие тексты как \textsf

Я хотел бы установить шрифт документа, как тот, который создается \textsf{}, но сохранить шрифт по умолчанию в таких средах, как определения и теоремы. Моя попытка объявить

\documentclass[a4paper,12pt]{book} 
\usepackage{amsthm}
\renewcommand{\familydefault}{\sfdefault}
\newtheorem{defi}{Definition}[chapter]
\newtheoremstyle{defi}% name
{3pt}% Space above
{3pt}% Space below
{crm}% Body font
{}% Indent amount
{\itshape}% Theorem head font
{:}% Punctuation after theorem head
{.5em}% Space after theorem head
{}% Theorem head spec (can be left empty, meaning ‘normal’)

\begin{document}

\begin{defi} Text with default font. \end{defi}

Text in sans-serif font.

\end{document}

Но это не работает, так как шрифт определен как sans-serif по всему тексту. Мне интересно, правильный ли основной шрифт, который я указал выше. Если кто-то может дать подсказку, я буду благодарен. Мне посоветовали не использовать этот шрифт sans-serif для набора моего документа. Поэтому я хотел бы получить несколько предложений. Заранее спасибо!

решение1

Есть как минимум несколько проблем:

  • шрифт следует указывать как \rmfamily, а не как cmr;

  • Вы должны указать свой новый стиль перед \newtheoremоператором.

Попробуй это:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.

\usepackage{amsmath,amsthm}

\renewcommand{\familydefault}{\sfdefault}

\newtheoremstyle{defi}% name
    {3pt}% Space above
    {3pt}% Space below
    {\rmfamily}% Body font
    {}% Indent amount
    {\rmfamily\itshape}% Theorem head font
    {:}% Punctuation after theorem head
    {.5em}% Space after theorem head
    {}% Theorem head spec (can be left empty, meaning "normal")

\theoremstyle{defi}
\newtheorem{defi}{Definition}[section] % not "chapter" because I'm using the 
                                       % "article" document class



\begin{document}

\section{A title}

Some text before the first definition: this text should be in ``sans-serif''.

\begin{defi}
    This is a definition, and it should be in \verb|\rmfamily| (that is, 
    \emph{with} serifs).
\end{defi}

Some text after the definition, again in \verb|\sffamily|.

\end{document}

Вы можете убедиться сами, что результатом является просто плохая типографика:

Вывод кода

Действительно, набор статьи (или, что еще хуже, отчета: вы ведь использовали главы, не так ли?) шрифтами без засечек уже сам по себе сомнителен; но набор,в пределахтакой документ, определения с засечками…

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