¿Cómo posicionar una imagen horizontalmente al lado de una prueba textual, ambas alineadas por el borde superior?

¿Cómo posicionar una imagen horizontalmente al lado de una prueba textual, ambas alineadas por el borde superior?

Estoy intentando colocar una imagen (decorada con un borde) y un texto textual horizontalmente uno al lado del otro. Deben estar alineados por el borde superior y tener algo de espacio entre ellos. Estoy haciendo esto:

\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}

Sin embargo, no están alineados por el borde superior.

Respuesta1

Tienes que alterar las líneas de base de ambos elementos.

Una línea de base si una imagen está en la parte inferior de forma predeterminada pero tikztiene una opción para cambiar/mover la línea de base de su cuadro de límite o cualquiera de los nodos. En el ejemplo, muevo la línea base a un ancla superior del único nodo. Por eso uso un nombre adicional A. Modificar la línea base de una imagen es sólo una solución parcial.

La alineación superior de un minipage [t]texto que contiene varias líneas se establece en una línea base de su primera línea. Este suele ser el caso, pero aquí le gustaría que la línea de base se establezca en el borde superior del archivo minipagey, por lo tanto, \vspace{0pt}en un ancla adicional en la parte superior.

Por cierto, no pude compilar tu código VerbatimInput{...}, así que lo comenté.

ingrese la descripción de la imagen aquí

\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}

EDITAR.
Ejemplo yshiftagregado a baseline(consulte el código completo a continuación).

Además, si desea centrar el grupo, agregue un código adicional

\begingroup
  \centering
  % tikz and the rest
  \par
\endgroup

De lo contrario, es posible que desee insertar \noindentantes \tikzpara eliminar la sangría, a menos que su clase de documento defina párrafos sin sangría.

El código completo:

\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}

información relacionada