我在创建新函数时遇到了一些问题。
我在另一个主题中找到了在页面上创建水印的方法,为了使我的工作更轻松,我创建了一个函数,当调用时,它会在我的工作表上插入水印。到目前为止,我有这个代码。
\usepackage{eso-pic}
\usepackage{rotating}
\usepackage{transparent}
\newcommand{\watermark}[1]{
\AddToShipoutPicture{
\put(0,0){
\parbox[b][\paperheight]{\paperwidth}{
\vfill
\centering
{\transparent{0.15}\fontsize{150pt}{1.5pt}\fontfamily{lmtt}\selectfont \begin{turn}{45} \textbf{#1}\end{turn}}
\vfill}}}
}
但是,我想进一步优化此命令,通过强制命令传递要显示的文本,并通过可选参数传递以下数据:“旋转、透明度和字体大小”。但我不知道如何创建包含所有这些可选和强制参数的命令。
先感谢您。
答案1
阅读@Cicada的回答和发给我的链接,我找到了我真正需要的东西。在这个关联我找到了一种使用所有参数创建命令的方法。我得到了这个:
\documentclass[a4paper]{article}
\usepackage{keyval}
\usepackage{eso-pic}
\usepackage{rotating}
\usepackage{transparent}
\makeatletter
\define@key{watermark}{fontsize}{\def\wm@fontsize{#1}}
\define@key{watermark}{transparency}{\def\wm@transparency{#1}}
\define@key{watermark}{align}{\def\wm@align{#1}}
\setkeys{watermark}{fontsize=100pt,transparency=0.15,align=45}%
\newcommand{\watermark}[2][]{
\setkeys{watermark}{#1}
\AddToShipoutPicture{
\put(0,0){
\parbox[b][\paperheight]{\paperwidth}{
\vfill
\centering
{\transparent{\wm@transparency}\fontsize{\wm@fontsize}{1.5pt}\fontfamily{lmtt}\selectfont \begin{turn}{\wm@align} \textbf{#2}\end{turn}}
\vfill}}}
}
\makeatother
\begin{document}
\watermark{DRAFT}
\end{document}
非常感谢您的关注。