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

直到您解释为什么在这里使用之前,您已经有一个使用两个保持相同高度的选项的tcbitemize解决方案。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}

相关内容