页面上的中心旋转 TikZ 水印

页面上的中心旋转 TikZ 水印

我正在尝试使用 TikZ 和 LaTeX 的钩子向文档添加水印。

我尝试通过改编@Skillmon 的代码来实现:https://tex.stackexchange.com/a/615832/181010

通过这样做,我得出了以下结论:

\documentclass{article}

\usepackage{tikz}

\AddToHook{shipout/foreground}{%
    \put(0.5\paperwidth,-0.5\paperheight){\mywatermark}%
}

\newcommand*\mywatermark{\usebox\mywatermarkbox}

\newsavebox\mywatermarkbox
\tikzset{mywatermark/.style={color=gray,
                             opacity=0.65,
                             rotate=#1,
                             font=\fontsize{60}{66}\selectfont\sffamily}}

\AtBeginDocument{%
    \sbox\mywatermarkbox{%
        \makebox[0pt]{\tikz\node[mywatermark=45]{GLOBAL MEGACORP};}%
    }%
}

\usepackage{duckuments}

\begin{document}
\duckument
\end{document}

但是,增加字体大小后,文本不再位于页面中央(见下图)。

MWE 首页

我该如何调整此代码以确保水印在页面上视觉居中?


我怀疑这个问题与旋转的点有关。我尝试使用rotate around键修改这个点,但无济于事。

答案1

tikz 创建的图片默认基线位于底部。因此,如果您旋转节点,基线将始终位于左下角。

您可以使用基线键更改基线:

\RequirePackage{fix-cm}
\documentclass{article}

\usepackage{tikz}

\AddToHook{shipout/foreground}{%
    \put(0.5\paperwidth,-0.5\paperheight){\mywatermark}%
}

\newcommand*\mywatermark{\usebox\mywatermarkbox}

\newsavebox\mywatermarkbox
\tikzset{mywatermark/.style={color=gray,
                             opacity=0.65,                             
                             rotate=#1,
                             font=\fontsize{60}{66}\selectfont\sffamily}}

\AtBeginDocument{%
    \sbox\mywatermarkbox{%
        \makebox[0pt]{\tikz[baseline=(wm.center)]\node[mywatermark=45](wm){GLOBAL MEGACORP};}%
    }%
}

\usepackage{duckuments}

\begin{document}
\duckument
\end{document}

在此处输入图片描述

相关内容