如何使用外部 SVG 图像生成页面内容周围的边框图案?

如何使用外部 SVG 图像生成页面内容周围的边框图案?

我想使用一个小型 SVG 花卉图案单元,就像下图中的那样(它只是一个原型,我还没有完成它的工作)在 LaTeX 中围绕我的页面内容创建边框:

花卉图案

显然,所提供图像中的图案也需要一些角点种类,以实现垂直和水平重复之间的过渡。

我应该使用什么包(如果有的话),以及如何使用给定的包实现这一点?我听说过很多关于 TiKZ 的事情,但我不确定它是否是实现这种结果的最简单方法。

只是为了确保我清楚,我想使用外部 SVG 图像,而不是通过 LaTeX 生成图案。

PS:SE 界面不允许我包含实际的 SVG 图像,因此这里是:https://mega.nz/file/A5tzTTzA#6dneLjLA-H24hc45MdoICEQOoAM7LKllWZ-jnGe1apU

答案1

对于以下答案,我以适合乳胶的文件格式保存了您的模式的单一报告,例如 pdf

在此处输入图片描述

然后我使用该tikzpagenodes包创建一个框架:

\documentclass{article}

\usepackage{lipsum} % just for the dummy text
\usepackage{tikzpagenodes}

\newcommand{\repx}{8}
\newcommand{\repy}{11}
\newlength{\patternheight}
\setlength{\patternheight}{1.5cm}
\newlength{\patternoverlapp}
\setlength{\patternoverlapp}{-0.15cm}

\newcommand{\pattern}{%
  \kern-\patternoverlapp%
  \foreach \foo in {1,...,\repetition}{%
    \kern\patternoverlapp%
    \includegraphics[
      width=\dimexpr-\patternoverlapp*(\repetition-1)/(\repetition)+\linewidth/\repetition\relax,
      height=\patternheight
    ]{pattern}%
  }%
}

\AddToHook{shipout/background}{
  \begin{tikzpicture}[remember picture, overlay,inner sep=0pt,outer sep=0pt]
  \node[anchor=south,text width=\textwidth+2*\patternheight] at (current page text area.north) {
    \let\repetition\repx
    \pattern
  };
  \node[anchor=south,rotate=90,text width=\textheight] at (current page text area.west) {
    \let\repetition\repy
    \pattern
  };
  \node[anchor=south,rotate=180,text width=\textwidth+2*\patternheight] at (current page text area.south) {
    \let\repetition\repx
    \pattern
  };    
  \node[anchor=south,rotate=270,text width=\textheight] at (current page text area.east) {
    \let\repetition\repy
    \pattern
  };       
    
  \end{tikzpicture}
}

\begin{document}

\lipsum

\end{document}

在此处输入图片描述

相关内容