如何更改“ \declaretheorem ”中所有文本的字体颜色

如何更改“ \declaretheorem ”中所有文本的字体颜色
\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[top=3cm, bottom=3cm, left=3cm, right=3cm]{geometry}
\usepackage[x11names]{xcolor}
\usepackage{framed, etoolbox}
\colorlet{framecolor}{VioletRed4}
\colorlet{shadecolor}{LavenderBlush2!60}
\usepackage{thmtools} %
\usepackage{titlesec}%%%%%% <---------addendum
\titleformat{\section}%%%%%% <---------addendum
{\color{magenta}\normalfont\Large\bfseries}%%%%%% <---------addendum
{\color{magenta}\thesection}{1.5em}{}%%%%%% <---------addendum
\makeatletter
\define@key{thmdef}{frame}[{}]{%
 \thmt@trytwice{}{%
 \RequirePackage{framed}%
 \RequirePackage{thm-patch}%
    \def\FrameCommand{\fcolorbox{framecolor}{shadecolor}}
 \addtotheorempreheadhook[\thmt@envname]{%
 \begin{framed}}%
 \addtotheorempostfoothook[\thmt@envname]{\end{framed}}%
 }%
}
\makeatother

\declaretheorem[numberwithin=section, frame]{definition}
\declaretheorem[frame, sharenumber=definition]{proposition}
\AtBeginEnvironment{proposition}{\colorlet{framecolor}{DarkSeaGreen4}
    \colorlet{shadecolor}{Yellow1!15}}

\newcommand{\myarrow}[1][1cm]{\mathrel{%
   \hbox{\rule[\dimexpr\fontdimen22\textfont2-.2pt\relax]{#1}{.4pt}}%
   \mkern-4mu\hbox{\usefont{U}{lasy}{m}{n}\symbol{41}}}}

\makeatletter

\setbox0\hbox{$\xdef\scriptratio{\strip@pt\dimexpr
    \numexpr(\sf@size*65536)/\f@size sp}$}

\newcommand{\myscriptarrow}[1][1cm]{{%
    \hbox{\rule[\scriptratio\dimexpr\fontdimen22\textfont2-.2pt\relax]
               {\scriptratio\dimexpr#1\relax}{\scriptratio\dimexpr.4pt\relax}}%
   \mkern-4mu\hbox{\let\f@size\sf@size\usefont{U}{lasy}{m}{n}\symbol{41}}}}

\makeatother


\begin{document}
\section{Arithmérique}
\subsection{12}
le but de ce chapitre

    \begin{definition}
    Soit $f\colon G \rightarrow G$ une application linéaire alors:\\%%%%%% <---------edit
   \[\forall x,y\in G,\ f(x)=f(y)\implies x=y\]
    \end{definition}
   \begin{proposition}
        Soit $f\colon G \myarrow[.7cm]G$ une application linéaire alors:\\%%%%%% <---------edit
    \[\forall x,y\in G,\ f(x)=f(y)\iff x=y\]
    \end{proposition}

\end{document}

答案1

您可以使用 来做到这一点\theorempreheadhook=...。无关:最好将语言选项与文档类一起加载,以确保所有与语言相关的包都得到通知。另一点说明:不要\\ 在显示的等式前添加 - 垂直间距会太大。

\documentclass[12pt, french]{article}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[margin=3cm]{geometry}
\usepackage[x11names]{xcolor}
\usepackage{framed, etoolbox}
\colorlet{framecolor}{VioletRed4}
\colorlet{shadecolor}{LavenderBlush2!60}
\usepackage{thmtools} %
\usepackage{titlesec}%%%%%% <---------addendum
\titleformat{\section}%%%%%% <---------addendum
{\color{magenta}\normalfont\Large\bfseries}%%%%%% <---------addendum
{\color{magenta}\thesection}{1.5em}{}%%%%%% <---------addendum
\makeatletter
\define@key{thmdef}{frame}[{}]{%
 \thmt@trytwice{}{%
 \RequirePackage{framed}%
 \RequirePackage{thm-patch}%
    \def\FrameCommand{\fcolorbox{framecolor}{shadecolor}}
 \addtotheorempreheadhook[\thmt@envname]{%
 \begin{framed}}%
 \addtotheorempostfoothook[\thmt@envname]{\end{framed}}%
 }%
}
\makeatother

\declaretheorem[numberwithin=section, preheadhook = \color{HotPink4}]{definition}
\declaretheorem[frame, sharenumber=definition, preheadhook = \color{DodgerBlue3}]{proposition}
\AtBeginEnvironment{proposition}{\colorlet{framecolor}{DarkSeaGreen4}
    \colorlet{shadecolor}{Yellow1!15}}

\newcommand{\myarrow}[1][1cm]{\mathrel{%
   \hbox{\rule[\dimexpr\fontdimen22\textfont2-.2pt\relax]{#1}{.4pt}}%
   \mkern-4mu\hbox{\usefont{U}{lasy}{m}{n}\symbol{41}}}}

\makeatletter

\setbox0\hbox{$\xdef\scriptratio{\strip@pt\dimexpr
    \numexpr(\sf@size*65536)/\f@size sp}$}

\newcommand{\myscriptarrow}[1][1cm]{{%
    \hbox{\rule[\scriptratio\dimexpr\fontdimen22\textfont2-.2pt\relax]
               {\scriptratio\dimexpr#1\relax}{\scriptratio\dimexpr.4pt\relax}}%
   \mkern-4mu\hbox{\let\f@size\sf@size\usefont{U}{lasy}{m}{n}\symbol{41}}}}

\makeatother


\begin{document}

\section{Arithmérique}
\subsection{12}
le but de ce chapitre

    \begin{definition}
    Soit $f\colon G \rightarrow G$ une application linéaire alors:%%%%%% <---------edit
   \[\forall x,y\in G,\ f(x)=f(y)\implies x=y\]
    \end{definition}
   \begin{proposition}
        Soit $f\colon G \myarrow[.7cm]G$ une application linéaire alors:%%%%%% <---------edit
    \[\forall x,y\in G,\ f(x)=f(y)\iff x=y\]
    \end{proposition}

\end{document}

在此处输入图片描述

相关内容