将一些文本放置在精确的 x、y 位置

将一些文本放置在精确的 x、y 位置

我有一个页面,其中已经具有非常精确的布局,其中包含许多框:文本、图形(PNG)等。

在不改变当前布局且不改变任何可能影响下一页的内容的情况下,我想添加一个具有精确位置的文本框,内容如下:

\positiontextbox{3cm}{10cm}{Hello}    %  3 cm from left border of paper
                                      % 10 cm from top border of paper

这将是 HTML/CSS 的 LaTeX 等效版本#mytextbox { position: fixed; left: 20px; top: 100px; }

如何在 LaTeX 中做到这一点?

答案1

随着 TiZ节点current page.north west,可以将一些内容精确地放置在相对于页面左上角的指定位置上。

\documentclass{article}
\usepackage[a4paper,lmargin=3cm]{geometry}

\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{showframe}

\newcommand{\positiontextbox}[4][]{%
  \begin{tikzpicture}[remember picture,overlay]
%    \draw[step=0.5,gray!80!white] (current page.north west) grid (current page.south east); % For controlling
    \node[inner sep=10pt,right, fill=yellow,draw,line width=1pt,#1] at ($(current page.north west) + (#2,-#3)$) {#4};
  \end{tikzpicture}%
}

\usepackage{blindtext}

\begin{document}
\blindtext[2]

\positiontextbox{3cm}{10cm}{Hello}

\positiontextbox[fill=green]{14cm}{5cm}{Hello World}


\end{document}

在此处输入图片描述

具有请求的圆圈的版本(换行来自一个非常有用的提示Torbjørn T.

\documentclass{article}
\usepackage[a4paper,lmargin=3cm]{geometry}

\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{showframe}

\newcommand{\positiontextbox}[4][]{%
  \begin{tikzpicture}[remember picture,overlay]
%    \draw[step=0.5,gray!80!white] (current page.north west) grid (current page.south east); % For controlling
    \node[align=left,circle,inner sep=5pt,right, fill=white,draw,#1] at ($(current page.north west) + (#2,-#3)$) {#4};
  \end{tikzpicture}%
}

\usepackage{blindtext}

\begin{document}
\blindtext[2]

\positiontextbox{3cm}{10cm}{Hello}

\positiontextbox[fill=green]{14cm}{5cm}{Hello\\ World}
\end{document}

在此处输入图片描述

相关内容