我制作了一张海报巴波斯特类。基本结构通过以下方式定义:海报盒对象。在这些对象中,我嵌入了图片,使用彩色盒子作为框架。
实际代码:
\begin{tcolorbox}[colframe=gray,colback=white,boxrule=2pt,arc=0.6em,boxsep=-1mm]
\includegraphics[width=5.8cm]{figure.eps}
\end{tcolorbox}
最小工作示例:
\documentclass[a0paper,portrait]{article}
\usepackage{tcolorbox}
\begin{document}
\title{Test}
\begin{tcolorbox}[colframe=gray,colback=white,boxrule=2pt,arc=0.6em,boxsep=-1mm]
\end{tcolorbox}
\end{document}
我确实意识到嵌入的图像突出了圆角。我该如何应用类似内边距的东西?我确实尝试了 boxsep 参数,但似乎没有帮助。
抱歉没有提供完整的文件。我必须删除很多内容,因为海报包含大量未发布的数据。
编辑:抱歉没有提供图片!MWE 现在也包括在内。空的 tcolorboxes 也会发生这种情况。
这部分由 Steven Segletes 添加,以更好地展示奇怪的行为。将arc
单位从em
改为pt
会完全改变行为。
\documentclass[a0paper,portrait]{article}
\usepackage{tcolorbox}
\begin{document}
\title{Test}
\begin{tcolorbox}[colframe=gray,colback=white,boxrule=2pt,arc=.3em,boxsep=-1mm]
\end{tcolorbox}
\begin{tcolorbox}[colframe=gray,colback=white,boxrule=2pt,arc=3.4pt,boxsep=-1mm]
\end{tcolorbox}
\end{document}
答案1
这里有多个问题需要回答。我会尝试一步一步地回答它们。
1.如何定义tcolorbox的内边距?
边距由left
、right
、top
、设定bottom
。此外,boxsep
将 添加到所有这些值中以获得最终边距。
例如
\begin{tcolorbox}[boxsep=1pt,left=2pt,right=2pt,top=0pt,bottom=0pt]...
3pt
给出左边距和右边距总计,以及1pt
顶部和底部边距总计。
2. 内容剪辑
如果使用圆角,但有不边距或非常小的边距,文本内容(例如图片)可能会超出圆角。可以使用库的enhanced
和clip upper
选项来避免这种情况skins
,这些选项会剪切内部:
\documentclass[a0paper,portrait]{article}
\usepackage[skins]{tcolorbox}
\begin{document}
\title{Test}
\begin{tcolorbox}[
enhanced,clip upper,%<------------
colframe=gray,colback=white,boxrule=2pt,arc=10pt,
boxsep=0pt,left=0pt,right=0pt,top=0pt,bottom=0pt]
\includegraphics[width=\linewidth]{example-image}
\end{tcolorbox}
\end{document}
3. 字体相关单元
在或环境tcolorbox
中绘制A。在这样的环境中,使用空字体。如果给出了字体相关单位,则实际大小取决于此设置在内部实现中的确切位置。如果在实际之前使用(并扩展),它将具有预期的大小,但如果在绘制过程的最后使用它,它可能会变为零。pgfpicture
tikzpicture
arc=.3em
tikzpicture
使用
\begin{tcolorbox}[arc=0.3em]
\end{tcolorbox}
给出了这种效果的不幸组合。outer arc
自动计算前图形环境启动。它获得预期的(扩展的)大小。内弧(即arc
)停留在0.3em
并成为0pt
图形环境内部。
因此,目前应该使用固定单位,如3pt
或,3mm
以避免此类影响。但是,对于下一个tcolorbox
版本(3.36
或更高版本),我将实现一个消毒在进入图形环境之前冻结字体相关单元的程序。