画像の左側に配置されるテキストを作成したいと思います。私の 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
。画像のベースラインは画像の下にあり、テキストの最初のベースラインと完全に揃っています。これを修正する方法は 2 つあります。
前に行を追加し、垂直方向のスペースを削除します。
\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}
1 行を除いてすべての画像を下げます。
\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}
1行に2つのミニページを配置したい場合は、次のような近似間隔を使用しないことをお勧めします。
\begin{minipage}{.6\linewidth}
\lipsum[1]
\end{minipage}
\hspace{0.02\linewidth}
\begin{minipage}{.3\linewidth}
これは、幅のボックスを左側に置き.9\textwidth
、\parindent
1単語分のスペース、幅のスペース、そしてボックスの間にもう1単語分のスペースを配置します。これは、2つの単語スペースの伸縮によって、0.02\linewidth
合計が1になるか、1にならないかが決まります。\textwidth
\end{minipage}\hfill
\begin{minipage}
そうすると、2 つのボックスの間には伸縮性のあるスペースが 1 つだけ存在することになります。