解决方案背景包裹

解决方案背景包裹

我想将背景图像放在使用scrartcl类。目标 pdf 输出大小为 A4,正好是背景图像的大小(210mm x 297mm)。因此,图像应覆盖整个页面。

这是我迄今为止尝试过的:

\documentclass[11pt,ngerman,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[printwatermark]{xwatermark}
\newwatermark[allpages,picscale=1,picfile=./bg1,picfileext=png,picwidth=210mm,picheight=297mm,xpos=0,ypos=0]{}   
\begin{document}
    Hello World!
\end{document}

不幸的是我收到一条错误消息

包 atveryend 信息:输入行 11 上的钩子 `BeforeClearDocument' 为空。<./bg1.png, id=4, 597.432pt x 845.0772pt> 文件:./bg1.png 图形文件(类型 png)

包 pdftex.def 信息:./bg1.png 用于输入第 11 行。(pdftex.def)请求的大小:597.50662pt x 845.0455pt。

! 未定义的控制序列。\xwm@makedraftbox ...@begingroup \ttfamily \color {red}\Large (草稿模式)\c... l.11 \end{document}

结果看起来不太乐观

截屏

您知道可能存在什么问题吗?

这是我使用过的测试背景:

背景

答案1

我会推荐背景包。不可否认,这主要是因为我知道它基本上有效。(然而,事实证明,使用某物以外雙水印如果使用 KOMA 类。见下文。

解决方案背景包裹

例如:

\documentclass[11pt,ngerman,a4paper]{scrartcl}
\usepackage{background}
\backgroundsetup{
  contents={\includegraphics{bg1}},
  scale=1,
  angle=0
}
\begin{document}
    Hello World!
\end{document}

背景 背景图像

诊断和解决方案雙水印

如果你想继续使用雙水印事情有点复杂。第一点是,该包似乎需要但不加载颜色包。至少,如果没有它,我会出错,所以我添加了

\usepackage{xcolor}

根据手册(第 8 页):

对于图形/图片水印,您需要picfile(图形文件名,带有完整路径但不带有扩展名)、picfileext (图片文件扩展名不带点)、picbb(图片边界框)和picscale(图片比例)。

所以我想看看如果我只使用这些键设置水印会发生什么。由于不太清楚边界框应该是什么,我采用了默认值雙水印用途并使其明确化。

\usepackage[printwatermark]{xwatermark}
\newwatermark[allpages,picscale=1,picfile=./bg1,picfileext=png,picbb=0 0 100 100]{}

这让我们开始意识到问题可能出在哪里:

使用默认 bb 和最小设置的输出

毫不奇怪,如果我们使用

\newwatermark[allpages,picscale=1,picfile=./bg1,picfileext=png,]{}

并让包使用默认边界框。

因此,实际发生的情况是,该包使用的边界框仅捕获了图片的一小部分。尽管picscale=1告诉它不要缩放图像,但后面设置图像宽度和高度的选项会覆盖此设置,并且雙水印相应地缩放图像。也就是说,它会放大边界框内的图片小部分,0 0 100 100以便填充所需的区域。

因此,为了获得所需的输出,必须确定正确的边界框。

运行的输出pdflatex告诉我们图像尺寸为597.432pt x 845.0772pt。因此,一个不错的选择似乎是

\newwatermark[allpages,picscale=1,picfile=./bg1,picfileext=png,picbb=0 0 597.432pt 845.0772pt]{}

事实上,这给出了期望的结果:

带修正边界框的输出

完整代码:

\documentclass[11pt,ngerman,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[printwatermark]{xwatermark}
\newwatermark[allpages,picscale=1,picfile=./bg1,picfileext=png,picbb=0 0 597.432pt 845.0772pt]{}
\begin{document}
    Hello World!\newpage
    Bye-bye!
\end{document}

请注意使用雙水印使用 KOMA 类时会破坏某些功能,因为包会加载花式高清。KOMA 在控制台上就此发出了警告。

除非你需要雙水印因此,具体来说,最好使用背景解决方案或类似解决方案。该策略不仅更简单,而且据我所知,它还应该与 KOMA 完全兼容。

相关内容