我想为我的定义或属性创建一个环境,如下所示:
\noindent
\begin{tikzpicture}
\matrix [anchor=west,inner xsep=0pt] at (0,0)
{
\node
[text width=4cm,inner xsep=0ex,inner ysep=1ex,text=Maroon,fill=Tan] (titre)
{\quad {Définition 1} : a long title }; \\
\node
[anchor=north west,fill=white!40!Tan,draw=none,text justified,inner xsep=1em, inner ysep=1em,
text width=\columnwidth-2em-1pt,text=Maroon] (texte)
{some text} ;\\
};
\draw [line width=1pt, color=Maroon,rounded corners=5pt](titre.south west)--(titre.north west)--(titre.north east)--(titre.south east);
\draw [line width=1pt, color=Maroon,rounded corners=0pt](titre.south east)--(texte.north east)--(texte.south east)--
(texte.south east)--(texte.south west)--(titre.south west);
\end{tikzpicture}
我想将第一个节点的宽度调整为标题的宽度,因为长标题会发生类似的事情:
我尝试了\widthof
命令、\def
命令、width
tikz 中的选项……无论如何,都没有用。我的环境是这样的:
\newcounter{definition}
\NewEnviron{definition}[1]{
\stepcounter{definition}
\noindent
\begin{tikzpicture}[x=1.0cm,y=1.0cm, scale=1, every node/.style={scale=1}]
\matrix [anchor=west,inner xsep=0pt] at (0,0)
{
\node
[text width={width("\quad \textbf{Définition} \thedefinition #1")},inner xsep=0ex,inner ysep=1ex,text=Maroon,fill=Tan] (titre)
{\quad \textbf{Définition} \thedefinition\ #1}; \\
\node
[anchor=north west,fill=white!40!Tan,draw=none,text justified,inner xsep=1em, inner ysep=1em,
text width=\columnwidth-2em-1pt,text=Maroon] (texte)
{\BODY};
};
\draw [line width=1pt, color=Maroon,rounded corners=5pt](titre.south west)--(titre.north west)--(titre.north east)--(titre.south east);
\draw [line width=1pt, color=Maroon,rounded corners=0pt](titre.south east)--(texte.north east)--(texte.south east)--
(texte.south east)--(texte.south west)--(titre.south west);
\end{tikzpicture}
}
多谢。
答案1
不过,看起来 OPtcolorbox
对这种格式的版本不感兴趣,也许其他人想要它。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage[dvipsnames]{xcolor}
\usepackage[most]{tcolorbox}
\tcbset{
defstyle/.style={
enhanced,
colback=Tan!40,
colbacktitle=Tan,
colframe=Maroon,
colupper=Maroon,
coltitle=Maroon,
sharp corners,
attach boxed title to top left={yshift=-.5mm},
boxed title style={
skin=enhancedfirst jigsaw,
boxrule=.5mm,
bottom=-.5mm},
}
}
\newtcbtheorem{Definition}{Définition}{defstyle}{def}
\begin{document}
\begin{Definition}{My title}{}
Some text
\end{Definition}
\begin{Definition}{This is a longer title}{}
Some text
\end{Definition}
\end{document}