Я хочу создать текст, который будет располагаться слева от изображения. Мой код Latex:
\begin{minipage}{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}{.3\linewidth}
\includegraphics[width=\linewidth]{test.png}
\end{minipage}
Это дает мне следующий результат:
Однако я хочу, чтобы верх текста был выровнен с верхом картинки. Поэтому я попробовал использовать аргумент [t]
с мини-страницей:
\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}
Однако это дало следующий результат:
Что мне нужно сделать, чтобы получить желаемое вертикальное выравнивание?
решение1
Причина в том, что [t]
средства выравнивают minipage
с первой (верхней) базовой линией. Базовая линия для изображения находится под изображением, которое идеально выровнено с первой базовой линией текста. Я вижу два способа исправить это.
Добавьте строку вперед и удалите вертикальный пробел.
\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}
Опустите изображение со всеми строками, кроме одной.
\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}
Оба дают:
решение2
Вам на самом деле не нужна мини-страница вокруг изображения.
\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}
Если вы хотите разместить две мини-страницы на одной строке, лучше не использовать приблизительные интервалы, такие как
\begin{minipage}{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}{.3\linewidth}
который помещает блоки шириной .9\textwidth
с a \parindent
слева и одним пробелом между словами, пробелом шириной 0.02\linewidth
и еще одним пробелом между словами. Это может или не может быть в сумме единицей, \textwidth
просто в зависимости от растяжения и сжатия двух пробелов между словами. Лучше использовать
\end{minipage}\hfill
\begin{minipage}
так как тогда между двумя коробками останется только одно эластичное пространство.