
我試圖將圖像(用邊框裝飾)和逐字文字水平放置在一起。它們必須與頂部邊框對齊,並在它們之間留有一些空間。我正在這樣做:
\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}