使 tcolorbox 适合文本(高度和深度)

使 tcolorbox 适合文本(高度和深度)

我使用 tikz 环境来创建一个围绕一些文本小部分文本的框(例如稳定器老板突出显示)。使用一些 tikzheightdepth函数,我设法将框紧贴到文本大小(见下文)。出于某种原因,我想做同样的事情,tcolorbox但我无法获得正确的对齐。

有没有办法tcolorbox(我使用最新版本,撰写本文时为 3.94)将所有框的文本与基线对齐,并将其高度调整为文本高度+深度?

短暂性脑缺血。

在此处输入图片描述

\documentclass[a4paper]{article}

\usepackage{tikz}
\usepackage{xltxtra}
\usepackage{tcolorbox}
\usepackage{calc}


\newcommand{\thl}[2][]{%
  \begin{tikzpicture}[baseline = (text.base)]%
    \node[%
      inner sep = 0pt,
      text depth = depth("Cap"),
      text height = height("Cap"),
      fill=yellow,
      %text depth={}, text height={},
  #1] (text) {#2};
  \end{tikzpicture}%
}%


\begin{document}

With \texttt{tikz}:

inlined \thl{e}\thl[fill=red!20]{p}\thl[fill=green!20]{é}\thl[fill=blue!20]{b} text.


With \texttt{tcolorbox}:

\tcbset{tcbox raise base,nobeforeafter, on line, size=minimal}
minimal: 
inlined \tcbox[colback=yellow]{e}\tcbox[colback=red!20]{p}\tcbox[colback=green!20]{é}\tcbox[colback=blue!20]{b} text.

\tcbset{on line, size=tight}

tight:
inlined \tcbox[colback=yellow]{e}\tcbox[colback=red!20]{p}\tcbox[colback=green!20]{é}\tcbox[colback=blue!20]{b} text.

\tcbset{on line, size=minimal, height=\fontcharht\font`B+\fontchardp\font`q}
fixed height:
inlined \tcbox[colback=yellow]{e}\tcbox[colback=red!20]{p}\tcbox[colback=green!20]{é}\tcbox[colback=blue!20]{b} text.


\end{document}

相关内容