Поле с надписью «заголовок» по краю с белым пространством вокруг

Поле с надписью «заголовок» по краю с белым пространством вокруг

Если у вас есть framedкоробка с посылкой (или любая другая по вашему выбору), как мне сделать так, чтобы первая строка (содержащая только одно или два слова) плавала по границе коробки с небольшим количеством свободного пространства слева и справа?

Я ищу следующий эффект:

введите описание изображения здесь

решение1

Вы можете попробовать это с помощью tikzбиблиотеки. Я предполагал, что вы хотели полностью облицованную коробку, но не уверены?введите описание изображения здесь

\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\begin{document}

\tikzstyle{background rectangle}=[thin,draw=black]
\begin{tikzpicture}[show background rectangle]

\node[align=justify, text width=\textwidth, inner sep=1em]{
Some sample text here thats in the box
};

\node[xshift=3ex, yshift=-0.7ex, overlay, fill=white, draw=white, above 
right] at (current bounding box.north west) {
\textit{Push}
};

\end{tikzpicture} 
\end{document}

решение2

Вот вариант, в котором можно tcolorboxнарисовать рамку и разместить заголовок по краю.

введите описание изображения здесь

Вот исходный код:

\documentclass{article}

\usepackage[skins]{tcolorbox}

\newtcolorbox{myframe}[2][]{%
  enhanced,colback=white,colframe=black,coltitle=black,
  sharp corners,boxrule=0.4pt,
  fonttitle=\itshape,
  attach boxed title to top left={yshift=-0.3\baselineskip-0.4pt,xshift=2mm},
  boxed title style={tile,size=minimal,left=0.5mm,right=0.5mm,
    colback=white,before upper=\strut},
  title=#2,#1
}

\begin{document}

\begin{myframe}{Push}
  Some sample text here thats in the box.
\end{myframe}

\begin{myframe}{Pop}
  Some sample text. Some sample text. Some sample text. Some sample text.
  Some sample text. Some sample text. Some sample text. Some sample text.
  Some sample text. Some sample text. Some sample text. Some sample text.
\end{myframe}

\end{document}

Связанный контент