tcolorbox 中数学模式后写入的文本的对齐问题

tcolorbox 中数学模式后写入的文本的对齐问题

我正在尝试对齐文本,该文本写在里面的方程式后面tcolorbox。请参阅下面的代码片段-

\documentclass{standalone}
\usepackage{tcolorbox}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node (fusion){
        \begin{tcolorbox}[title=Data Fusion, hbox]
            $
            c_i = \mathbf{T}_i * p_i            
            $
            where $c_i$ is center point at $i$
        \end{tcolorbox}
    };
\end{tikzpicture}
\end{document}

生成的 PDF 如下所示:

在此处输入图片描述

我想在下一行给出这个等式的解释。

PS:此图包含许多 tikz 节点,因此我使用tcolorbox内部tikzpicture。但是,在这个问题中,显示整个代码并不相关。

答案1

我认为,你不能在 中有换行符hbox。如果删除,hbox你可以(例如在数学后添加段落分隔符,或使用显示数学),但当然,框的宽度会变成\textwidth,而不是框中文本的宽度。你可以hbox手动删除并设置宽度,或者在框中使用 之类的东西tabular(或像 Steven 的回答中那样堆叠)hbox

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node (fusion){
        \begin{tcolorbox}[title=Data Fusion,hbox]
            \begin{tabular}{l}
            $ c_i = \mathbf{T}_i * p_i$ \\
            where $c_i$ is center point at $i$
            \end{tabular}
        \end{tcolorbox}
    };
\end{tikzpicture}

\begin{tikzpicture}
    \node (fusion){
        \begin{tcolorbox}[title=Data Fusion, width=6cm]
            $
            c_i = \mathbf{T}_i * p_i            
            $

            where $c_i$ is center point at $i$
        \end{tcolorbox}
    };
\end{tikzpicture}

\begin{tikzpicture}
    \node (fusion){
        \begin{tcolorbox}[title=Data Fusion]
            \[
            c_i = \mathbf{T}_i * p_i            
            \]

            where $c_i$ is center point at $i$
        \end{tcolorbox}
    };
\end{tikzpicture}
\end{document}

答案2

我相信有一种更简单的方法......但由于您已经\hbox为指定了tcolorbox,因此必须采用与正常换行不同的方式来实现多行输出。

注意:对齐由 eft 参数控制l

\documentclass{standalone}
\usepackage{tcolorbox,stackengine}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node (fusion){
        \begin{tcolorbox}[title=Data Fusion, hbox]
            \stackengine{5pt}{$
            c_i = \mathbf{T}_i * p_i            
            $}
            {where $c_i$ is center point at $i$}
            {U}{l}{F}{F}{S}
        \end{tcolorbox}
    };
\end{tikzpicture}
\end{document}

在此处输入图片描述

使用稍微不同的语法就可以达到相同的结果:

        \renewcommand\stackalignment{l}
        \stackunder[5pt]{$
        c_i = \mathbf{T}_i * p_i            
        $}
        {where $c_i$ is center point at $i$}

相关内容