如何在LaTeX中生成带有指定方框内容的A1海报?

如何在LaTeX中生成带有指定方框内容的A1海报?

我对使用 LaTeX 还很陌生。我以前只用过这个软件来写简单的报告。我现在需要用 LaTeX 制作一张 A1 海报。我在 powerpoint 中制作了一张我想要的海报图片。我想要每个框中的内容;并且我希望内容保留在指定的框内。 我希望它看起来的样子

我想,我的问题是,这在 LaTeX 中可行吗?最简单的方法是什么?

有没有办法让我将这个特定的图像作为整个文档的背景图像,然后在其相关块中输入内容;并将块的大小固定为背景图像中的框的大小?(有点覆盖在图像之上。)或者,我可以为每个块添加框架;强制为某些块着色,为它们添加边框和背景图像?

到目前为止,我有一个包含块的文档,每个块中都有带框架的迷你标签。但这种方式会导致每个块中的迷你标签框架之间有很大间隙 我当前的 Latex 文档图片

多谢!

答案1

这样的盒子可以通过一个奇妙的包装grid轻松实现。tcbrastertcolorbox

定义一个tcbraster包含相关数据的环境(4 行,4 列),设置高度和最终间距)

定义一个专门\posterbox用于内容的命令,后台的数字可以用underlayandTikZ语句来实现。

彩色背景框可以通过预定义的特殊样式来实现。

\documentclass{article}

\usepackage{blindtext}
\usepackage[landscape,a1paper,margin=2cm]{geometry}

\usepackage[dvipsnames,x11names, svgnames]{xcolor}
\usepackage[most]{tcolorbox}

\tcbset{bluebox/.style={colback=DarkSlateGray1},whitebox/.style={colback=white}}

\newtcbox[auto counter]{\posterbox}[2][]{%
  fontupper={\LARGE\bfseries},
  enhanced jigsaw,
  sharp corners,
  colframe={blue},
  nobeforeafter,
  underlay={\node[scale=10,opacity=0.3] (A) at (interior) {\huge #2}; },
  whitebox,
  #1,
}





\begin{document}
\begin{tcbraster}[raster columns=4, raster equal height,raster column skip=2pt,raster height=\textheight, raster rows=4]
  \posterbox{1}{\blindtext} 
  \posterbox[bluebox]{2}{\blindtext} 
  \posterbox{3}{\blindtext} 
  \posterbox{4}{\blindtext} 
% 2nd row
  \posterbox{2}{\blindtext[2]} 
  \posterbox{3}{\blindtext} 
  \posterbox{4}{\blindtext} 
  \posterbox[bluebox]{1}{\blindtext} 
% 3rd row
  \posterbox{3}{\blindtext[3]} 
  \posterbox{4}{\blindtext} 
  \posterbox[bluebox]{1}{\blindtext} 
  \posterbox{2}{\blindtext} 
% 4th row
  \posterbox[bluebox]{4}{\blindtext} 
  \posterbox{3}{\blindtext} 
  \posterbox{2}{\blindtext} 
  \posterbox{1}{\blindtext} 
\end{tcbraster}
\end{document}

在此处输入图片描述

原始版本

\documentclass{article}

\usepackage{blindtext}
\usepackage[a0paper,margin=2cm]{geometry}

\usepackage[most]{tcolorbox}

\newtcbox[auto counter]{\posterbox}[1][]{%
  fontupper={\LARGE\bfseries},
  enhanced jigsaw,
  sharp corners,
  colback={white!90!yellow},
  colframe={blue},
  nobeforeafter,
  underlay={\node[scale=10,opacity=0.3] (A) at (interior) {\huge\thetcbcounter}; },
  #1
}


\begin{document}
\begin{tcbraster}[raster columns=4, raster equal height,raster column skip=2pt,raster height=\textheight, raster rows=4]
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
% 2nd row
  \posterbox[colback=yellow]{\blindtext[2]} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
% 3rd row
  \posterbox{\blindtext[3]} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
% 4th row
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
  \posterbox{\blindtext} 
\end{tcbraster}
\end{document}

在此处输入图片描述

相关内容