zref 和文本块的基线问题(西北与基线)

zref 和文本块的基线问题(西北与基线)

Zref 确实计算了 P1 西北的坐标(=“某些文本”的基线),在我的情况下约为(50 毫米,274 毫米)

在此处输入图片描述

因此,如果我在 Textblock 中用相同的坐标制作“uuuuuu”,它也会将“uuuuu”放在西北方向。那么基线就不一样了。结果似乎是偏移了。

我的简单问题:我如何强制 zref 和 textblock 与基线一起操作而不是西北?

\documentclass[12pt,oneside,german]{article}  
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[paperwidth=210 mm,paperheight=297 mm,left=50mm,top=20mm]{geometry} 
\usepackage[absolute,overlay]{textpos} 
\usepackage{zref-abspos}  
\usepackage{tcolorbox}  
%\tcbuselibrary{skins,breakable}


\topskip=0pt  
\setlength{\parindent}{0pt} % = global \noindent 
\renewcommand{\baselinestretch}{1.3} 

\newcommand{\myfunction}[1]{%
\zsavepos{P1}% Store the current position as #1
#1%
}

\makeatletter
\newcommand\dimtomm[1]{%
\strip@pt\dimexpr 0.351459804\dimexpr#1\relax\relax 
}
\makeatother

\textblockorigin{0mm}{297mm}
\begin{document}
some text

\myfunction{P1} 

\vspace*{5mm}
The coordinate of P1 is: (\dimtomm{\the\dimexpr \zposx{P1}sp \relax} mm,\dimtomm{\the\dimexpr \zposy{P1}sp \relax} mm)

\begin{textblock*}{\the\textwidth}(49.9994mm,-274.40306mm)%
    \textcolor{red}{uuuuuuu}
\end{textblock*} 

 

\end{document}

答案1

我在定义\noindent之前添加了一个,以便保存位置\zsavepos{P1}\myfunctionP1 开始一个新段落(这是通过代码中的第一个参数完成的\myfunction,并导致保存的位置位于对应的排版文本的基线之上#1)。

我还添加了[0,1]after\begin{textblock*}{\the\textwidth}以便垂直移动块继续uuuuuuu的高度(否则,它的左角位于P1的基线,而不是其左下角)。

\documentclass{article}
\usepackage{xcolor}
\usepackage[paperwidth=210 mm,paperheight=297 mm,left=50mm,top=20mm]{geometry}
\usepackage[absolute,overlay]{textpos}
\usepackage[savepos]{zref}

\topskip=0pt
\setlength{\parindent}{0pt} % = global \noindent
\renewcommand{\baselinestretch}{1.3}

\newcommand{\myfunction}[1]{%
  \noindent\zsavepos{P1}% Store the current position as #1
  #1%
}

\textblockorigin{0mm}{297mm}

\begin{document}
some text

\myfunction{P1}

\begin{textblock*}{\textwidth}[0,1](\zposx{P1}sp,-\zposy{P1}sp)%
  \textcolor{red}{uuuuuuu}
\end{textblock*}

% With multiline text
\begin{textblock*}{\textwidth}[0,1](\zposx{P1}sp,-\zposy{P1}sp)%
  \begin{minipage}[t]{\textwidth}
  \color{blue}... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  \end{minipage}
\end{textblock*}

\end{document}

在此处输入图片描述

相关内容