Como também alinhar verticalmente imagens e textos alinhados horizontalmente **permitindo quebras de página**?

Como também alinhar verticalmente imagens e textos alinhados horizontalmente **permitindo quebras de página**?

Esta pergunta não pede trechos de código.
É pedir para descrever práticas gerais com palavras.

No TeX simples, gostaria de colocar uma imagem/caixa retangular à esquerda de algum pedaço de texto que seja processado no modo horizontal.

A linha limite superior da caixa retangular que contém a imagem deve estar alinhada verticalmente com a linha limite que indica a altura da primeira linha do texto. (Essa altura não é a altura de a, \strutboxmas depende do conteúdo da primeira linha. Pode ser a altura do limite, pode ser a altura x ou a soma da altura x e do ascendente de alguma letra, ou qualquer outra coisa. )

Horizontalmente deve haver um espaço de cerca de 1/3 polegada entre a linha limite direita da caixa que contém a imagem e a margem esquerda das linhas de texto.

Em qualquer caso, a imagem e o texto não devem ficar nas margens do documento.

Portanto, a largura do texto deve ser a largura de uma linha normal de texto diminuída pela largura do espaço horizontal (1/3 polegada) e diminuída pela largura da imagem.

Caso o texto ocupe mais espaço vertical do que a imagem, poderá ocorrer quebra de página com linhas de texto que, sem quebra de página, terminariam verticalmente abaixo da linha limite inferior da caixa retangular que contém a imagem.

Caso o texto ocupe menos espaço vertical que a imagem, deverá haver um espaço vertical abaixo do texto cujo comprimento é altura da imagem + profundidade da imagem - altura do texto - profundidade do texto.

Até agora considero a seguinte abordagem:

Coloque a imagem e a lacuna horizontal em uma caixa horizontal. Vamos chamar isso de imagebox.

Meça a largura da caixa de imagens.

Coloque o texto em um \vtopcujo valor \topskipseja 0pt e cujo \hsizeseja igual à diferença entre a largura da caixa de imagem e a largura de uma linha regular de texto.
Vamos chamar essa caixa de “caixa de texto intermediária”.

Atribua uma nova profundidade ao imagebox: Altura do imagebox + profundidade do imagebox - altura do textbox intermediário.
Atribua uma nova altura à caixa de imagem: A altura da "caixa de texto intermediária".

  • Caso 1: Caso a caixa de texto seja verticalmente maior que a caixa de imagem:

    Crie um "envolvente \vbox" cujo \hsizevalor seja igual à diferença entre a largura do imagebox e a largura de uma linha regular de texto e que \leftskipseja igual à largura do imagebox e cuja primeira linha comece com um \llap(levando \parindentem consideração) segurando um "interior \vbox" com no \topskip, contendo o imagebox e o salto vertical negativo (para cima) cujo comprimento é igual à profundidade do imagebox. Isso \llapé seguido pelo texto. \unvboxo entorno \vbox.

  • Caso 2: Caso a caixa de texto seja verticalmente menor que a caixa de imagem:

    Crie um "envolvente \vbox" cuja \hsizelargura seja igual à largura da caixa de imagem e que como primeira/única linha contenha a caixa de imagem e cuja primeira linha \rlapcontenha um "interno \vbox" com a "caixa de texto intermediária" seguida por um salto vertical negativo (para cima) cujo comprimento é igual a profundidade da caixa de texto intermediária".

Questões:

Caso de anúncio 1: Como garantir que a caixa de imagens não fique presa na margem inferior? É suficiente ter \llapdentro do "entorno \vbox" seguido por um salto vertical positivo (para baixo) cujo comprimento é igual à profundidade da caixa de imagem, seguido por uma diminuição significativa da penalidade, seguido por um salto vertical negativo (para cima) cujo comprimento também é igual ao profundidade da caixa de imagem?

Caso de anúncio 2: Tanto o “entorno \vbox” quanto o “interno \vbox” não são \unvboxeditados. Como você garante que a cola vertical no topo dessas caixas verticais seja combinada com a cola vertical no topo do "entorno \vbox", como se o "entorno \vbox" e o "interno \vbox" não estivessem lá?

informação relacionada