tcolorbox 的外边距

tcolorbox 的外边距

我希望能够设置外边距tcolorbox环境。类似于选项leftmarginrightmarginmdframed环境。这可能吗?

它似乎只有宽度和内边距的选项。

答案1

mdframed@cmhughes 已经给出了答案,我很高兴在此确认 :-)和之间的外边距原理略有不同tcolorbox。在 中tcolorbox,您可以操纵边界框来实现多种效果,例如与页边距重叠等。

要获得与 中相同的外边距mdframed,您必须将边界框扩大到四个方向。由于您不希望框与页边距重叠,因此必须相应地缩小宽度。这就是grow to left by和键grow to right by自动执行的操作(此处:它们缩小框)。对于顶部和底部,框的高度不必改变;只需放大边界框:

\documentclass{article}

\usepackage{lipsum}
\usepackage[many]{tcolorbox}

\begin{document}

\lipsum[1]

\begin{tcolorbox}[enhanced,colframe=blue,
  grow to left by=-2cm,%   equivalent to negative mdframed 'leftmargin'
  grow to right by=-2cm,%  equivalent to negative mdframed 'rightmargin'
  enlarge top by=1cm,%     equivalent to mdframed 'skipabove'
  enlarge bottom by=1cm,%  equivalent to mdframed 'skipbelow'
  show bounding box,% display the bounding box
  overlay app={% draw the green arrow lines 
    \begin{scope}[very thick,<->,green!50!black]
    \draw (frame.west) -- node[above] {2cm} ++(-2cm,0);
    \draw (frame.east) -- node[above] {2cm} ++(2cm,0);
    \draw (frame.north) -- node[right] {1cm} ++(0,1cm);
    \draw (frame.south) -- node[right] {1cm} ++(0,-1cm);
    \end{scope}}]
\lipsum[2]
\end{tcolorbox}

\lipsum[3]

\end{document}

在此处输入图片描述

答案2

一种方法是使用按键grow to left by=<length>grow to right by=<length>

\begin{tcolorbox}[grow to left by=-1cm,grow to right by=-2cm]

截屏

这是一个完整的 MWE,可供使用。

% arara: pdflatex
\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{tcolorbox}
\usepackage{lipsum}

\begin{document}

\begin{tcolorbox}[grow to left by=-1cm,grow to right by=-2cm]
\lipsum[1]  
\end{tcolorbox}
\begin{tcolorbox}[right=3cm]
\lipsum[2]  
\end{tcolorbox}
\end{document}

可能还有其他方法可以做到这一点 — — 也许作者会顺便过来确认一下,他是该网站的常客。

相关内容