我有一张图像(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};
您已经完成。