tikz - 自定义页面尺寸、背景图像和居中文本

tikz - 自定义页面尺寸、背景图像和居中文本

我有一张图像(983x983 像素),我想将其用作独立文档的背景。然后我想在其上方居中添加文本。当我这样做时

\documentclass[border=0pt]{standalone}
\usepackage{graphicx}
\usepackage{tikz}
\pagestyle{empty}

\begin{document}
    \begin{tikzpicture}
        \node[inner sep=0pt,outer sep=0pt] at (0,0) {\includegraphics[width=983pt, height=983pt]{background.png}};
        \node at (100pt,100pt) {Content here};
    \end{tikzpicture}
\end{document}

图片完全适合页面,但文本明显没有居中。当我这样做时

\documentclass[border=0pt]{standalone}
\usepackage{graphicx}
\usepackage{tikz}
\pagestyle{empty}

\begin{document}
    \begin{tikzpicture}
        \node[inner sep=0pt,outer sep=0pt] at (0,0) {\includegraphics[width=983pt, height=983pt]{background.png}};
        \node at (491.5pt,491.5pt) {Content here};
    \end{tikzpicture}
\end{document}

图像不再适合页面,文本位于右上角(?)

答案1

这里 TikZ 中的默认设置对我们有利。

当你这样做

\node[inner sep=0pt,outer sep=0pt] at (0,0) {...};

内容将被放置在其垂直和水平中心处(0,0)(您可以使用它来anchor=...更改内容相对于点的放置方式。

因此,只需使用

\node at (0,0) {some contents};

它将位于图像的中心。

一般来说,命名节点很有用,然后我们可以引用该名称的各种属性

\node[inner sep=0pt,outer sep=0pt] (IMG) at (0,0) {...};
\node at (IMG.center) {some contents};

编辑:即使anchor=...设置为west(IMG)并且(IMG.center)仍然是该节点的垂直和水平中心。

假设您有一张圆形图像(已适当裁剪)并且想要在其后面添加一个稍大一点的圆形背景,那么此功能非常有用。

 \fill[blue] (0,0) circle (2cm);
 \node[...] at (0,0) {image};

您已经完成。

相关内容