
画像(枠線で装飾)と逐語的テキストを水平に並べて配置しようとしています。これらは上部の枠線で揃え、間にいくらかのスペースが必要です。私は次のようにしています:
\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\tikz \node[draw=gray] {\includegraphics[width=2in]{foo.pdf}};
\hspace{1em}
\begin{minipage}[t]{.5\linewidth}\VerbatimInput{foo.tex}\end{minipage}
\end{document}
ただし、上境界線では揃えられません。
答え1
両方の要素のベースラインを変更する必要があります。
ベースラインは、画像がデフォルトで一番下にありますが、tikz
境界ボックスのベースラインまたはいずれかのノードを変更/移動するオプションがあります。例では、ベースラインを唯一のノードの上部アンカーに移動します。これが、追加の名前を使用する理由ですA
。画像のベースラインを変更することは、部分的な解決策にすぎません。
複数行テキストの上部配置は、minipage
[t]
その最初の行のベースラインに設定されます。 これは通常の場合ですが、ここではベースラインを の上端に設定しminipage
、\vspace{0pt}
上部に追加のアンカーを配置します。
ところで、あなたのコードを でコンパイルできなかったVerbatimInput{...}
ので、コメントしました。
\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage[nopar]{kantlipsum}
\begin{document}
\tikz[baseline=(A.north)] \node (A) [draw=gray] {\includegraphics[width=2in]{example-image}};%
\hspace{1em}%
\begin{minipage}[t]{.45\linewidth}%VerbatimInput{}
\vspace{0pt}\kant[1][1]
\end{minipage}
\end{document}
編集。に
例を追加しました(完全なコードは下記を参照)。yshift
baseline
さらに、グループを中央に配置したい場合は、追加のコードを追加します。
\begingroup
\centering
% tikz and the rest
\par
\endgroup
それ以外の場合は、ドキュメント クラスでインデントのない段落が定義されていない限り、\noindent
の前にを挿入してインデントを削除する必要があります。\tikz
完全なコード:
\documentclass{acmart}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage[nopar]{kantlipsum}
\begin{document}
\begingroup % <--- Those are required to centre the group
\centering % <---
\tikz[baseline={([yshift=-0.7\baselineskip]A.north)}]
\node (A) [draw=gray]
{\includegraphics[width=2in]{example-image}};%
\hspace{1em}%
\begin{minipage}[t]{.45\linewidth}
\kant[1][1]
\end{minipage}
\par % <---
\endgroup
\end{document}