backgroundsetup 和 tikzpicture 放置

backgroundsetup 和 tikzpicture 放置

我正在尝试使用背景页面将 tikzpicture 放在 (titlepage) 上。现在,如果我改为放置一些文本内容,它会按预期工作(在页面上居中)。但如果我使用 tikzpicture(带有示例矩形),它看起来 tikzpicture 的 0,0 坐标位于中心,而不是左上角。这不是一个大问题,除非使用页面进行定位(即 (current page.west) 不起作用)。我是否遗漏了一些显而易见的东西?我该如何在页面周围添加边框?

这是具有硬编码坐标的示例,该坐标将我的矩形置于页面的中心。

\documentclass[a4paper]{article}
\usepackage{geometry}
\usepackage{xcolor}
\usepackage{background}
\usepackage{tikz}
\usetikzlibrary{calc,matrix,shapes.geometric}
\usepackage{pgfmath,pgffor}

\definecolor{titlepagecolor} {cmyk}{0.6262,0.5157,0.4597,0.3977}

\backgroundsetup{
    placement=center,
    scale=1,
    angle=0,
    opacity=1,
    nodeanchor=center,
    contents={
        \begin{tikzpicture}[remember picture,overlay]
            \path [fill=titlepagecolor] (-5, -5) rectangle (5, 5);
        \end{tikzpicture}
    }
}
\makeatletter

\begin{document}
\begin{titlepage}
\BgThispage

%\phantom{wbweb}
\end{titlepage}
Hello
\end{document}

更新(我从@Alenanno 的代码中输出)。如果这很重要,我会在 Windows 上使用 TexStudio/XeLaText。 我从@Alenanno 的代码中输出

更新:看起来这仅是 XeLaTex 的问题。

答案1

不确定你的问题是什么,current page.#anchor应该可以工作,使用你的代码,它对我有用。如果你只想放一个框架,那么你需要\draw一个矩形,而不是一个\fill

如果您想更改它,我已经将其设置为矩形的厚度向中心增加。因此,矩形不会超出页面范围(您看到的浅灰色边框是应用程序中页面预览的一部分)。

错位xelatex

正如问题所解释的那样字体规格和背景,的内容background在节点中。因此你有两个解决方案:

  1. 不要使用background。毕竟,您只需要在一页中使用这个,因此请将整个内容放在tikzpicture一个名为 的新命令中\mycover,然后将其添加到文档中。
  2. 使用eso-pic包,虽然我从来没有使用过这个,所以你应该检查一下文档。

我认为第一个解决方案是最容易和最快采用的。

输出

在此处输入图片描述

代码

\documentclass[a4paper]{article}
\usepackage{geometry}
%\usepackage{xcolor}
%\usepackage{pgfmath,pgffor} % these two are not needed (i.e. already loaded) with your current setup
\usepackage{background}
\usepackage{lipsum} % for lorem ipsum
\usepackage{tikz}
\usetikzlibrary{calc,matrix,shapes.geometric}

\definecolor{titlepagecolor}{cmyk}{0.6262,0.5157,0.4597,0.3977}

\backgroundsetup{
    placement=center,
    scale=1,
    angle=0,
    opacity=1,
    nodeanchor=center,
    contents={
        \begin{tikzpicture}[remember picture,overlay]
            %\path [fill=titlepagecolor] (-5, -5) rectangle (5, 5);
            \draw[titlepagecolor, line width=1cm] 
                ($(current page.north west)+(.5\pgflinewidth,-.5\pgflinewidth)$) rectangle 
                ($(current page.south east)+(-.5\pgflinewidth,.5\pgflinewidth)$);
        \end{tikzpicture}
    }
}
\makeatletter

\begin{document}
\begin{titlepage}
\BgThispage

%\phantom{wbweb}
\end{titlepage}
\lipsum[1-6]
\end{document}

相关内容