LaTeX 可以按毫米坐标放置文本吗?

LaTeX 可以按毫米坐标放置文本吗?

我的系统会生成 LaTex 信件和模板;但是,我的客户必须填写他们无法控制的预制表格。我希望通过测量以毫米为单位的坐标,然后以这些以毫米为单位的坐标作为起点来放置文本,从而填写这些表格。然后,我可以直接在现有的纸质表格上打印。

理想情况下,我希望 LaTeX 能够发挥以下作用:

\command{x coordinate}{y coordinate}{text1}\\
\command{x coordinate}{y coordinate}{text2}\\
\command{x coordinate}{y coordinate}{text3}\\
\command{x coordinate}{y coordinate}{text4}\\
\command{x coordinate}{y coordinate}{text5}\\
\command{x coordinate}{y coordinate}{text6}\\

如果客户表单发生变化,我只需更改坐标即可。这种方法可行吗?

答案1

一种使用 TikZ 的选项。所有距离均从纸张的左上角测量(可以轻松修改以选择另一个原点):

\documentclass{article}
\usepackage{tikz}

\newcommand\PlaceText[3]{%
\begin{tikzpicture}[remember picture,overlay]
\node[outer sep=0pt,inner sep=0pt,anchor=south west] 
  at ([xshift=#1,yshift=-#2]current page.north west) {#3};
\end{tikzpicture}%
}

\begin{document}

\PlaceText{20mm}{30mm}{First text}
\PlaceText{50mm}{30mm}{Second text}
\PlaceText{60mm}{70mm}{Third text}

\end{document}

在此处输入图片描述

答案2

textpos

\documentclass[a4paper]{article}
\usepackage[overlay,absolute]{textpos}
\newcommand\PlaceText[3]{%
\begin{textblock*}{10in}(#1,#2)  %% change width of box from 10in as you wish
#3
\end{textblock*}
}%
\textblockorigin{-5mm}{0mm}   %% Default origin top left corner and it can be changed in this line
\begin{document}
\PlaceText{0mm}{0mm}{Origin}
\PlaceText{20mm}{30mm}{First text}
\PlaceText{50mm}{30mm}{Second text}
\PlaceText{60mm}{70mm}{Third text}

\end{document}

在此处输入图片描述

相关内容