使用 tikz:

使用 tikz:

问题:

我正在尝试创建可以容纳不同大小文本的彩色容器。但我不知道应该使用什么方法来实现这一点。

示例 1:

在此处输入图片描述

示例 2:

在此处输入图片描述

期望的结果:

能够创建一个图形,允许文本容器根据文本大小动态扩展。所有示例都遵循相同的设置:顶部有 3 个框,中间有 1 个框,底部有 1 个框。

如果有人能指点如何/从哪里开始我将不胜感激。

答案1

使用 tikz:

下面的简单宏排版了一个带有一些文本的彩色框:

\newcommand{\mycolorbox}[2][gray]{%
    \tikz[baseline=(n.base)] \node[rounded corners,%
                                   white,% Font color
                                   node font=\sffamily,% Sans serif font
                                   fill=#1,% Fill box with optional argument color
                                   inner xsep=5pt% Horizontal padding
                                  ](n){\mathstrut#2};%
}

以下是一个使用示例:

\documentclass[varwidth=5cm]{standalone}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\newcommand{\mycolorbox}[2][gray]{\tikz[baseline=(n.base)] \node[rounded corners,white,node font=\sffamily,fill=#1,inner xsep=5pt](n){\mathstrut#2};}
\begin{document}
\mycolorbox[magenta]{while} \mycolorbox[cyan]{(condition)} \mycolorbox{\textbraceleft}\\
    \hspace*{15pt}\mycolorbox[orange]{Code}\\
\mycolorbox{\textbraceright}
\end{document}

渲染

相关内容