
Esta pregunta no solicita fragmentos de código.
Se pide describir prácticas generales con palabras.
En TeX simple, me gustaría colocar una imagen/un cuadro rectangular a la izquierda de algún fragmento de texto que se procesa en modo horizontal.
La línea límite superior del cuadro rectangular que contiene la imagen debe estar alineada verticalmente con la línea límite que indica la altura de la primera línea del texto. (Esa altura no es la altura de a, \strutbox
pero depende del contenido de esa primera línea. Podría ser la altura de la tapa, podría ser la altura de x o la suma de la altura de x y el ascendente de alguna letra, o lo que sea. )
Horizontalmente debe haber un espacio de aproximadamente 1/3 de pulgada entre la línea límite derecha del cuadro que contiene la imagen y el margen izquierdo de las líneas de texto.
En cualquier caso, la imagen y el texto no deben pegarse en los márgenes del documento.
Por lo tanto, el ancho del texto debe ser el ancho de una línea normal de texto disminuido por el ancho del espacio horizontal (1/3 de pulgada) y disminuido por el ancho de la imagen.
En caso de que el texto ocupe más espacio vertical que la imagen, se pueden producir saltos de página con líneas de texto que, sin el salto de página, terminarían verticalmente debajo de la línea límite inferior del cuadro rectangular que contiene la imagen.
En caso de que el texto ocupe menos espacio vertical que la imagen, debe haber un espacio vertical debajo del texto cuya longitud sea altura de la imagen + profundidad de la imagen - altura del texto - profundidad del texto.
Por ahora considero el siguiente enfoque:
Coloque la imagen y el espacio horizontal en un cuadro horizontal. Llamemos a eso el imagebox
.
Mida el ancho del cuadro de imagen.
Coloque el texto en un \vtop
cuyo valor \topskip
sea 0pt y cuyo \hsize
sea igual a la diferencia entre el ancho del cuadro de imagen y el ancho de una línea de texto normal.
Llamemos a ese cuadro el "cuadro de texto intermedio".
Asigne al cuadro de imagen una nueva profundidad: altura del cuadro de imagen + profundidad del cuadro de imagen - altura del cuadro de texto intermedio.
Asigne al cuadro de imagen una nueva altura: la altura del "cuadro de texto intermedio".
Caso 1: En caso de que el cuadro de texto sea verticalmente más grande que el cuadro de imagen:
Cree un "alrededor
\vbox
" cuyo\hsize
sea igual a la diferencia del ancho del cuadro de imagen y el ancho de una línea normal de texto y que\leftskip
sea igual al ancho del cuadro de imagen y cuya primera línea comience con\llap
(teniendo\parindent
en cuenta) que contiene un "interior\vbox
" con no\topskip
, que contiene el cuadro de imagen y el salto vertical negativo (hacia arriba) cuya longitud es igual a la profundidad del cuadro de imagen. A esto\llap
le sigue el texto.\unvbox
El alrededor\vbox
.Caso 2: En caso de que el cuadro de texto sea verticalmente más pequeño que el cuadro de imagen:
Cree un "alrededor
\vbox
" cuyo\hsize
igual al ancho del cuadro de imagen y que como primera/única línea contenga el cuadro de imagen y cuya primera línea\rlap
contenga un "interior\vbox
" con el "cuadro de texto intermedio" seguido de un salto vertical negativo (hacia arriba) cuya longitud sea igual la profundidad del cuadro de texto intermedio".
Preguntas:
Caso publicitario 1: ¿Cómo se puede garantizar que el cuadro de imagen no se pegue al margen inferior? ¿Es suficiente tener \llap
dentro del "alrededor \vbox
" seguido de un salto vertical positivo (hacia abajo) cuya longitud sea igual a la profundidad del cuadro de imagen, seguido de una disminución significativa de la penalización, seguido de un salto vertical negativo (hacia arriba) cuya longitud también sea igual al profundidad del cuadro de imagen?
Anuncio Caso 2: Tanto el "alrededor \vbox
" como el "interior \vbox
" no están \unvbox
ed. ¿Cómo se asegura de que el pegamento vertical en la parte superior de estas cajas verticales se combine con el pegamento vertical encima del "alrededor \vbox
" como si el "alrededor \vbox
" y el "interior \vbox
" no estuvieran allí?