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:
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:
O que preciso fazer para obter o alinhamento vertical desejado?
Responder1
A razão é que as [t]
médias se alinham minipage
com 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:
Responder2
Você realmente não precisa da minipágina ao redor da imagem
\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\textwidth
com um \parindent
à esquerda e um espaço de palavra, um espaço de largura 0.02\linewidth
e outro espaço de palavra entre as caixas. Isso pode ou não totalizar um, \textwidth
dependendo 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.