我知道问题和答复textblock
关于包装周围的边框textpos
。这可行,但会产生“非常方形”的盒子……
我想知道是否有办法让这些盒子变得更加漂亮,例如使用圆形边框、非矩形形状(我正在考虑卡通气泡),或者在一个漂亮的盒子中添加标题,只需一步。
我尝试过,tikz
但是没能为和建立一个通用的坐标系,tikz
而且textpos
,由于的高度textblock
是可变的,我不确定是否能够在周围正确绘制边框textblock
。
答案1
楼主的问题留给我很大的发挥空间,所以我选择用网上可以找到的剪贴画边框角制作一个精美的边框。下载完这样一个边框后,我将其命名为corner_299-282.png
,使用我的宏
\cframe{<frame-image-file>}{<offset-factor>}{<content>}
一个附加参数是\frameprop
,它是构成框架的内容宽度/高度的最小比例。
这是 MWE。在页面的早期部分,\frameprop
设置为.45
(即 45%)。第一行显示原始框架。第二行显示它应用于方形内容,但将偏移因子从 更改为0
。.2
第三行显示它应用于矩形内容,也改变了偏移因子。最后一行显示它应用于文本\parbox
,偏移量为.35
并\frameprop
修改为.6
(60%)。
已编辑,以允许<content>
包含多段落。
\documentclass{article}
\usepackage{graphicx,stackengine}
\newlength\framewidth
\def\frameprop{.45}
\newcommand\cframe[3]{%
\setbox0=\hbox{#3}%
\ifdim\wd0>\dimexpr\ht0+\dp0\relax\relax%
\setlength\framewidth{\frameprop\dimexpr\ht0+\dp0\relax}\else%
\setlength\framewidth{\frameprop\wd0}\fi%
\savestack\corner{\includegraphics[width=\framewidth]{#1}}%
\hspace{#2\framewidth}%
\setbox0=\hbox{#3}%
\stackinset{l}{-#2\framewidth}{t}{}{\corner}{%
\stackinset{r}{-#2\framewidth}{t}{-#2\framewidth}{\rotatebox{-90}{\corner}}{%
\stackinset{l}{-#2\framewidth}{b}{}{\rotatebox{90}{\corner}}{%
\stackinset{r}{-#2\framewidth}{b}{-#2\framewidth}{\rotatebox{180}{\corner}}{%
\copy0}}}}%
\hspace{#2\framewidth}%
}
\parskip1ex
\begin{document}
\includegraphics[width=1in]{corner_299-282}\par
\cframe{corner_299-282}{0}{\includegraphics[width=1cm,height=1cm]{example-image}}
\quad
\cframe{corner_299-282}{.2}{\includegraphics[width=2cm,height=2cm]{example-image}}\par
\cframe{corner_299-282}{0}{\includegraphics[width=2in,height=1in]{example-image}}
\quad
\cframe{corner_299-282}{.2}{\includegraphics[width=1in,height=2in]{example-image}}\par
\def\frameprop{.6}
\cframe{corner_299-282}{.35}{\parbox{2.4in}{
{\centering\scshape A LIMERICK\par}
The lemmings get set for their race.\\
With one step and two steps they pace.\\
\mbox{\quad}They take three and four,\\
\mbox{\quad}And then head on for more, \\
Without checking the limiting case.}}
\end{document}
利默里克来源:https://www.physics.harvard.edu/academics/undergrad/limericks
注意:\cframe
s 可以嵌套: