Alinhamento vertical de minipáginas lado a lado

Alinhamento vertical de minipáginas lado a lado

Quero criar algum texto, que será posicionado no lado esquerdo de uma imagem. Meu código Latex é:

\begin{minipage}{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}{.3\linewidth}
\includegraphics[width=\linewidth]{test.png}
\end{minipage}

Isso me dá a seguinte saída:

insira a descrição da imagem aqui

No entanto, quero que a parte superior do texto fique alinhada com a parte superior da imagem. Portanto, tentei usar o [t]argumento com a minipágina:

\begin{minipage}[t]{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}[t]{.3\linewidth}
\includegraphics[width=\linewidth]{test.png}
\end{minipage}

No entanto, isso deu o seguinte resultado:

insira a descrição da imagem aqui

O que preciso fazer para obter o alinhamento vertical desejado?

Responder1

A razão é que as [t]médias se alinham minipagecom a primeira linha de base (superior). A linha de base da imagem está abaixo da imagem, que está perfeitamente alinhada com a primeira linha de base do texto. Vejo duas maneiras de consertar isso.

Adicione uma linha antes e remova o espaço vertical.

\begin{minipage}[t]{.6\linewidth}
  \lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}[t]{.3\linewidth}
  \strut\vspace*{-\baselineskip}\newline\includegraphics[width=\linewidth]{example-image}
\end{minipage}

Abaixe a imagem com todas as linhas, exceto uma.

\begin{minipage}[t]{.6\linewidth}
  \lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}[t]{.3\linewidth}
  \raisebox{-\height+0.7\baselineskip}{\includegraphics[width=\linewidth]{example-image}}
\end{minipage}

Ambos dão:

insira a descrição da imagem aqui

Responder2

Você realmente não precisa da minipágina ao redor da imagem

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{lipsum}
\usepackage[export]{adjustbox}
\usepackage{graphicx}
\begin{document}

\begin{minipage}[t]{.6\linewidth}
\lipsum[1]
\end{minipage}\hfill
\includegraphics[width=.3\linewidth,valign=t]{example-image}
\end{document}

Se você quiser colocar duas minipáginas em uma linha, é melhor não usar espaçamento aproximado, como

\begin{minipage}{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}{.3\linewidth}

que coloca caixas de largura .9\textwidthcom um \parindentà esquerda e um espaço de palavra, um espaço de largura 0.02\linewidthe outro espaço de palavra entre as caixas. Isso pode ou não totalizar um, \textwidthdependendo apenas da extensão e redução dos dois espaços de palavras. É melhor usar

\end{minipage}\hfill
\begin{minipage}

pois então há apenas um único espaço elástico entre as duas caixas.

informação relacionada