我正在尝试使用背景页面将 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。
更新:看起来这仅是 XeLaTex 的问题。
答案1
不确定你的问题是什么,current page.#anchor
应该可以工作,使用你的代码,它对我有用。如果你只想放一个框架,那么你需要\draw
一个矩形,而不是一个\fill
。
如果您想更改它,我已经将其设置为矩形的厚度向中心增加。因此,矩形不会超出页面范围(您看到的浅灰色边框是应用程序中页面预览的一部分)。
错位xelatex
正如问题所解释的那样字体规格和背景,的内容background
在节点中。因此你有两个解决方案:
- 不要使用
background
。毕竟,您只需要在一页中使用这个,因此请将整个内容放在tikzpicture
一个名为 的新命令中\mycover
,然后将其添加到文档中。 - 使用
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}