Marges pour la position des sous-titres tcolorbox
J'aimerais avoir les mêmes marges dans le sous-titre que dans le cadre de titre de ma tcolorbox.
Pour définir la marge dans le cadre du titre, j'ai utilisé lefttitle=0mm
, mais je n'ai rien trouvé de lié au style de sous-titre. Dans le MWE, j'aimerais que le "cadre de sous-titre" soit aligné de la même manière que le cadre de titre.
\documentclass{article}
\usepackage{tcolorbox}
\begin{document}
\begin{tcolorbox}[title=Title Frame,
lefttitle=0mm,
%left=0mm, % flushes left everything : subtitle and its contents
colback=red!5!white,
colframe=red!75!black,
fonttitle=\bfseries]
This is a \textbf{tcolorbox}.
\tcbsubtitle[before skip=\baselineskip,
halign=left, % does not work
lefttitle=0mm, % does not work either
]%
{Subtitle Frame (margin to be set to 0mm)}
Further text.
\end{tcolorbox}
\end{document}
Le code suivant réduit bien la marge du cadre de titre, mais pas celle du sous-titre.

J'ai essayé en paramétrant une tcolorbox sans aucun contenu (ni titre), et 2 sous-titres, mais cela m'affiche un espace vide avant le 1er sous-titre.
Réponses
Le sous-titre est une tcolorbox dans la tcolorbox principale, avec la oversize
propriété définie pour étendre la nouvelle tcolorbox à la largeur de la boîte d'origine (voir le manuel du paquet à la page 45). Cependant, oversize
ne prend apparemment pas lefttitle
en compte.
Une solution consiste à régler la marge gauche du sous-titre à 0 mm et à décaler la barre de sous-titre vers la gauche de 5 mm (marge de 4 mm et boîte de 1 mm) et d'augmenter en conséquence la taille de la barre à droite de 4 mm (je m'attendrais à ce que ce soit aussi 5 mm mais c'est trop, je ne sais pas pourquoi).
MWE:
\documentclass{article}
\usepackage{tcolorbox}
\begin{document}
\begin{tcolorbox}[title=Title Frame,
lefttitle=0mm,
%left=0mm, % flushes left everything : subtitle and its contents
colback=red!5!white,
colframe=red!75!black,
fonttitle=\bfseries,
subtitle style={left=0mm,enlarge left by=-5mm,grow to right by=4mm}
]
This is a \textbf{tcolorbox}.
\tcbsubtitle[before skip=\baselineskip]%
{Subtitle Frame (margin to be set to 0mm)}
Further text.
\end{tcolorbox}
\end{document}
Résultat:

Notez que les réglages sont effectués avec la touche subtitle style
dans la tcolorbox principale, ce qui entraîne l'application des réglages à tous les sous-titres dans la même boîte (au cas où il y aurait plus d'un sous-titre). Vous pouvez également appliquer les paramètres à des sous-titres individuels en les fournissant comme options à \tcbsubtitle
.