
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 tikz
tiene 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 minipage
y, 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é.
\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 yshift
agregado 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 \noindent
antes \tikz
para 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}