如何将背景图片放在当前位置?

如何将背景图片放在当前位置?

我习惯\thiswatermark将图像放在段落的背景中,如下所示:

\thiswatermark{
   \put(100,-350){
       \transparent{0.1}
       \includegraphics[width=0.5\textwidth, height=75pt]{image.png}
   }
}

(100,-350)但是,我需要通过传递当前位置以动态方式执行此操作,而不是使用静态位置。我知道这\zsavepos{saved_pos}可以保存当前位置:

(\zposx{saved_pos}, \zposy{saved_pos})=(\the\dimexpr\zposx{saved_pos}sp, \the\dimexpr\zposy{saved_pos}sp)

当前位置坐标(x,y)

但是我怎样才能将这些坐标传递给\put(x,y)

答案1

我无法回答更一般的问题,即如何将数字放在您想要的位置。但对于如何将zpos信息传输给 的问题\put,您可以执行以下操作。

\documentclass{article}
\usepackage[savepos]{zref}
\usepackage{watermark,graphicx}
\makeatletter
\newcommand\strippt{\strip@pt}
\makeatother
\begin{document}
Here I\zsavepos{B} save a position

The location is (\zposx{B}, \zposy{B}).

(\the\dimexpr\zposx{B}sp, \the\dimexpr\zposy{B}sp)

(\the\dimexpr\zposx{B}sp, \the\dimexpr\paperheight-\dimexpr\zposy{B}sp)

\edef\tmp{%
  (\strippt\dimexpr\zposx{B}sp, \strippt\dimexpr\paperheight-\dimexpr\zposy{B}sp)}

\tmp

200x200 picture: \fbox{\begin{picture}(200,200)
 \expandafter\put\tmp{Put at \tmp}
\end{picture}}
\end{document}

在此处输入图片描述

答案2

这不是一个完美的解决方案,但您可以使用tcolorbox一些watermark graphic

价值请parindet参阅:tcolorbox 包中的缩进

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lmodern}
\usepackage{lipsum}

\newtcolorbox{mybox}{
    enhanced,
    breakable,
    notitle,
    watermark graphics=example-image,
    watermark opacity=.50,
    watermark zoom=1,
    blanker,
    before upper={\parindent15pt},
}

\begin{document}
\lipsum[1]

\begin{mybox}
\indent This is some text. \lipsum[2]
\end{mybox}

\lipsum[3]

\begin{mybox}
\lipsum[4-6]
\end{mybox}
\end{document}

在此处输入图片描述

相关内容