Tamaños de cuadro inesperados con `textpos`

Tamaños de cuadro inesperados con `textpos`

ACTUALIZARDesde entonces, publiqué un archivo de estilo LaTeX basado en los hallazgos a continuación, Posición absoluta CXLTX, parte del (incipiente)Colección de estilo CXLTX, lo que facilita la colocación precisa de frases breves en la página.solicitudes de extracción: ¡increíble!

Estoy intentando posicionar el texto al estilo CSS position: absolutey encontré elmensajes de textopaquete que básicamente funciona muy bien. en la documentación dicen (p4) que "el cuadro que está posicionado por el \textblockentorno se ajusta perfectamente al bloque de texto (u otro material) dentro de él", pero cuando lo intento

\documentclass[a5paper]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setlength{\parskip}{\baselineskip}
\setlength{\parindent}{0pt}

\usepackage[absolute]{textpos}
\setlength{\TPHorizModule}{0.1mm}
\setlength{\TPVertModule}{0.1mm}
\textblockorigin{0mm}{0mm}

% not needed, but makes for easier measuring:
\usepackage[top-left]{pagegrid}

\begin{document}

\TPshowboxestrue
\begin{textblock}{150}[1,0](500,000)\flushright helo\end{textblock}
\begin{textblock}{150}[1,0](500,200)\flushright world\end{textblock}
\begin{textblock}{150}[1,0](500,400)\flushright gX\end{textblock}
\begin{textblock}{150}[1,0](700,400)\flushright .\end{textblock}

\end{document}


\setlength{\parskip}{0pt}

\setlength{\parskip}{-\baselineskip}

lo que obtengo es

ingrese la descripción de la imagen aquí

entonces, mientras que los bordes derechos de las cajas están colocados correctamente en 500 (décimas de mm) y los bordes superiores como tales correctamente en 0, 200 y 400, respectivamente, y los bordes inferiores de las cajas se envuelven firmemente alrededor de los descensores como se anuncia. , las cajas todavía tienen 8 mm de alto. ¿Cómo puedo envolverlas como se anuncia?

Respuesta1

Ahora bien, esto fue fácil... a veces escribir una pregunta te lleva a resolver un problema. para el registro:

Había asumido incorrectamente que poner algo en un textpos textblockactuaría un poco como poner cosas en una página o en un minipage, es decir, los "saltos" de párrafo se eliminarían silenciosamente.

no tan.

primero, configurando

\setlength{\parskip}{0pt}

trajo una reducción de la altura de las cajas; entonces,

\setlength{\parskip}{-\baselineskip}

arrojó esto:

ingrese la descripción de la imagen aquí

lo cual es algo contrario a la intuición, quiero decir,ceroespacio entre párrafosdeberíaigual a 'cero espacios en blanco encima del párrafo', ¿no?

Notaen el mundo real, no querrás establecer \parskipglobalmente el valor sorprendente que se muestra aquí, sino hacer que aparezca localmente, dentro de los textblockentornos (y tal vez convertirlo en una nueva macro).

ActualizarComo seguimiento, he definido una macro útil que simplifica el posicionamiento absoluto del texto. aquí lo tienes:

\newdimen\textposstrutheight
\newdimen\textposstrutwidth
\newdimen\textposstrutdepth
\newdimen\textposstrutlength
\textposstrutwidth=0.5mm
\textposstrutheight=2.7mm
\textposstrutdepth=2.8mm
\textposstrutlength=\dimexpr\textposstrutheight+\textposstrutdepth
\newcommand{\textposstrut}{{\color{blue}\vrule height\textposstrutheight width\textposstrutwidth depth\textposstrutdepth}}

\newcommand{\placeflushright}[4]{%
  \begin{textblock}{#1}[1,0.5](#2,#3)\flushright{\textposstrut}#4\end{textblock}%
  }

ahora, cuando lo hagas

\begin{textblock}{150}[1,0.5](500,000)\flushright\textposstrut helo\end{textblock}
\begin{textblock}{150}[1,0.5](500,200)\flushright\textposstrut world\end{textblock}
\begin{textblock}{150}[1,0.5](500,400)\flushright\textposstrut gX\end{textblock}
\begin{textblock}{150}[1,0.5](700,400)\flushright\textposstrut .\end{textblock}

\placeflushright{150}{300}{400}{gX}

(dentro de la misma configuración del documento como se muestra en la pregunta anterior) obtienes

ingrese la descripción de la imagen aquí

donde el gXen la parte inferior izquierda demuestra que el texto se ha colocado correctamente (la línea de base del borde derecho del documento Xse ( 30mm, 40mm )mide desde el borde del documento).

tenga en cuenta que el puntal tal como se define aquí tiene un ancho visible a modo de demostración; Además, su altura y profundidad se han adaptado cuidadosamente para que coincidan con las dimensiones de fuente específicas utilizadas aquí; cuando cambia a otra fuente, es probable que ambas \textposstrutheighty - depthtengan que redefinirse.

información relacionada