全宽便笺框 (tikzpicture) 和带边距的簇绒书式布局

全宽便笺框 (tikzpicture) 和带边距的簇绒书式布局

我正在尝试创建一个特殊的框,用于放置表格/图片/文本,该框横跨整个页面的宽度,其中页面的几何形状设置为提供边距(左/右交替,奇数/偶数)。我希望能够自定义框框和填充的外观,因此我选择了 tikz 包,因为它让我可以绘制任何东西。要全面了解我要完成的任务,请查看邮政信箱1'BOX 3.2' 是一个框架环境,其中包含许多复杂的子项,例如图形和文本等。

关于类似问题的许多 stack-exchange 帖子都无法为我的问题提供可行的解决方案(或者我太愚蠢而无法整合它)。

首先,我希望 MWE 中的“图形”(见下文)占据整个宽度(减去 1.5 厘米的细边距),从而有效地忽略使用“几何”设置的 5 厘米边距默认值。此外,这应该适用于任何地方(偶数页和奇数页)。

\documentclass[twoside,openany]{book} 

\usepackage[paper=a4paper,margin=1in]{geometry}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{kantlipsum}

\definecolor{LightOcean}{RGB}{81, 147, 229 }
\definecolor{DeepOcean}{RGB}{51, 131, 229}

\begin{document}

\newgeometry{top=3cm,bottom=3cm,left=1.5cm,right=5cm,headsep=10pt}
\lipsum[1-6]

\begin{figure}
  \begin{tikzpicture}
    \draw (0,0) node[fill=LightOcean!10, text width=\textwidth, text justified, rectangle, draw=DeepOcean, thick, rounded corners=8pt, minimum height=6em]
      {\kant[2]};
  \end{tikzpicture}
  \caption{\kant[1]}
\end{figure}

\lipsum[3-10]

\end{document}

我在考虑用迷你页面来封装 ... 子迷你页面?但是如何告诉 tikzpicture 在哪里绘制框架?

提前谢谢了。

答案1

我认为tcolorbox这是一个比TikZ绘制框架(浮动或非浮动)更好的解决方案:

\documentclass[twoside,openany]{book} 

\usepackage[a4paper, vmargin={3cm, 3cm}, hmargin={1.5cm, 5cm}, headsep=10pt]{geometry}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{kantlipsum}
\usepackage[most]{tcolorbox}
\usepackage{multicol}

\definecolor{LightOcean}{RGB}{81, 147, 229 }
\definecolor{DeepOcean}{RGB}{51, 131, 229}

\newtcolorbox{mybox}[1][]{%
    float, 
    floatplacement=t,
    enhanced, 
    colback=LightOcean!10, 
    colframe=DeepOcean,
%   show bounding box,
    notitle,
    grow to right by=\marginparsep+\marginparwidth-15mm,
    toggle enlargement=evenpage,
    #1
}

\begin{document}


\lipsum[1-3]

\begin{mybox}
\begin{multicols}{2}
\kant[1]
\end{multicols}

\begin{minipage}[c]{.4\linewidth}
\centering
\includegraphics[width=.8\linewidth]{example-image-a}
\end{minipage}\hfill
\begin{minipage}[c]{.55\linewidth}
\kant[1]
\end{minipage}
\end{mybox}

\lipsum[3-6]

\begin{mybox}
\kant[2]
\end{mybox}

\end{document}

在此处输入图片描述

相关内容