tcolorbox: tcbitemize で最小サイズのラスターボックスを設定する方法

tcolorbox: tcbitemize で最小サイズのラスターボックスを設定する方法

ここに画像の説明を入力してください

ラスターボックスを水平方向にコンテンツと同じ幅にしたいです (「セクション 1」のように)。どうすればいいですか?

\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbset{sharp corners, }

\begin{document}
\section{tight works here}
\tcbox[size=tight,on line]{\Huge B}

\section{tight works not horizontally here}
\begin{tcbitemize}[
raster equal height=rows,  % needed
raster equal skip=0pt, % needed
raster columns=2,
halign=center, valign=center, 
raster force size=false, 
size=tight, % no horizontally effect
]
\tcbitem A
\tcbitem[colframe=red] \Huge B
\end{tcbitemize}

\subsection{In the result it should look like} 
\tcbox[size=tight,on line]{A\vphantom{\Huge B}}\tcbox[size=tight,on line,colframe=red]{\Huge B}
\end{document}

答え1

ここで使用する理由を説明するまで、オプションで高さを等しく保つtcbitemize2 つのソリューションがあります。tcboxesequal height group

\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbset{sharp corners, }

\newtcbox{\mybox}[1][]{size=tight, on line, equal height group=mygroup, valign=bottom, #1}

\begin{document}
\section{tight works here}
\tcbox[size=tight, on line]{\Huge B}

\section{tight works not horizontally here}
\mybox{A}\mybox[colframe=red]{\Huge B}


\subsection{In the result it should look like} 
\tcbox[size=tight,on line]{A\vphantom{\Huge B}}\tcbox[size=tight,on line,colframe=red]{\Huge B}
\end{document}

ここに画像の説明を入力してください

答え2

私はそれを解決しました

\def\LeftContent{A}
\pgfmathsetlengthmacro\LeftWidth{width("\LeftContent")}

ここに画像の説明を入力してください

\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbset{sharp corners, }

\begin{document}

\section{tight works here}
\tcbox[size=tight,on line]{\Huge B}

\section{tight works not horizontally here}
\def\LeftContent{\includegraphics[scale=0.1]{example-image.jpg}}%test
\def\LeftContent{A}
\pgfmathsetlengthmacro\LeftWidth{width("\LeftContent")}
\def\RightContent{\Huge B}
\pgfmathsetlengthmacro\RightWidth{width("\RightContent")}
LeftWidth =\LeftWidth, RightWidth =\RightWidth

\begin{tcbitemize}[%NoGaps,
raster equal height=rows,  % needed
raster equal skip=0pt, % needed
raster columns=2,
halign=center, valign=center, 
raster force size=false, % <---
size=tight, % no horizontally effect
]
\tcbitem[size=tight, width=\LeftWidth, valign=bottom] \LeftContent
\tcbitem[colframe=red, width=\RightWidth] \RightContent
\end{tcbitemize}

\subsection{In the result it should look like} 
\tcbox[size=tight,on line]{A\vphantom{\Huge B}}\tcbox[size=tight,on line,colframe=red]{\Huge B}
\end{document}

関連情報