我目前正在尝试在一些文本或图片周围添加一个框架,标题为“W”。回答。我的代码实际上是这样的:
\documentclass{article}
\usepackage{tikz}
\newcommand{\titlebox}[2]{
\begin{tikzpicture}
\node[align=center,draw,thick,text width=\textwidth,inner sep=6mm] (titlebox) {#2};
\node[fill=white] (Title) at (titlebox.north) {\bfseries \large #1};
\end{tikzpicture}
}
\begin{document}
\titlebox{Title}{Text in the frame.}
\end{document}
结果是:
我的问题是如何确保框架的宽度自动适合内部文本或元素(图片)的宽度?
答案1
删除text width
标题框的键(align=center
在这种情况下也不需要)。
当然,如果参数#2
包含大量文本,它将被排版为一行。您可以避免将\parbox
所需宽度的文本作为参数传递给\titlebox
,如下例所示。
\newcommand{\titlebox}[2]{
\begin{tikzpicture}
\node[draw,thick,inner sep=6mm] (titlebox) {#2};
\node[fill=white] (Title) at (titlebox.north) {\bfseries \large #1};
\end{tikzpicture}
}
\titlebox{Title}{Text in the frame.}
\titlebox{Another example}{\parbox{4cm}{
This is a longer text which will be typeset in a paragraph with a width of 4cm.
}}