我想创建一些文本,这些文本将位于图像的左侧。我的 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]
minipage 的参数:
\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
左侧\parindent
,一个单词间距,一个宽度的空格0.02\linewidth
,然后框之间再放一个单词间距。这可能总计为一个,也可能不总计,这\textwidth
取决于两个单词间距的拉伸和收缩。最好使用
\end{minipage}\hfill
\begin{minipage}
因为两个盒子之间只有一个可拉伸的空间。