我想知道是否有办法为您定义的emph
每个新命令更新命令。newtcbtheorem
我已经有以下代码,改编自用户 egreg 的旧解决方案。目标是将新颜色emph
与定理的一般颜色样式相匹配,但随着定义的自定义定理越多,它变得难以管理:
\documentclass[a4paper, 11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[most]{tcolorbox}
\tcbset{
mytitlebox/.style={ colframe=#1!80!black }
}
\newtcbtheorem[number within=section]%
{definition_}
{Définition}
{mytitlebox=blue}
{def}
\let\oldEmph=\emph
\newenvironment{definition}[3]
{\renewcommand{\emph}[1]{\textbf{{\color{blue!80!black}##1}}}%
\begin{definition_}{#1}{#2}{#3}}
{\end{definition_}}
\newtcbtheorem[number within=section]%
{propriete}
{Propriété}
{mytitlebox=orange}
{propr}
% Not wanting to copy paste the renewcommand code
\begin{document}
\begin{definition}{Titre de la définition}{}
Ceci est une \emph{définition}.
\end{definition}
\begin{propriete}{Titre de la propriété}{}
Ceci est une \emph{propriété}.
\end{propriete}
\end{document}
有什么建议吗?非常感谢!
答案1
如果命令在命令内部使用,tcolorbox
则可以将其颜色用于命令中。它可以独立于特定的框
\documentclass[a4paper, 11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[most]{tcolorbox}
\tcbset{
mytitlebox/.style={ colframe=#1!80!black }
}
\newtcbtheorem[number within=section]%
{definition}
{Définition}
{mytitlebox=blue}
{def}
%\let\oldEmph=\emph
%%\newenvironment{definition}[3]
%% {
% \renewcommand{\emph}[1]{\textbf{{\color{tcbcolframe}##1}}}%
%% \begin{definition_}{#1}{#2}{#3}}
%% {\end{definition_}}
\newcommand{\markcolor}[1]{{\bfseries\color{tcbcolframe}#1}}%
\newtcbtheorem[number within=section]%
{propriete}
{Propriété}
{mytitlebox=orange}
{propr}
% Not wanting to copy paste the renewcommand code
\begin{document}
\begin{definition}{Titre de la définition}{}
Ceci est une \markcolor{définition}.
\end{definition}
\begin{propriete}{Titre de la propriété}{}
Ceci est une \markcolor{propriété}.
\end{propriete}
\end{document}