我习惯\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)
但是我怎样才能将这些坐标传递给\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}