添加覆盖浮动对象的水印(图形、表格……但主要是表格)

添加覆盖浮动对象的水印(图形、表格……但主要是表格)

我想添加水印,例如“草稿”,但只能覆盖以及具体的图表。

环顾四周,我尝试使用该background包。在我的文档开头:

\usepackage[some]{background}
\SetBgScale{1}
\SetBgContents{\parbox{10cm}{%
  \Huge Draft:  \today\\[14cm]\rotatebox{180}{\Huge Draft:  \today}}}
\SetBgColor{gray}
\SetBgAngle{270}
\SetBgOpacity{0.2}

然后在table环境内部:

\begin{table}
\BgThispage
\small
\begin{center}
\begin{tabular}
[...]

但结果是水印出现在表格的前一页,而不是在同一页上。我尝试[H]在表格中添加该选项,希望强制使用 LaTeX,但没有成功。

然后我尝试使用该xwatermark软件包。虽然不是最佳选择,但它为我提供了在特定页面上应用水印的选项:

\usepackage[printwatermark]{xwatermark}
\newwatermark[pagex={178,179},fontfamily=bch,color=gray!25,angle=45,scale=3,12xpos=0,ypos=0]{DRAFT}

但是当我使用 PDFLatex、XeLatex 或 LuaLatex 进行编译时:

 ! Package ltxkeys Error: The above keys are undefined and couldn't be set.

对于图形,我有一个解决方法,就是在 Inkscape 中打开它们,然后直接在上面写上我的水印。但是对于表格,我没有这个选项。

你有解决方案吗?谢谢!

答案1

(太大,无法发表评论)

\tikzmark{}彩车内的 s 显示出希望:

tikzfloat

对 TikZ 更了解的人也许能够提供帮助。

平均能量损失

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
x
\newpage
xx 

\begin{figure}
\tikzmark{tmTL}
\begin{center}
\includegraphics{example-image-duck}
\tikzmark{tmBR}
\end{center}
\caption{Caption}
\label{fig:eg}
\end{figure}

Some text

\begin{table}
\begin{center}
\begin{tabular}{ccc}
\hline \\
\tikzmark{ttmTL} xxx & xxx & xxx \\
xxx & xxx & xxx \\
xxx & xxx & xxx\tikzmark{ttmBR}  \\
\hline \\
\end{tabular}
\caption{Caption}
\label{tab:eg}
\end{center}
\end{table}

\tikz[overlay,remember picture]\draw[->,red,thick] (pic cs:tmTL) to [edge label={\huge DRAFT}] (pic cs:tmBR) ;

\tikz[overlay,remember picture]\draw[->,red,thick,] (pic cs:ttmTL) to [edge label={\huge DRAFT}]  (pic cs:ttmBR) ;
\end{document}

答案2

它使用lrboxvarwidth来测量内容的大小、\llap叠加它并\resizebox缩放叠加的图像。

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{adjustbox}% for \resizebox
\usepackage{varwidth}

\newsavebox{\draftbox}
\savebox{\draftbox}{\color{red}\huge Draft}% create image for overlay

\newenvironment{draft}{\begin{lrbox}{0}\varwidth[b]{\linewidth}}%
  {\endvarwidth\end{lrbox}\usebox0
  \llap{\resizebox{\wd0}{\ht0}{\usebox\draftbox}}}

\begin{document}

\begin{figure}
\centering
\begin{draft}
\includegraphics{example-image-duck}
\caption{Caption}
\label{fig:eg}
\end{draft}
\end{figure}

Some text

\begin{table}
\centering
\begin{draft}
\begin{tabular}{ccc}
\hline \\
xxx & xxx & xxx \\
xxx & xxx & xxx \\
xxx & xxx & xxx \\
\hline \\
\end{tabular}
\caption{Caption}
\label{tab:eg}
\end{draft}
\end{table}
\end{document}

此版本使用整个宽度并将覆盖层放入背景中。请注意,\centering现在位于 内draft

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{adjustbox}% for \resizebox

\newsavebox{\draftbox}
\savebox{\draftbox}{\color{red}\huge Draft}% create image for overlay

\newenvironment{draft}{\begin{lrbox}{0}\minipage[b]{\linewidth}}%
  {\endminipage\end{lrbox}%
  \leavevmode\rlap{\resizebox{\wd0}{\ht0}{\usebox\draftbox}}\usebox0}

\begin{document}

\begin{figure}
\begin{draft}
\centering
\includegraphics{example-image-duck}
\caption{Caption}
\label{fig:eg}
\end{draft}
\end{figure}

Some text

\begin{table}
\begin{draft}
\centering
\begin{tabular}{ccc}
\hline \\
xxx & xxx & xxx \\
xxx & xxx & xxx \\
xxx & xxx & xxx \\
\hline \\
\end{tabular}
\caption{Caption}
\label{tab:eg}
\end{draft}
\end{table}
\end{document}

相关内容