如何更改所有定理环境的字体大小?

如何更改所有定理环境的字体大小?

我有几个定理环境:

\newtheorem{theorem}{Theorem}
\newtheorem{definition}{Definition}
\newtheorem{proposition}{Proposition}

ETC。

我想更改它们,使它们都使用“小”字体大小。有没有办法重新定义所有这些环境的字体大小?

答案1

我不会这么做,但如果你真的需要的话......

  1. 如果你需要定理的头部和主体,\small你可以加载包etoolbox并发出命令

    \AtBeginEnvironment{theorem}{\small}
    

    即在序言部分增加如下内容:

    \usepackage{etoolbox}
    \AtBeginEnvironment{theorem}{\small}
    
  2. 如果您只需要定理主体的大小,\small您可以theorem按如下方式重新定义环境:

    \let\oldtheorem\theorem
    \let\oldendtheorem\endtheorem
    \renewenvironment{theorem}
      {\oldtheorem\small}
      {\oldendtheorem}
    

下面的MWEtheorem既有头部大小,也有主体大小\small,而definitionMWE只有主体,proposition保持原来大小。

\documentclass{article}

\newtheorem{theorem}{Theorem}
\newtheorem{definition}{Definition}
\newtheorem{proposition}{Proposition}

\usepackage{etoolbox}
\AtBeginEnvironment{theorem}{\small}

\let\olddefinition\definition
\let\oldenddefinition\enddefinition
\renewenvironment{definition}
  {\olddefinition\small}
  {\oldenddefinition}

\begin{document}
\begin{theorem}
My theorem
\end{theorem}
\begin{definition}
My definition
\end{definition}
\begin{proposition}
My proposition
\end{proposition}
\end{document} 

输出:

在此处输入图片描述

amsthm请注意,它与和配合ntheorem也很好。

答案2

您可以修补负责设置语句的命令。有两种不同的情况:(1) 未加载定理包时和 (2)加载amsthm或时。我从不使用最后一个包,但总是使用。ntheoremamsthm

但是,我不明白你为什么要这么做。

\documentclass{article}
\usepackage{lipsum} % just for the example

\usepackage{amsthm} % optional, but recommended
%\usepackage{ntheorem} % I don't recommend this one

\usepackage{etoolbox}

\makeatletter
\@tempswafalse
\@ifpackageloaded{amsthm}{\@tempswatrue}{}
\@ifpackageloaded{ntheorem}{\@tempswatrue}{}
\if@tempswa
  \patchcmd\@thm{\trivlist}{\small\trivlist}{}{}
\else
  \patchcmd\@begintheorem{\trivlist}{\small\trivlist}{}{}
  \patchcmd\@opargbegintheorem{\trivlist}{\small\trivlist}{}{}
\fi
\makeatother

\newtheorem{thm}{Theorem}
\newtheorem{lem}{Lemma}

\begin{document}

\lipsum[2]

\begin{thm}
This statement will be small in type.
\end{thm}

\lipsum[2]

\begin{lem}
Also this one will have smaller type.
\end{lem}

\lipsum[3]

\end{document}

您还可以研究thmtools并了解其preheadhook定义新定理样式的关键。

在此处输入图片描述

相关内容